:root{--blue:#236bd1;--blue2:#0d416f;--teal:#21bfa3;--bg:#f4f8fb;--card:#fff;--line:#dfe8ef;--text:#17324a;--muted:#6c8295;--danger:#d94b55;--warning:#e3a02f;--success:#2ca36a;--shadow:0 16px 44px rgba(37,80,112,.12);font-family:Inter,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.login-shell{min-height:100vh;display:grid;grid-template-rows:1fr auto;background:radial-gradient(circle at 10% 90%,#d9efff 0,transparent 30%),radial-gradient(circle at 6% 5%,#e4f1ff 0,transparent 24%),linear-gradient(135deg,#fbfdff,#eef7fc)}.login-main{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;max-width:1180px;width:92%;margin:auto;padding:40px 0}.cisam-block{display:flex;align-items:center;gap:22px}.cisam-block img{width:118px}.cisam-name{font-size:56px;line-height:.95;font-weight:800;color:#2366b1;letter-spacing:-2px}.cisam-sub{margin-top:12px;font-size:15px;font-weight:800;letter-spacing:.07em}.cisam-sub .red{color:#dc5052}.cisam-sub .blue{color:#2366b1}.login-card{background:#fff;border-radius:28px;padding:38px;box-shadow:0 25px 80px rgba(41,96,143,.18);border:1px solid #edf3f8}.login-lock{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#e9f3ff;color:var(--blue);font-size:26px}.login-card h1{margin:18px 0 6px;font-size:31px;color:#153d63}.login-card p{margin:0 0 26px;color:#788b9d}.field{display:grid;gap:7px;margin-bottom:15px}.field label{font-size:13px;font-weight:800;color:#315874}.input,.select,.textarea{width:100%;border:1px solid #dbe6ee;background:#fbfdff;border-radius:11px;padding:11px 13px;outline:none;transition:.15s}.input:focus,.select:focus,.textarea:focus{border-color:#6ba3e8;box-shadow:0 0 0 3px rgba(63,132,216,.12)}.textarea{min-height:96px;resize:vertical}.login-options{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:7px 0 18px}.check{display:flex;align-items:center;gap:8px}.link{color:var(--blue);text-decoration:none}.btn{border:0;border-radius:10px;padding:10px 15px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#2d78db,#1c5fb7);color:#fff;box-shadow:0 8px 20px rgba(35,107,209,.2)}.btn-secondary{background:#eaf2f8;color:#244f71}.btn-success{background:#e3f6ed;color:#1d8153}.btn-danger{background:#fae9eb;color:#b93440}.btn-warning{background:#fff2dc;color:#9b6515}.btn-dark{background:#173b58;color:#fff}.btn-outline{background:#fff;border:1px solid #d5e1e9;color:#315873}.btn-sm{padding:7px 10px;font-size:12px}.login-btn{width:100%;padding:13px;font-size:15px}.login-demo{margin-top:16px;padding:12px;border-radius:12px;background:#f3f8fc;font-size:12px;color:#587187;line-height:1.55}.login-footer{border-top:2px solid #9fc9f2;padding:18px 6%;display:flex;justify-content:center;gap:28px;align-items:center;background:rgba(255,255,255,.65)}.dev-text{font-size:12px;color:#5f778b}.footer-brand{display:flex;align-items:center;gap:10px;border-left:1px solid #cbd9e4;padding-left:28px}.footer-brand img{width:42px}.footer-brand strong{font-size:20px;color:#173b58}.footer-brand em{font-style:normal;color:#2681c7}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:linear-gradient(180deg,#123955,#0d2e47);color:#fff;padding:20px 14px;position:sticky;top:0;height:100vh;overflow:auto}.side-brand strong{font-size:22px}.side-brand span{color:#5cd4c0}.nav-section{font-size:10px;color:#8fb2c9;font-weight:800;letter-spacing:.14em;padding:15px 10px 7px}.nav-item{display:flex;gap:10px;align-items:center;color:#dceaf3;text-decoration:none;padding:10px;border-radius:10px;margin:3px 0;font-size:13px}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.1);color:#fff}.nav-icon{width:22px;text-align:center}.main{min-width:0}.topbar{height:70px;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:8}.topbar h2{font-size:18px;margin:0}.userbox{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e8f2fb;color:#2a6ba6;font-weight:800}.content{padding:24px;max-width:1500px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.page-head h1{margin:0;font-size:26px;color:#183e5e}.page-head p{margin:5px 0 0;color:var(--muted)}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(41,79,106,.06)}.stat .label{font-size:12px;color:var(--muted);font-weight:750}.stat .value{font-size:34px;font-weight:850;margin-top:8px}.stat .hint{font-size:11px;color:#8ba0b1;margin-top:4px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(41,79,106,.06);overflow:hidden}.card-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;align-items:center}.card-head h3{margin:0;font-size:15px}.card-body{padding:18px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{text-align:left;color:#587289;background:#f7fafc;padding:11px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:11px;border-bottom:1px solid #eef2f5;vertical-align:middle}.table tr:hover td{background:#fbfdff}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;background:#edf3f7;color:#47657c}.risk-blue{background:#e4f1ff;color:#1c65ad}.risk-green{background:#e6f7ed;color:#25804e}.risk-yellow{background:#fff6d7;color:#8c6b0d}.risk-orange{background:#fff0dd;color:#a45f09}.risk-red{background:#fde7e9;color:#aa2f3b}.status-open{background:#e8f3fd;color:#27689b}.status-done{background:#e4f6ec;color:#207c4d}.status-wait{background:#fff4dd;color:#956819}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.col-2{grid-column:span 2}.tabs{display:flex;gap:5px;flex-wrap:wrap;padding:8px;background:#eef4f8;border-radius:12px;margin-bottom:16px}.tab{padding:9px 12px;border-radius:9px;border:0;background:transparent;color:#47657c;font-size:12px;font-weight:750}.tab.active{background:#fff;color:#1f67ad;box-shadow:0 3px 11px rgba(36,76,105,.12)}.patient-strip{display:flex;justify-content:space-between;gap:16px;align-items:center;background:linear-gradient(135deg,#173e5f,#215c88);color:#fff;border-radius:16px;padding:16px 18px;margin-bottom:16px}.patient-strip h3{margin:0 0 5px}.patient-strip .muted{color:#c6dae8}.vitals{display:flex;gap:8px;flex-wrap:wrap}.vital{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);padding:8px 10px;border-radius:9px;font-size:11px}.empty{padding:30px;text-align:center;color:#8295a4}.modal-bg{position:fixed;inset:0;background:rgba(6,27,42,.55);display:grid;place-items:center;padding:20px;z-index:30}.modal{background:#fff;width:min(860px,96vw);max-height:92vh;overflow:auto;border-radius:18px;box-shadow:0 35px 100px rgba(0,0,0,.3)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-body{padding:20px}.modal-foot{padding:15px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;right:20px;bottom:20px;background:#173b58;color:#fff;padding:12px 16px;border-radius:11px;box-shadow:var(--shadow);z-index:50;font-size:13px}.quick-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quick-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;text-decoration:none;color:inherit;transition:.15s}.quick-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.quick-card .qicon{font-size:24px}.quick-card strong{display:block;margin-top:12px}.quick-card span{font-size:12px;color:var(--muted)}.prescription{border:1px dashed #bdd0de;border-radius:12px;padding:14px;margin-bottom:10px}.prescription strong{font-size:13px}.timeline{display:grid;gap:12px}.timeline-item{border-left:3px solid #7aaae0;padding:4px 0 4px 14px}.timeline-item .time{font-size:11px;color:var(--muted)}.alert{padding:12px 14px;border-radius:12px;font-size:12px;background:#edf6ff;color:#2b628f;border:1px solid #d6e9fa}.danger-note{background:#fff0f1;color:#a63c45;border-color:#f4d4d7}.kbd{padding:2px 5px;border-radius:4px;background:#e7eef4;font-size:11px}.section-title{font-size:13px;font-weight:850;margin:4px 0 12px;color:#234e70}.right{text-align:right}.w-100{width:100%}@media(max-width:1000px){.app-shell{grid-template-columns:76px 1fr}.sidebar{padding:16px 8px}.side-brand strong,.side-brand span,.nav-item .nav-text,.nav-section{display:none}.side-brand{justify-content:center}.nav-item{justify-content:center}.grid-4,.quick-cards{grid-template-columns:repeat(2,1fr)}.login-main{grid-template-columns:1fr;gap:30px}.cisam-block{justify-content:center}.login-card{max-width:520px;width:100%;margin:auto}}@media(max-width:700px){.content{padding:15px}.grid-4,.grid-3,.grid-2,.quick-cards{grid-template-columns:1fr}.form-grid{display:block}.form-grid>.field{margin-bottom:12px}.patient-strip{align-items:flex-start;flex-direction:column}.topbar{padding:0 15px}.page-head{flex-direction:column}.cisam-name{font-size:43px}.cisam-block img{width:86px}.login-card{padding:25px}.login-footer{flex-direction:column;gap:10px}.footer-brand{border-left:0;padding-left:0}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;display:flex;overflow:auto}.side-brand{display:none}.nav-item{min-width:48px}.main{min-width:100%}}
@media print{.sidebar,.topbar,.page-head .actions,.btn,.tabs{display:none!important}.app-shell{display:block}.content{padding:0}.card{box-shadow:none;border:0}.patient-strip{color:#000;background:#fff;border:1px solid #ddd}}

/* Login institucional — reprodução fiel do layout Azul Profissional escolhido */
.login-shell{position:relative;overflow:hidden;min-height:100vh;display:grid;grid-template-rows:1fr auto;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 45%,#eef6fd 100%)}
.login-shell:before{content:"";position:absolute;left:-7vw;top:-9vh;width:48vw;height:34vh;border-radius:50%;border:2px solid rgba(56,132,209,.11);box-shadow:0 18px 0 rgba(56,132,209,.04),0 36px 0 rgba(56,132,209,.035),0 54px 0 rgba(56,132,209,.03);transform:rotate(-18deg);pointer-events:none}
.login-shell:after{content:"";position:absolute;left:-8vw;bottom:-17vh;width:62vw;height:45vh;border-radius:50%;background:radial-gradient(ellipse at 50% 45%,rgba(155,211,249,.36),rgba(212,235,251,.18) 46%,transparent 70%);transform:rotate(8deg);pointer-events:none}
.login-wave{position:absolute;pointer-events:none;opacity:.52}.login-wave-top{right:-80px;top:36px;width:280px;height:280px;border:1px solid rgba(73,149,219,.09);border-radius:50%}.login-wave-bottom{left:16%;bottom:72px;width:210px;height:80px;background:radial-gradient(circle,rgba(58,137,211,.12) 1.4px,transparent 1.6px);background-size:13px 13px;opacity:.18}
.login-main{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:86px;max-width:1260px;width:91%;margin:auto;padding:64px 0 52px}
.cisam-side{display:flex;align-items:center;min-height:420px;padding-left:22px}.cisam-block{display:flex;align-items:center;gap:28px;transform:translateY(-8px)}.cisam-block img{width:154px;height:154px;filter:drop-shadow(0 8px 18px rgba(30,90,150,.08))}.cisam-copy{min-width:390px}.cisam-name{font-size:72px;line-height:.92;font-weight:800;color:#2366b1;letter-spacing:-3px}.cisam-sub{margin-top:16px;font-size:17px;line-height:1.35;font-weight:800;letter-spacing:.055em}.cisam-sub .red{color:#d94b4e}.cisam-sub .blue{color:#2366b1;font-size:18px;letter-spacing:.12em}
.login-card{width:min(430px,100%);justify-self:end;background:#fff;border-radius:24px;padding:34px 38px 32px;box-shadow:0 22px 70px rgba(39,92,137,.17);border:1px solid rgba(216,230,241,.8)}
.login-lock{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin-bottom:16px;background:#eaf4ff;color:#2b75c8;font-size:27px;font-weight:800}.login-card h1{margin:0 0 7px;font-size:30px;line-height:1.1;color:#173d61}.login-card>p{margin:0 0 24px;color:#7a8ea1;font-size:14px}.login-field{margin-bottom:14px}.login-field label{font-size:12px;color:#315874;margin-left:1px}.input-wrap{position:relative}.input-wrap .input{height:44px;padding:10px 14px 10px 41px;border-radius:10px;background:#fbfdff}.input-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);z-index:2;font-size:14px;opacity:.48}.login-options{font-size:12px;margin:4px 0 17px}.login-options input{accent-color:#2a73c7}.login-btn{height:45px;padding:0 17px;border-radius:10px;background:linear-gradient(90deg,#2c78d6,#2368bb);box-shadow:0 9px 19px rgba(35,107,209,.2);justify-content:space-between}.login-demo{margin-top:14px;padding:10px 12px;border-radius:10px;background:#f6f9fc;border:1px solid #edf2f6;font-size:10.5px;color:#70869a;line-height:1.5}.login-demo strong{color:#4f6c85}
.login-footer{position:relative;z-index:1;min-height:90px;border-top:2px solid #8fc0ee;padding:15px 6%;display:flex;justify-content:center;gap:28px;align-items:center;background:rgba(255,255,255,.84);backdrop-filter:blur(8px)}.dev-text{display:flex;align-items:center;gap:10px;font-size:11px;line-height:1.4;color:#5e7689}.dev-lock{width:30px;height:30px;border:1px solid #bdd3e6;border-radius:8px;display:grid;place-items:center;color:#477ca8}.footer-divider{width:1px;height:43px;background:#cad8e4}.footer-brand{display:flex;align-items:center;gap:11px;border-left:0;padding-left:0}.footer-brand img{width:45px;height:45px}.prontsync-word{font-size:21px;line-height:1;font-weight:800;letter-spacing:-.5px}.prontsync-word strong{color:#183d5c}.prontsync-word em{font-style:normal;color:#2782c8}.footer-tagline{font-size:9.5px;color:#6f8596;margin-top:5px;letter-spacing:.015em}
@media(max-width:1000px){.login-main{grid-template-columns:1fr;gap:18px;padding:40px 0}.cisam-side{min-height:auto;justify-content:center;padding-left:0}.cisam-block{transform:none}.cisam-block img{width:116px;height:116px}.cisam-name{font-size:58px}.cisam-copy{min-width:0}.login-card{justify-self:center}.login-shell:after{width:95vw}.login-footer{flex-wrap:wrap}}
@media(max-width:700px){.login-main{width:90%;padding:28px 0 34px}.cisam-block{gap:16px}.cisam-block img{width:80px;height:80px}.cisam-name{font-size:42px;letter-spacing:-2px}.cisam-sub{font-size:10px;margin-top:8px}.cisam-sub .blue{font-size:11px}.login-card{padding:27px 24px}.login-footer{gap:12px;padding:14px 20px}.footer-divider{display:none}}

/* v1.3 — login reproduzido diretamente da arte aprovada pelo usuário */
.login-approved-shell{min-height:100vh;background:#f7faff;display:flex;align-items:center;justify-content:center;overflow:auto}
.login-approved-canvas{position:relative;container-type:inline-size;width:min(100vw,calc(100vh * 1.3330078125));aspect-ratio:1365/1024;background:#fff url('../img/login-layout-approved.png') center/100% 100% no-repeat;box-shadow:0 0 0 1px rgba(20,70,120,.03)}
.login-approved-form{position:absolute;inset:0;margin:0;padding:0}
.approved-input{position:absolute;left:54.68%;width:27.33%;height:4.58%;border:1px solid #c8d8e8;border-radius:1.05cqw;background:#fff;color:#5e6871;padding:0 3.2%;font-family:"Segoe UI",Arial,sans-serif;font-size:1.18cqw;outline:none;box-shadow:none}
.approved-input:focus{border-color:#6f9ed1;box-shadow:0 0 0 .18cqw rgba(46,111,194,.10)}
.approved-user{top:44.53%}
.approved-pass{top:52.54%}
.approved-input::placeholder{color:#808993;opacity:1}
.approved-remember{position:absolute;left:54.72%;top:59.43%;width:2.1%;height:2.1%;cursor:pointer}
.approved-remember input{position:absolute;opacity:0;pointer-events:none}
.approved-remember span{position:absolute;inset:0;border:1px solid #6d8baa;border-radius:.13cqw;background:#fff}
.approved-remember input:checked+span:after{content:"";position:absolute;left:26%;top:4%;width:34%;height:60%;border-right:.16cqw solid #256ac2;border-bottom:.16cqw solid #256ac2;transform:rotate(42deg)}
.approved-login-button{position:absolute;left:54.68%;top:63.77%;width:27.33%;height:4.48%;border:0;border-radius:.72cqw;background:transparent;cursor:pointer}
.approved-login-button:hover{background:rgba(31,101,205,.055)}
.approved-login-button:focus{outline:.18cqw solid rgba(36,104,197,.28);outline-offset:.12cqw}
.approved-test-hint{position:absolute;left:54.68%;top:70.5%;width:27.33%;text-align:center;font:500 .72cqw/1.2 "Segoe UI",Arial,sans-serif;color:#6f8296;opacity:.72}
@media(max-aspect-ratio:4/3){.login-approved-canvas{width:100vw;height:auto}.login-approved-shell{align-items:flex-start}}
@media(max-width:720px){.approved-test-hint{font-size:1.5cqw}.approved-input{font-size:2.2cqw}}

/* v1.4 — layout aprovado reconstruído em HTML/CSS, sem screenshot de fundo */
.login-v14{--lv-blue:#0755c7;--lv-navy:#062d70;position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(116deg,#fff 0%,#fcfdff 57%,#f7faff 100%);display:grid;grid-template-rows:minmax(0,1fr) 168px;font-family:"Segoe UI",Arial,sans-serif;color:#0b2d66}
.login-v14-main{position:relative;z-index:3;width:min(1020px,82vw);margin:0 auto;display:grid;grid-template-columns:1fr 440px;gap:92px;align-items:center;padding:56px 0 36px}
.login-v14-brand{display:flex;align-items:center;justify-content:center;transform:translate(-12px,38px)}
.login-v14-brand img{display:block;width:min(330px,31vw);height:auto;object-fit:contain}
.login-v14-card{justify-self:end;width:440px;background:rgba(255,255,255,.98);border:1px solid rgba(225,232,241,.8);border-radius:22px;padding:31px 35px 34px;box-shadow:0 18px 48px rgba(30,70,110,.11);transform:translateY(12px)}
.login-v14-lock{width:65px;height:65px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#eaf2ff;color:#0a5ecf;font-size:28px;line-height:1}
.login-v14-card h1{text-align:center;margin:0;color:#072f76;font-size:27px;font-weight:800;letter-spacing:-.45px}
.login-v14-card>p{text-align:center;margin:7px 0 25px;color:#526c95;font-size:13px}
.login-v14-form>label{display:block;margin:0 0 7px;color:#072f76;font-size:12.5px;font-weight:750}
.login-v14-inputwrap{position:relative;margin-bottom:15px}
.login-v14-inputwrap>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#476f9f;font-size:19px;opacity:.85;pointer-events:none}
.login-v14-inputwrap input{display:block;width:100%;height:45px;border:1px solid #c9d7e6;border-radius:9px;background:#fff;padding:0 44px 0 45px;outline:0;color:#384b62;font-size:14px;transition:.15s}
.login-v14-inputwrap input::placeholder{color:#7d8792}.login-v14-inputwrap input:focus{border-color:#71a0d5;box-shadow:0 0 0 3px rgba(46,112,194,.08)}
.login-v14-eye{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:32px;height:32px;padding:0;border:0;background:transparent;color:#315d94;font-size:15px;display:grid;place-items:center}
.login-v14-options{display:flex;align-items:center;justify-content:space-between;margin:2px 0 23px;font-size:12px}.login-v14-check{display:flex;align-items:center;gap:7px;color:#24466f}.login-v14-check input{width:15px;height:15px;accent-color:#0c5cca}.login-v14-options a{color:#005dcc;text-decoration:none;font-weight:500}
.login-v14-submit{width:100%;height:45px;border:0;border-radius:8px;background:linear-gradient(90deg,#075bd6 0%,#064cb8 100%);color:#fff;font-weight:750;font-size:14px;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 8px 16px rgba(0,82,190,.13)}.login-v14-submit b{position:absolute;right:20px;font-size:24px;font-weight:300;top:7px}.login-v14-submit:hover{filter:brightness(1.04)}
.login-v14-demo{text-align:center;margin-top:11px;color:#8190a3;font-size:10px;opacity:.75}
.login-v14-footer{position:relative;z-index:4;border-top:2px solid #0e68da;background:rgba(255,255,255,.96);display:flex;align-items:center;justify-content:center;gap:38px;padding:22px 40px 20px}
.login-v14-dev{display:flex;align-items:center;gap:14px;color:#123d74;font-size:12px;line-height:1.55;min-width:275px}.login-v14-devicon{width:30px;height:30px;display:grid;place-items:center;color:#0b4c9d;font-size:25px}.login-v14-divider{width:1px;height:50px;background:#cbd4df}.login-v14-prontsync{width:300px;height:auto;display:block;object-fit:contain}
.login-v14-toplines{position:absolute;z-index:1;left:-36px;top:-34px;width:390px;height:310px;transform:rotate(-25deg);opacity:.78}.login-v14-toplines i{position:absolute;inset:0;border:1px solid rgba(20,109,225,.17);border-radius:45%}.login-v14-toplines i:nth-child(2){inset:18px}.login-v14-toplines i:nth-child(3){inset:36px}.login-v14-toplines i:nth-child(4){inset:54px}.login-v14-toplines i:nth-child(5){inset:72px}.login-v14-toplines i:nth-child(6){inset:90px}
.login-v14-bottomwaves{position:absolute;z-index:1;left:-145px;bottom:118px;width:820px;height:330px;transform:rotate(7deg);opacity:.88}.login-v14-bottomwaves i{position:absolute;left:0;bottom:-110px;width:880px;height:330px;border-radius:45% 55% 0 0;background:linear-gradient(180deg,rgba(230,241,255,.56),rgba(181,211,251,.36))}.login-v14-bottomwaves i:nth-child(2){left:-35px;bottom:-147px;opacity:.78;background:linear-gradient(180deg,rgba(218,234,255,.55),rgba(160,197,247,.30))}.login-v14-bottomwaves i:nth-child(3){left:-90px;bottom:-185px;opacity:.55;background:linear-gradient(180deg,rgba(203,225,255,.62),rgba(131,181,246,.27))}
@media(max-width:950px){.login-v14{grid-template-rows:1fr 140px}.login-v14-main{width:90vw;grid-template-columns:1fr;gap:18px;padding:32px 0}.login-v14-brand{transform:none}.login-v14-brand img{width:270px}.login-v14-card{justify-self:center;transform:none}.login-v14-footer{gap:20px}.login-v14-prontsync{width:250px}}
@media(max-width:600px){.login-v14{grid-template-rows:1fr auto}.login-v14-main{padding:22px 0}.login-v14-brand img{width:220px}.login-v14-card{width:min(420px,94vw);padding:28px 24px}.login-v14-footer{flex-direction:column;gap:11px;padding:18px}.login-v14-divider{display:none}.login-v14-dev{min-width:0}.login-v14-prontsync{width:260px}.login-v14-bottomwaves{opacity:.38}.login-v14-toplines{opacity:.35}}


/* Login CISAM — layout de referência 17/08/2026 */
.login-v14{--lv-blue:#087ce9;--lv-navy:#082f72;min-height:100vh;grid-template-rows:minmax(0,1fr) 108px;background:radial-gradient(circle at 14% 19%,rgba(144,181,255,.50),transparent 35%),radial-gradient(circle at 88% 20%,rgba(168,239,205,.55),transparent 34%),linear-gradient(112deg,#f7fbff 0%,#f9fdff 48%,#f4fff9 100%)}
.login-v14-main{width:min(1100px,84vw);grid-template-columns:1fr 410px;gap:92px;padding:38px 0 24px;align-items:center}
.login-v14-brand{transform:translate(-10px,14px)}
.login-v14-logo-frame{width:390px;height:220px;display:flex;align-items:center;justify-content:center;background:transparent;overflow:visible}
.login-v14-logo-frame img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;filter:none!important;opacity:1!important;background:transparent!important}
.login-v14-card{width:410px;border-radius:22px;padding:25px 30px 28px;transform:none;border:1px solid rgba(255,255,255,.86);box-shadow:0 18px 42px rgba(30,73,105,.10)}
.login-v14-lock{width:58px;height:58px;margin-bottom:13px;background:linear-gradient(135deg,#d9f6e6,#d9eaff);color:#12a49d;font-size:25px}
.login-v14-card h1{font-size:25px}.login-v14-card>p{font-size:12.5px;margin:6px 0 22px}
.login-v14-form>label{font-size:12px;margin-bottom:6px}.login-v14-inputwrap{margin-bottom:13px}.login-v14-inputwrap input{height:43px;font-size:13.5px;border-radius:8px}
.login-v14-options{margin:2px 0 18px;font-size:11.5px}.login-v14-submit{height:43px;border-radius:8px;background:linear-gradient(90deg,#0788ee 0%,#22c77a 100%);font-size:13.5px}.login-v14-demo{display:none}
.login-v14-footer{height:108px;padding:14px 40px;border-top:1.5px solid transparent;border-image:linear-gradient(90deg,#178ff0,#25c878) 1;background:rgba(255,255,255,.62);gap:34px}.login-v14-dev{min-width:260px;font-size:11px}.login-v14-divider{height:44px}.login-v14-prontsync{width:235px}
.login-v14-toplines{left:-54px;top:-48px;width:330px;height:250px;transform:rotate(-24deg);opacity:.68}.login-v14-toplines i{border-color:rgba(255,255,255,.65)}
.login-v14:after{content:"";position:absolute;right:-55px;top:-45px;width:310px;height:235px;border:1px solid rgba(255,255,255,.52);border-radius:45%;box-shadow:inset 0 0 0 18px transparent;pointer-events:none}
.login-v14-bottomwaves{left:-175px;bottom:54px;width:760px;height:300px;opacity:.95}.login-v14-bottomwaves i{background:linear-gradient(180deg,rgba(134,202,255,.42),rgba(83,169,246,.56))}.login-v14-bottomwaves i:nth-child(2){background:linear-gradient(180deg,rgba(141,220,248,.43),rgba(82,190,220,.45))}.login-v14-bottomwaves i:nth-child(3){background:linear-gradient(180deg,rgba(185,236,245,.46),rgba(108,205,214,.34))}
.logo-admin-grid{display:grid;grid-template-columns:310px 1fr;gap:22px;align-items:center}.logo-admin-preview{width:310px;height:170px;border:1px dashed #bfd0dc;border-radius:14px;background:linear-gradient(45deg,#f5f7f9 25%,transparent 25%),linear-gradient(-45deg,#f5f7f9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f5f7f9 75%),linear-gradient(-45deg,transparent 75%,#f5f7f9 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;display:flex;align-items:center;justify-content:center;padding:12px}.logo-admin-preview img{width:100%;height:100%;object-fit:contain}.btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:950px){.login-v14-main{width:92vw;grid-template-columns:1fr;gap:8px;padding:22px 0}.login-v14-logo-frame{width:300px;height:150px}.login-v14-card{justify-self:center}.login-v14-footer{height:auto}.logo-admin-grid{grid-template-columns:1fr}.logo-admin-preview{width:min(310px,100%)}}

/* Refinamento do rodapé e identidade visual - 17/08/2026 */
.login-v14-footer{border-top:0!important;position:relative!important;gap:28px!important;padding:14px 40px!important;box-shadow:inset 0 1px 0 rgba(20,125,220,.12)}
.login-v14-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#188ff0 0%,#20b8d5 52%,#2ac77d 100%)}
.login-v14-dev{min-width:0!important;width:auto!important;white-space:nowrap!important;line-height:1.2!important;gap:12px!important}
.login-v14-divider{height:40px!important;margin:0 4px!important;background:#d5dee8!important}
.login-v14-prontsync{width:220px!important;height:58px!important;object-fit:contain!important;object-position:center!important}
.logo-admin-preview.prontsync-preview img{max-width:100%;max-height:100%;object-fit:contain}
.side-brand img{object-fit:contain!important}
@media(max-width:700px){.login-v14-dev{white-space:normal!important;text-align:center}.login-v14-footer{gap:12px!important}}

/* =========================================================
   LOGIN + IDENTIDADE VISUAL — layout aprovado 17/08/2026
   ========================================================= */
.login-v14{
  min-height:100vh!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) 88px!important;
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 8% 8%,rgba(132,172,252,.54) 0,rgba(132,172,252,.28) 17%,transparent 39%),
    radial-gradient(circle at 91% 12%,rgba(162,238,201,.52) 0,rgba(162,238,201,.24) 18%,transparent 38%),
    linear-gradient(112deg,#f6fbff 0%,#fbfdff 51%,#f5fff9 100%)!important;
  color:#0a2f70!important;
}
.login-v14-main{
  width:min(1110px,84vw)!important;
  margin:0 auto!important;
  padding:34px 0 24px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 410px!important;
  gap:86px!important;
  align-items:center!important;
  position:relative!important;
  z-index:3!important;
}
.login-v14-brand{display:flex!important;align-items:center!important;justify-content:center!important;transform:none!important}
.login-v14-logo-frame{
  width:405px!important;height:235px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;background:transparent!important;overflow:hidden!important;
}
.login-v14-logo-frame img{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;background:transparent!important;filter:none!important;opacity:1!important;
}
.login-v14-card{
  width:410px!important;justify-self:end!important;background:rgba(255,255,255,.965)!important;
  border:1px solid rgba(255,255,255,.94)!important;border-radius:24px!important;
  padding:26px 31px 29px!important;box-shadow:0 22px 52px rgba(40,76,105,.105)!important;transform:none!important;
}
.login-v14-lock{
  width:58px!important;height:58px!important;margin:0 auto 12px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;background:linear-gradient(135deg,#dff7e9 0%,#dbeaff 100%)!important;
  color:#10a7a0!important;
}
.login-v14-lock svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-v14-card h1{margin:0!important;text-align:center!important;font-size:25.5px!important;line-height:1.18!important;font-weight:800!important;letter-spacing:-.4px!important;color:#0a2f70!important}
.login-v14-card>p{margin:6px 0 23px!important;text-align:center!important;font-size:12.4px!important;color:#526d97!important}
.login-v14-form>label{display:block!important;margin:0 0 6px!important;font-size:11.8px!important;font-weight:800!important;color:#092e70!important}
.login-v14-inputwrap{position:relative!important;margin-bottom:13px!important}
.login-v14-inputwrap>span{position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;width:18px!important;height:18px!important;color:#5577a9!important;opacity:.92!important;pointer-events:none!important}
.login-v14-inputwrap>span svg,.login-v14-eye svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.login-v14-inputwrap input{
  width:100%!important;height:43px!important;border:1px solid #cfdae7!important;border-radius:8px!important;background:#fff!important;
  padding:0 43px 0 45px!important;font-size:13.4px!important;color:#34475d!important;outline:0!important;
}
.login-v14-inputwrap input::placeholder{color:#818a96!important}.login-v14-inputwrap input:focus{border-color:#7ea8d8!important;box-shadow:0 0 0 3px rgba(47,111,194,.07)!important}
.login-v14-eye{right:12px!important;width:19px!important;height:19px!important;padding:0!important;color:#42699c!important;background:transparent!important}
.login-v14-options{display:flex!important;align-items:center!important;justify-content:space-between!important;margin:2px 0 18px!important;font-size:11.5px!important}
.login-v14-check{gap:7px!important;color:#244670!important}.login-v14-check input{width:15px!important;height:15px!important;accent-color:#157fea!important}
.login-v14-options a{color:#0068dd!important;font-weight:500!important;text-decoration:none!important}
.login-v14-submit{
  width:100%!important;height:43px!important;border:0!important;border-radius:8px!important;
  background:linear-gradient(90deg,#0a88ef 0%,#16aebf 55%,#27c779 100%)!important;color:#fff!important;
  font-size:13.7px!important;font-weight:800!important;box-shadow:0 8px 17px rgba(22,155,173,.18)!important;
}
.login-v14-submit b{right:17px!important;top:6px!important;font-size:23px!important}.login-v14-demo{display:none!important}

/* Ornamentos */
.login-v14-toplines{left:-64px!important;top:-68px!important;width:345px!important;height:270px!important;transform:rotate(-25deg)!important;opacity:.68!important}
.login-v14-toplines i{border-color:rgba(255,255,255,.75)!important}
.login-v14::after{content:""!important;position:absolute!important;right:-75px!important;top:-76px!important;width:330px!important;height:260px!important;border:1px solid rgba(255,255,255,.58)!important;border-radius:45%!important;box-shadow:0 0 0 17px rgba(255,255,255,.035),0 0 0 34px rgba(255,255,255,.03),0 0 0 51px rgba(255,255,255,.025)!important;pointer-events:none!important}
.login-v14-bottomwaves{left:-170px!important;bottom:42px!important;width:770px!important;height:300px!important;opacity:.96!important;transform:rotate(5deg)!important}
.login-v14-bottomwaves i{background:linear-gradient(180deg,rgba(126,195,255,.44),rgba(69,157,242,.60))!important}
.login-v14-bottomwaves i:nth-child(2){background:linear-gradient(180deg,rgba(143,218,247,.42),rgba(73,188,220,.48))!important}
.login-v14-bottomwaves i:nth-child(3){background:linear-gradient(180deg,rgba(193,238,245,.46),rgba(99,203,214,.34))!important}

/* Rodapé fiel ao mockup aprovado */
.login-v14-footer{
  height:88px!important;position:relative!important;z-index:5!important;display:flex!important;align-items:center!important;justify-content:center!important;
  border:0!important;background:rgba(255,255,255,.68)!important;padding:0 32px!important;box-shadow:none!important;
}
.login-v14-footer::before{content:""!important;position:absolute!important;left:0!important;right:0!important;top:0!important;height:1.5px!important;background:linear-gradient(90deg,#168ef0 0%,#1eb5d1 51%,#26c878 100%)!important}
.login-v14-footer-inner{height:100%;display:flex;align-items:center;justify-content:center;gap:30px;width:min(730px,92vw)}
.login-v14-dev{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;width:auto!important;white-space:nowrap!important;color:#123d75!important;font-size:11.3px!important;line-height:1!important}
.login-v14-devicon{width:30px!important;height:30px!important;display:grid!important;place-items:center!important;color:#0d4f9f!important}
.login-v14-devicon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-v14-divider{width:1px!important;height:40px!important;background:#d3dce6!important;margin:0!important}
.login-v14-prontsync-frame{width:235px!important;height:58px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:transparent!important}
.login-v14-prontsync{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important;filter:none!important;opacity:1!important}

/* Admin — identidade visual como no layout aprovado */
.brand-admin-section{margin-top:18px;background:transparent}
.brand-admin-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 12px;padding:2px 2px}
.brand-admin-title h2{margin:0;color:#153d63;font-size:19px}.brand-admin-title p{margin:4px 0 0;color:#71869a;font-size:12.5px}
.brand-admin-row{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.25fr);gap:14px;margin-bottom:14px}
.brand-admin-preview-card,.brand-admin-control-card{background:#fff;border:1px solid #dde7ef;border-radius:14px;box-shadow:0 7px 22px rgba(42,76,101,.055);padding:17px 18px}
.brand-admin-preview-card>strong,.brand-admin-control-card>strong{display:block;color:#1a4569;font-size:13px;margin-bottom:3px}.brand-admin-preview-card>span,.brand-admin-control-card>span{display:block;color:#7a8d9d;font-size:11.5px;margin-bottom:11px}
.logo-admin-preview{width:100%!important;height:150px!important;border:0!important;border-radius:10px!important;padding:14px!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#fbfcfd!important;background-image:linear-gradient(45deg,#f0f3f5 25%,transparent 25%),linear-gradient(-45deg,#f0f3f5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0f3f5 75%),linear-gradient(-45deg,transparent 75%,#f0f3f5 75%)!important;background-size:18px 18px!important;background-position:0 0,0 9px,9px -9px,-9px 0!important}
.logo-admin-preview img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important;filter:none!important;opacity:1!important}
.logo-admin-preview.prontsync-preview{height:135px!important}.brand-file-field{margin:4px 0 10px!important}.brand-file-field label{font-size:10.5px!important}.brand-file-field input{height:40px!important;padding:7px 10px!important;background:#fbfdff!important}
.brand-admin-tip{padding:10px 12px;border-radius:8px;background:#eafaf0;color:#286d4a;font-size:10.8px;line-height:1.35;margin:8px 0 12px}
.brand-admin-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.brand-admin-actions .btn{min-width:145px}

@media(max-width:950px){
  .login-v14{grid-template-rows:minmax(0,1fr) auto!important}.login-v14-main{width:92vw!important;grid-template-columns:1fr!important;gap:4px!important;padding:22px 0!important}.login-v14-logo-frame{width:300px!important;height:150px!important}.login-v14-card{justify-self:center!important}.login-v14-footer{height:auto!important;padding:15px 20px!important}.brand-admin-row{grid-template-columns:1fr!important}.login-v14-footer-inner{flex-wrap:wrap;gap:14px}.login-v14-dev{white-space:normal!important;text-align:center!important}
}


/* =========================================================
   ProntSync 17-08-2026 — Login neutro + Identidade Visual v3
   ========================================================= */
.login-v14{
  min-height:100vh!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  overflow:hidden!important;
  background-color:#fff!important;
  /* background-image/position/size são definidos pelo administrador no atributo style */
}
/* Nenhum ornamento estrutural fixo: o fundo pertence 100% ao background escolhido */
.login-v14-toplines,.login-v14-bottomwaves{display:none!important}
.login-v14::before,.login-v14::after{content:none!important;display:none!important}
.login-v14-main{background:transparent!important}
.login-v14-footer{background:rgba(255,255,255,.76)!important;backdrop-filter:blur(5px)}

/* Temas: somente detalhes da interface, nunca desenham o background */
.login-v14{--login-accent:#288be9;--login-accent2:#20bfa2;--login-soft:#e9f3ff;--login-title:#0a2f70}
.login-v14.theme-green{--login-accent:#24a968;--login-accent2:#5fc85d;--login-soft:#e7f7ed;--login-title:#195b45}
.login-v14.theme-orange{--login-accent:#ee8735;--login-accent2:#f2b13c;--login-soft:#fff0e2;--login-title:#7b481f}
.login-v14.theme-yellow{--login-accent:#d9af16;--login-accent2:#f0c93b;--login-soft:#fff8d9;--login-title:#6c5911}
.login-v14.theme-purple{--login-accent:#8065d8;--login-accent2:#aa70dc;--login-soft:#f0eafd;--login-title:#503d91}
.login-v14.theme-pink{--login-accent:#df5b96;--login-accent2:#ef8eb2;--login-soft:#fdeaf2;--login-title:#8d365e}
.login-v14-lock{background:var(--login-soft)!important;color:var(--login-accent)!important}
.login-v14-card h1{color:var(--login-title)!important}
.login-v14-options a{color:var(--login-accent)!important}
.login-v14-check input{accent-color:var(--login-accent)!important}
.login-v14-submit{background:linear-gradient(90deg,var(--login-accent),var(--login-accent2))!important}
.login-v14-footer::before{background:linear-gradient(90deg,var(--login-accent),var(--login-accent2))!important}

/* Admin compacto e profissional — conteúdo sempre dentro da coluna principal */
.content:has(.visual-admin-panel){max-width:none!important;padding:16px 20px!important}
.admin-compact-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin-bottom:10px}
.admin-mini-card{border-radius:12px!important;box-shadow:0 4px 14px rgba(37,72,98,.045)!important}
.admin-mini-card .card-head{padding:10px 13px!important}.admin-mini-card .card-body{padding:10px 13px!important}
.admin-mini-card .card-head h3{font-size:13px!important}.admin-inline-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.admin-file-btn{position:relative;overflow:hidden}.admin-call-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-call-row .field{margin-bottom:6px!important}.admin-call-row .field label{font-size:9px!important}.admin-call-row .select{height:33px!important;padding:5px 8px!important;font-size:11px!important}
.visual-admin-panel{background:#f8fafc;border:1px solid #dce6ee;border-radius:15px;padding:12px;margin:0 0 10px;box-shadow:0 8px 24px rgba(34,69,95,.045);max-width:100%;overflow:hidden}
.visual-admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;padding:0 2px}
.visual-admin-head h2{font-size:17px;margin:0;color:#173f61}.visual-admin-head p{font-size:11px;margin:2px 0 0;color:#71869a}
.visual-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.visual-card{min-width:0;background:#fff;border:1px solid #dde7ef;border-radius:12px;padding:11px;box-shadow:0 3px 12px rgba(38,75,101,.04)}
.visual-card-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:7px}.visual-card-head strong{font-size:12px;color:#1d496c}.visual-card-head span{font-size:9.5px;color:#8496a5;text-align:right}
.visual-preview{height:74px;border:1px solid #e2e9ef;border-radius:8px;background:#fbfcfd;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:7px}
.visual-preview.logo-preview{background-color:#fbfcfd;background-image:linear-gradient(45deg,#f0f2f4 25%,transparent 25%),linear-gradient(-45deg,#f0f2f4 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0f2f4 75%),linear-gradient(-45deg,transparent 75%,#f0f2f4 75%);background-size:14px 14px;background-position:0 0,0 7px,7px -7px,-7px 0}
.visual-preview img{width:100%;height:100%;object-fit:contain;object-position:center;background:transparent;padding:5px}
.visual-preview.prontsync-preview img{padding:9px 18px}
.background-preview{height:92px!important;background-color:#fff!important;background-position:bottom center;background-size:contain;background-repeat:no-repeat}
.background-preview:not(.has-image)::after{content:'Fundo branco';font-size:11px;color:#8394a3}
.compact-file{height:34px!important;padding:5px 7px!important;font-size:10px!important;margin:0!important}
.visual-controls{display:grid;gap:6px}.visual-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin-top:7px}.visual-actions .btn{min-width:0!important;padding:6px 9px!important;font-size:10px!important}
.bg-settings{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.bg-settings label{font-size:9px;font-weight:800;color:#536f84}.bg-settings .select{display:block;width:100%;height:31px;margin-top:3px;padding:4px 7px;font-size:10px}.scale-control{grid-column:1/-1;display:grid!important;grid-template-columns:auto 38px 1fr;align-items:center;gap:6px}.scale-control input{width:100%}.scale-control b{text-align:right;color:#315d7d}
.theme-card{display:flex;flex-direction:column}.theme-swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}.theme-swatch{height:34px;border:1px solid #dce6ee;background:#fff;border-radius:8px;display:flex;align-items:center;gap:6px;padding:5px 7px;font-size:10px;color:#435f74}.theme-swatch i{width:17px;height:17px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 2px rgba(255,255,255,.65)}.theme-swatch.active{border-color:var(--swatch);box-shadow:0 0 0 2px color-mix(in srgb,var(--swatch) 20%,transparent);font-weight:800}.theme-note{font-size:9.5px;line-height:1.3;color:#71869a;background:#f6f8fa;border-radius:7px;padding:7px;margin-top:auto}
.admin-danger-card{margin:0!important;border:1px solid #f1c6c6!important;border-radius:12px!important}.admin-danger-card .card-body{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 12px!important}.admin-danger-card strong{display:block;color:#a53d42;font-size:11px}.admin-danger-card span{display:block;color:#8a9aa6;font-size:9.5px;margin-top:2px}
@media(max-width:1100px){.visual-admin-grid{grid-template-columns:1fr}.admin-compact-grid{grid-template-columns:1fr}.content:has(.visual-admin-panel){padding:14px!important}.visual-card-head{display:block}.visual-card-head span{display:block;text-align:left;margin-top:2px}}


/* =========================================================
   ProntSync — Tema global em todas as páginas
   A tonalidade escolhida pelo administrador altera o chrome
   visual do sistema. Cores clínicas de risco são configuradas
   separadamente pelo Administrador.
   ========================================================= */
.app-shell{
  --app-primary:#2d78db;
  --app-primary2:#1c5fb7;
  --app-accent:#21bfa3;
  --app-dark:#123955;
  --app-dark2:#0d2e47;
  --app-soft:#e8f2fb;
  --app-soft2:#f4f8fb;
  --app-line:#dfe8ef;
  --app-title:#183e5e;
  --app-shadow:rgba(35,107,209,.18);
  --blue:var(--app-primary);
  --blue2:var(--app-dark);
  --teal:var(--app-accent);
  --bg:var(--app-soft2);
  --line:var(--app-line);
}
.app-shell.theme-green{--app-primary:#2aa56a;--app-primary2:#1f8254;--app-accent:#69c979;--app-dark:#174d3b;--app-dark2:#103a2d;--app-soft:#e7f6ed;--app-soft2:#f4fbf7;--app-line:#d9ebe0;--app-title:#1d5b45;--app-shadow:rgba(42,165,106,.18)}
.app-shell.theme-orange{--app-primary:#eb8739;--app-primary2:#cf6725;--app-accent:#f0b54a;--app-dark:#6d421f;--app-dark2:#513017;--app-soft:#fff0e4;--app-soft2:#fff9f4;--app-line:#f0e0d3;--app-title:#75451f;--app-shadow:rgba(235,135,57,.18)}
.app-shell.theme-yellow{--app-primary:#cfa716;--app-primary2:#a98508;--app-accent:#ebca47;--app-dark:#665715;--app-dark2:#4e4210;--app-soft:#fff7d9;--app-soft2:#fffdf4;--app-line:#eee7ca;--app-title:#665513;--app-shadow:rgba(207,167,22,.18)}
.app-shell.theme-purple{--app-primary:#8065d8;--app-primary2:#664bbd;--app-accent:#ae77dc;--app-dark:#493876;--app-dark2:#352956;--app-soft:#f0eafd;--app-soft2:#faf8ff;--app-line:#e5def3;--app-title:#503d91;--app-shadow:rgba(128,101,216,.18)}
.app-shell.theme-pink{--app-primary:#df5b96;--app-primary2:#c9447f;--app-accent:#ef8eb2;--app-dark:#763454;--app-dark2:#58243d;--app-soft:#fdeaf2;--app-soft2:#fff8fb;--app-line:#f0dce5;--app-title:#8d365e;--app-shadow:rgba(223,91,150,.18)}

.app-shell{background:var(--app-soft2)!important}
.app-shell .sidebar{background:linear-gradient(180deg,var(--app-dark),var(--app-dark2))!important}
.app-shell .side-brand span{color:var(--app-accent)!important}
.app-shell .nav-item:hover,.app-shell .nav-item.active{background:color-mix(in srgb,var(--app-primary) 28%,transparent)!important}
.app-shell .topbar{border-bottom-color:var(--app-line)!important}
.app-shell .page-head h1,.app-shell .section-title{color:var(--app-title)!important}
.app-shell .btn-primary{background:linear-gradient(135deg,var(--app-primary),var(--app-primary2))!important;box-shadow:0 8px 20px var(--app-shadow)!important}
.app-shell .link{color:var(--app-primary)!important}
.app-shell .avatar{background:var(--app-soft)!important;color:var(--app-primary2)!important}
.app-shell .input:focus,.app-shell .select:focus,.app-shell .textarea:focus{border-color:var(--app-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--app-primary) 14%,transparent)!important}
.app-shell .tabs{background:color-mix(in srgb,var(--app-soft) 74%,#fff)!important}
.app-shell .tab.active{color:var(--app-primary2)!important}
.app-shell .patient-strip{background:linear-gradient(135deg,var(--app-dark),color-mix(in srgb,var(--app-dark) 75%,var(--app-primary)))!important}
.app-shell .timeline-item{border-left-color:var(--app-primary)!important}
.app-shell .alert:not(.danger-note){background:color-mix(in srgb,var(--app-soft) 74%,#fff)!important;color:var(--app-title)!important;border-color:var(--app-line)!important}
.app-shell .quick-card:hover{box-shadow:0 14px 32px var(--app-shadow)!important}
.app-shell .visual-admin-panel{border-color:var(--app-line)!important;background:color-mix(in srgb,var(--app-soft2) 88%,#fff)!important}
.app-shell .visual-admin-head h2,.app-shell .visual-card-head strong{color:var(--app-title)!important}
.app-shell .theme-swatch.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--swatch) 20%,transparent)!important}
/* As classes risk-* não seguem o tema geral: usam a paleta clínica configurada. */

/* =========================================================
   ProntSync — Análises e Indicadores / Configurações ADM
   ========================================================= */
.analytics-period{min-width:180px;height:38px}
.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.analytics-kpi{background:#fff;border:1px solid var(--app-line);border-radius:14px;padding:16px;box-shadow:0 5px 16px rgba(30,67,92,.05)}
.analytics-kpi span{display:block;font-size:10px;font-weight:900;letter-spacing:.04em;color:#73889a}
.analytics-kpi strong{display:block;font-size:28px;line-height:1.15;color:var(--app-title);margin:7px 0 4px}
.analytics-kpi small{color:#8495a3;font-size:10px}
.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.analytics-card{min-width:0;margin:0!important}
.analytics-card .card-head{padding-bottom:8px!important}
.analytics-bars{display:grid;gap:12px;padding:4px 16px 17px}
.analytics-bar-row{display:grid;grid-template-columns:minmax(125px,1.2fr) minmax(90px,2fr) 32px;gap:10px;align-items:center;font-size:11px}
.analytics-bar-label{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#496276;font-weight:700}
.analytics-bar-track{height:8px;border-radius:999px;background:var(--app-soft);overflow:hidden}.analytics-bar-track i{display:block;height:100%;min-width:0;border-radius:999px;background:linear-gradient(90deg,var(--app-primary),var(--app-accent))}
.analytics-bar-row b{text-align:right;color:var(--app-title)}
.risk-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto}.risk-dot-blue{background:#3f8de8}.risk-dot-green{background:#35a96b}.risk-dot-yellow{background:#e6bd27}.risk-dot-orange{background:#ed8a36}.risk-dot-red{background:#dc4d4d}
.analytics-ranking{padding:2px 16px 16px;display:grid;gap:7px}.analytics-ranking>div{display:grid;grid-template-columns:28px 1fr 40px;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--app-line);border-radius:9px}.analytics-ranking span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--app-soft);color:var(--app-primary2);font-size:10px;font-weight:900}.analytics-ranking strong{font-size:12px;color:var(--app-title)}.analytics-ranking b{text-align:right;font-size:12px}
.analytics-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:2px 16px 16px}.analytics-summary>div{background:var(--app-soft2);border:1px solid var(--app-line);border-radius:10px;padding:12px}.analytics-summary span{display:block;font-size:9.5px;color:#73889a;font-weight:700}.analytics-summary strong{display:block;margin-top:5px;color:var(--app-title);font-size:15px}
.analytics-note{margin-top:12px;padding:11px 13px;border:1px solid var(--app-line);background:color-mix(in srgb,var(--app-soft) 52%,#fff);border-radius:10px;color:#60788b;font-size:10.5px}
.settings-section{margin-bottom:12px}.settings-section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:9px}.settings-section-head h2{font-size:16px;color:var(--app-title);margin:0}.settings-section-head p{font-size:10.5px;color:#728697;margin:3px 0 0}
@media(max-width:1100px){.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:1fr}}
@media(max-width:700px){.analytics-kpis{grid-template-columns:1fr}.analytics-bar-row{grid-template-columns:1fr 32px}.analytics-bar-track{grid-column:1/-1;grid-row:2}.analytics-summary{grid-template-columns:1fr}.settings-section-head{align-items:flex-start;flex-direction:column}}

/* Administração de usuários / credenciais */
.user-password-btn{margin-left:8px;white-space:nowrap}.user-status-select{min-width:96px;padding:7px 9px;font-size:12px}.password-card{max-width:560px;margin:0 auto}.password-card .card-body{padding:24px}@media(max-width:700px){.user-password-btn{display:none}.user-status-select{min-width:88px}}

/* Modal compacto para cadastro/edição de usuários */
.modal-bg:has(#systemUserForm) .modal{width:min(860px,96vw);max-height:none;overflow:visible}
.modal-bg:has(#systemUserForm) .modal-body{padding:16px 20px 10px}
.modal-bg:has(#systemUserForm) .field{margin-bottom:8px}
.modal-bg:has(#systemUserForm) .input,.modal-bg:has(#systemUserForm) .select{padding:9px 12px}
.modal-bg:has(#systemUserForm) .alert{padding:9px 12px}
.modal-bg:has(#systemUserForm) .modal-foot{padding:12px 20px}
@media(max-height:760px){.modal-bg:has(#systemUserForm){padding:8px}.modal-bg:has(#systemUserForm) .modal{transform:scale(.94);transform-origin:center}}

/* Gestão de usuários — status visual e formulário administrativo */
.system-user-row.system-user-inactive td{background:#f3f5f7!important;color:#9aa4ad!important}
.system-user-row.system-user-inactive strong,.system-user-row.system-user-inactive .muted{color:#9aa4ad!important}
.badge-inactive{background:#feecee!important;color:#c92d3b!important;border:1px solid #f5c8cd!important;font-weight:700}
.system-user-form-grid{gap:10px 16px!important}.system-user-form-grid .field{margin-bottom:0!important}.system-user-alert{margin-top:10px!important}
.system-user-form-grid input:disabled,.system-user-form-grid select:disabled{background:#f3f5f7!important;color:#9aa4ad!important;cursor:not-allowed}



/* V18 — SOMENTE a área "Usuários do sistema" */
.prontsync-users-only{margin-top:0}
.prontsync-admin-account{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;
  gap:12px;padding:12px 14px;margin-bottom:14px;border:1px solid #e3eaf2;border-radius:12px;background:#fff
}
.prontsync-users-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.prontsync-users-head h2{margin:0 0 2px}
.prontsync-users-head p{margin:0;font-size:12px;color:#74859a}
.prontsync-users-head-actions{display:flex;align-items:center;gap:10px}
.prontsync-users-count{padding:6px 9px;border-radius:999px;background:#eef4fa;color:#53687d;font-size:12px;font-weight:700}
.prontsync-users-search{display:flex;align-items:center;gap:9px;margin:0 0 9px}.prontsync-users-search label{font-size:11px;font-weight:800;color:#53687d;white-space:nowrap}.prontsync-users-search .input{height:34px;max-width:340px;padding:7px 10px;font-size:12px}
.prontsync-users-list{padding:0;overflow:hidden}
.prontsync-user-row{
  display:grid;grid-template-columns:minmax(0,1fr) 90px 140px;align-items:center;
  gap:12px;padding:7px 13px;border-bottom:1px solid #e8eef4;background:#fff
}
.prontsync-user-row:last-child{border-bottom:0}
.prontsync-user-row[hidden]{display:none}
.prontsync-user-main{display:flex;align-items:center;gap:10px;min-width:0}
.prontsync-user-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:0 0 30px;background:#eaf3ff;color:#1f5fae;font-weight:800}
.prontsync-user-copy{min-width:0}
.prontsync-user-name{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.prontsync-user-name strong{font-size:13px}
.prontsync-user-meta{margin-top:2px;font-size:11px;color:#718298;white-space:normal}
.prontsync-user-meta span{opacity:.55;padding:0 2px}
.prontsync-user-warning{display:inline-flex;padding:2px 6px;border-radius:999px;background:#fff3d8;color:#9f6800;font-size:9px;font-weight:800}
.prontsync-user-status{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:#2f6f52}
.prontsync-user-status-dot{width:7px;height:7px;border-radius:50%;background:#27a36a}
.prontsync-user-status-dot.inactive{background:#d64747}
.prontsync-user-row-inactive{background:#f7f8fa;color:#9aa5b1}
.prontsync-user-row-inactive .prontsync-user-avatar{background:#eceff3;color:#9ba6b2}
.prontsync-user-row-inactive .prontsync-user-meta{color:#a4aeb8}
.prontsync-user-row-inactive .prontsync-user-status{color:#c43b3b}
.prontsync-user-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px}
@media (max-width:900px){
  .prontsync-admin-account{grid-template-columns:auto 1fr auto}
  .prontsync-admin-account>.muted{grid-column:2/4}
  .prontsync-users-head{align-items:flex-start;flex-direction:column}
  .prontsync-users-search{width:100%;align-items:stretch;flex-direction:column;gap:4px}.prontsync-users-search .input{max-width:none;width:100%}
  .prontsync-user-row{grid-template-columns:1fr auto}
  .prontsync-user-actions{grid-column:1/3;justify-content:flex-start}
}

/* ProntSync V20 — filtros avançados de Análises e Indicadores */
.analytics-filter-card{margin-bottom:14px!important}
.analytics-filter-form{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:10px;align-items:end;padding:0 16px 12px}
.analytics-filter-form .field{margin:0}.analytics-filter-form label{font-size:10px}
.analytics-filter-actions{display:flex;gap:8px;align-items:center;grid-column:1/-1}.analytics-filter-actions .btn{min-width:120px}
.analytics-filter-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 16px 14px;border-top:1px solid var(--app-line);font-size:10.5px;color:#60788b}
.analytics-filter-summary span{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--app-soft);border:1px solid var(--app-line);font-weight:700;color:var(--app-title)}
.analytics-filter-summary b{margin-left:auto;color:var(--app-primary2)}
@media(max-width:1200px){.analytics-filter-form{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:760px){.analytics-filter-form{grid-template-columns:1fr}.analytics-filter-actions{grid-column:auto;flex-wrap:wrap}.analytics-filter-summary b{width:100%;margin-left:0}}

/* ProntSync V21 — análise detalhada de CID-10 */
.analytics-cid-card{grid-column:1/-1}
.analytics-cid-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:0 16px 14px;border-bottom:1px solid var(--app-line)}
.analytics-cid-controls label{font-size:10px;font-weight:800;color:var(--app-title);min-width:190px}
.analytics-cid-controls .select{display:block;margin-top:5px;min-width:150px}
.analytics-cid-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:18px;padding:14px 16px 18px}
.analytics-cid-list-title{font-size:11px;font-weight:900;color:var(--app-title);margin-bottom:9px;text-transform:uppercase;letter-spacing:.02em}
.analytics-cid-ranking{max-height:350px;overflow:auto;padding-right:4px}
.analytics-cid-row{display:grid!important;grid-template-columns:22px 28px 1fr auto!important;gap:8px;align-items:center;cursor:pointer}
.analytics-cid-row input{width:15px;height:15px;accent-color:var(--app-primary)}
.analytics-cid-position{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:var(--app-soft);font-weight:900;color:var(--app-primary2)}
.analytics-cid-chart{display:flex;flex-direction:column;gap:11px}
.analytics-cid-chart-row{display:flex;flex-direction:column;gap:5px}
.analytics-cid-chart-label{display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:11px}
.analytics-cid-chart-label strong{font-weight:800;color:var(--app-title);min-width:0}
.analytics-cid-chart-label b{color:var(--app-primary2);font-size:12px}
.analytics-cid-chart-track{height:13px;background:var(--app-soft);border-radius:999px;overflow:hidden;border:1px solid var(--app-line)}
.analytics-cid-chart-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--app-primary),var(--app-primary2));min-width:2px}
@media(max-width:900px){.analytics-cid-layout{grid-template-columns:1fr}.analytics-cid-ranking{max-height:none}}

/* ProntSync V26 — território/UBS/ACS mais compacto */
.acs-admin-section{margin-top:14px}
.acs-admin-head{gap:12px;align-items:center}.acs-admin-head h2{font-size:16px!important;line-height:1.2;margin-bottom:3px}.acs-admin-head p{font-size:11px!important;line-height:1.35;max-width:720px}.acs-main-add{min-height:30px!important;padding:5px 9px!important;font-size:10px!important}
.acs-city-list{overflow:hidden}.acs-city-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;border-bottom:1px solid var(--app-line);min-height:48px}.acs-city-row:last-child{border-bottom:0}.acs-city-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.acs-city-copy strong{font-size:12px;line-height:1.2}.acs-city-copy span{font-size:9px!important;line-height:1.2}.acs-city-actions{display:flex;gap:4px}.acs-compact-btn,.acs-mini-action{min-height:27px!important;padding:4px 7px!important;font-size:9px!important;border-radius:7px!important}
.acs-config-form .field{margin-bottom:0}.acs-config-form label{font-size:10px!important;margin-bottom:4px!important}.acs-config-form .input{min-height:34px!important;height:34px!important;padding:6px 9px!important;font-size:11px!important;border-radius:8px!important}.acs-location-grid{display:grid;grid-template-columns:1fr 1.25fr 72px;gap:8px;align-items:start;margin-bottom:9px}.acs-city-locked{background:#f1f3f5!important;color:#5c6670!important;border-color:#d9dee3!important;cursor:not-allowed}.acs-cep-status{font-size:9px!important;line-height:1.25;margin-top:3px}.acs-cep-ok{color:#287a4b!important}
.acs-unit-editor{padding:8px;border:1px solid var(--app-line);border-radius:9px;background:var(--app-soft);margin:7px 0}.acs-unit-head{display:flex;gap:6px;align-items:center;margin-bottom:6px}.acs-unit-head .acs-unit-name{flex:1;font-weight:700}.acs-members{display:grid;gap:4px;margin-bottom:5px}.acs-member-row{display:grid;grid-template-columns:1fr 30px;gap:4px;align-items:center}.acs-remove-member{min-width:30px!important;width:30px!important;min-height:30px!important;height:30px!important;padding:0!important;font-size:14px!important;line-height:1!important}.acs-add-member,.acs-add-unit{min-height:28px!important;padding:4px 7px!important;font-size:9px!important;border-radius:7px!important}.acs-add-unit{margin-left:8px!important}
@media(max-width:700px){.acs-location-grid{grid-template-columns:1fr}.acs-state-field{max-width:100px}.acs-city-row,.acs-unit-head{align-items:stretch;flex-direction:column}.acs-city-actions{justify-content:flex-start}}

/* ProntSync V29 — detalhamento nominal por CID e histórico médico administrativo */
.analytics-cid-row{grid-template-columns:22px 28px minmax(90px,1fr) auto auto!important}
.analytics-cid-patients-btn{padding:4px 8px!important;min-height:26px!important;font-size:10px!important;line-height:1!important}
.modal.modal-wide{width:min(1120px,94vw);max-width:1120px}
.modal.rx-print-preview-modal{width:min(1040px,94vw);max-width:1040px;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;border-radius:22px;background:#f2f7fb}
.rx-print-preview-modal .modal-head,.rx-print-preview-modal .modal-foot{background:#fff}
.rx-print-preview-modal .modal-body{flex:1;padding:22px;overflow:hidden}
.rx-preview-sheet{width:min(794px,100%);min-height:1123px;margin:0 auto;padding:28px;background:#fff;border:1px solid #b8d9ee;border-radius:5px;box-shadow:0 3px 14px rgba(32,90,128,.12);font-family:Arial,sans-serif;color:#111;font-size:12pt}
.rx-preview-sheet .head{display:flex;align-items:center;gap:16px;border-bottom:2px solid #1d4f79;padding-bottom:10px}
.rx-preview-sheet .head img{max-width:105px;max-height:70px;object-fit:contain}
.rx-preview-sheet .head h1{font-size:17pt;margin:0}
.rx-preview-sheet .head p,.rx-preview-sheet .foot{font-size:9pt;margin:4px 0;color:#444}
.rx-preview-sheet .patient{margin:18px 0 22px;font-size:10pt}
.rx-preview-sheet .content{white-space:pre-wrap;line-height:1.65;min-height:430px}
.rx-preview-sheet .foot{border-top:1px solid #aaa;padding-top:8px;text-align:center}
.rx-preview-sheet .sign{margin-top:45px;text-align:center;font-size:10pt}
.rx-print-preview-modal .modal-body{display:flex;flex-direction:column;min-height:0;background:#eef4f8}
.rx-preview-navigation{order:2;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin:10px 0 0}.rx-preview-navigation strong{min-width:106px;text-align:center;font-size:12px;color:var(--app-title)}
.rx-model-preview{order:1}
.rx-model-preview{display:block;width:100%;height:min(68vh,620px);border:1px solid #b8d9ee;border-radius:8px;background:#fff;overflow:hidden}
.analytics-cid-patients-table{max-height:58vh;overflow:auto}
.analytics-cid-patients-table th{position:sticky;top:0;background:#fff;z-index:1}
.analytics-history-header{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:10px;margin-bottom:14px}
.analytics-history-header>div,.analytics-history-grid>div{border:1px solid var(--app-line);border-radius:8px;padding:9px 10px;background:#fbfcfd}
.analytics-history-header span,.analytics-history-grid span{display:block;font-size:9px;font-weight:900;color:var(--app-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}
.analytics-history-header strong{font-size:12px;color:var(--app-title)}
.analytics-history-section{border-top:1px solid var(--app-line);padding-top:13px;margin-top:13px}
.analytics-history-section h4{font-size:12px;margin:0 0 9px;color:var(--app-title)}
.analytics-history-section ul{margin:0;padding-left:18px;font-size:11px;line-height:1.55}
.analytics-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.analytics-history-grid .full{grid-column:1/-1}
.analytics-history-grid p{margin:0;font-size:11px;line-height:1.45;white-space:pre-wrap}
.analytics-history-note{border:1px solid var(--app-line);border-radius:10px;padding:10px;margin-bottom:10px;background:#fff}
.analytics-history-note.is-highlighted{outline:2px solid color-mix(in srgb,var(--app-primary) 35%,transparent);background:color-mix(in srgb,var(--app-primary) 4%,white)}
.analytics-history-note .time{font-size:10px;color:var(--app-muted);font-weight:700;margin-bottom:8px}
@media(max-width:760px){.analytics-history-header,.analytics-history-grid{grid-template-columns:1fr}.analytics-history-grid .full{grid-column:auto}.analytics-cid-row{grid-template-columns:22px 28px 1fr auto!important}.analytics-cid-patients-btn{grid-column:3/-1;justify-self:start}}


/* =========================================================
   ProntSync V31 — acabamento visual de Análises e Indicadores
   Escopo exclusivo da tela administrativa de indicadores.
   ========================================================= */
.analytics-page-head .page-head{margin-bottom:14px;align-items:center}
.analytics-page-head .page-head h1{font-size:21px!important;line-height:1.18;letter-spacing:-.25px;font-weight:760!important}
.analytics-page-head .page-head p{font-size:11.5px!important;line-height:1.35;margin-top:4px!important;color:#71869a}

.analytics-filter-card{border-radius:13px!important;box-shadow:0 4px 14px rgba(41,79,106,.045)!important}
.analytics-filter-card .card-head{padding:12px 14px 9px!important}
.analytics-filter-card .card-head h3{font-size:14px!important;line-height:1.2;margin:0 0 3px;font-weight:780;letter-spacing:-.1px}
.analytics-filter-card .card-head .small{font-size:10.5px!important;line-height:1.3}
.analytics-filter-form{gap:8px 10px!important;padding:0 14px 10px!important}
.analytics-filter-form .field label{font-size:9.5px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:.01em;margin-bottom:5px!important}
.analytics-filter-form .input,.analytics-filter-form .select{height:36px!important;min-height:36px!important;border-radius:8px!important;padding:6px 10px!important;font-size:12px!important;line-height:1.2!important;background:#fcfdfe!important}
.analytics-filter-form input[type="date"]{padding-right:8px!important}
.analytics-filter-actions{gap:7px!important;margin-top:2px}
.analytics-filter-actions .btn{min-width:104px!important;min-height:35px!important;height:35px!important;padding:6px 13px!important;border-radius:8px!important;font-size:11.5px!important;font-weight:760!important;box-shadow:none!important}
.analytics-filter-actions .btn-primary{box-shadow:0 4px 10px color-mix(in srgb,var(--app-primary) 16%,transparent)!important}
.analytics-filter-summary{padding:8px 14px 10px!important;font-size:9.5px!important;gap:5px!important}
.analytics-filter-summary span{padding:4px 7px!important;font-size:9.5px!important;font-weight:720!important}
.analytics-filter-summary b{font-size:9.5px!important;font-weight:800!important}

.analytics-kpis{gap:10px!important;margin-bottom:11px!important}
.analytics-kpi{border-radius:12px!important;padding:13px 14px!important;box-shadow:0 3px 12px rgba(30,67,92,.035)!important}
.analytics-kpi span{font-size:9px!important;font-weight:850!important;letter-spacing:.035em!important}
.analytics-kpi strong{font-size:23px!important;line-height:1.05!important;margin:6px 0 3px!important;font-weight:780!important;letter-spacing:-.25px}
.analytics-kpi small{font-size:9.5px!important;line-height:1.25!important}
.analytics-grid{gap:10px!important}
.analytics-card{border-radius:12px!important;box-shadow:0 3px 12px rgba(30,67,92,.035)!important}
.analytics-card .card-head{padding:11px 14px 7px!important}
.analytics-card .card-head h3{font-size:13.5px!important;line-height:1.2!important;font-weight:780!important;letter-spacing:-.08px;margin:0}
.analytics-card .card-head .small{font-size:9.5px!important;line-height:1.3!important}
.analytics-bars{gap:9px!important;padding:3px 14px 14px!important}
.analytics-bar-row{font-size:10.5px!important;gap:8px!important}
.analytics-ranking{padding:2px 14px 14px!important;gap:6px!important}
.analytics-ranking>div{padding:7px 9px!important;border-radius:8px!important}
.analytics-ranking strong,.analytics-ranking b{font-size:10.5px!important}
.analytics-summary{padding:2px 14px 14px!important;gap:7px!important}
.analytics-summary>div{padding:9px 10px!important;border-radius:8px!important}
.analytics-summary span{font-size:9px!important}.analytics-summary strong{font-size:13px!important;margin-top:4px!important}
.analytics-note{font-size:9.5px!important;padding:9px 11px!important;border-radius:8px!important}

.analytics-cid-controls{padding:0 14px 11px!important;gap:8px!important}
.analytics-cid-controls label{font-size:9.5px!important;min-width:170px!important}
.analytics-cid-controls .select{height:34px!important;min-height:34px!important;margin-top:4px!important;padding:5px 9px!important;font-size:11px!important;border-radius:8px!important}
.analytics-cid-layout{gap:14px!important;padding:11px 14px 14px!important}
.analytics-cid-list-title{font-size:9.5px!important;margin-bottom:7px!important}
.analytics-cid-row{gap:6px!important;font-size:10.5px!important}
.analytics-cid-position{width:21px!important;height:21px!important;border-radius:6px!important;font-size:9px!important}
.analytics-cid-patients-btn{min-height:24px!important;padding:4px 7px!important;font-size:9.5px!important;border-radius:7px!important}
.analytics-cid-chart{gap:8px!important}.analytics-cid-chart-row{gap:4px!important}
.analytics-cid-chart-label{font-size:10px!important;gap:8px!important}.analytics-cid-chart-label b{font-size:10.5px!important}
.analytics-cid-chart-track{height:10px!important}

@media(max-width:1200px){.analytics-filter-form{grid-template-columns:repeat(3,minmax(150px,1fr))!important}}
@media(max-width:760px){.analytics-page-head .page-head h1{font-size:19px!important}.analytics-filter-form{grid-template-columns:1fr!important}}


/* V32 — refinamento visual global das telas internas */
body:not(.login-page) .content{font-size:14px}
body:not(.login-page) .content h1{font-size:25px;line-height:1.18;letter-spacing:-.35px;margin-bottom:5px}
body:not(.login-page) .content h2{font-size:18px;line-height:1.25;letter-spacing:-.15px}
body:not(.login-page) .content h3{font-size:15px;line-height:1.3}
body:not(.login-page) .content h4{font-size:13px;line-height:1.3}
body:not(.login-page) .content .muted,
body:not(.login-page) .content .small{font-size:12px;line-height:1.4}
body:not(.login-page) .content .card{border-radius:14px}
body:not(.login-page) .content .card-header{padding:14px 16px}
body:not(.login-page) .content .card-body{padding:14px 16px}
body:not(.login-page) .content label{font-size:11.5px;font-weight:650;margin-bottom:5px}
body:not(.login-page) .content input:not([type="checkbox"]):not([type="radio"]),
body:not(.login-page) .content select{min-height:40px;height:40px;padding:7px 11px;font-size:13px;border-radius:10px}
body:not(.login-page) .content textarea{padding:9px 11px;font-size:13px;line-height:1.45;border-radius:10px}
body:not(.login-page) .content .btn{min-height:36px;padding:7px 13px;font-size:12.5px;border-radius:9px;gap:6px}
body:not(.login-page) .content .btn-sm{min-height:30px;padding:5px 9px;font-size:11.5px;border-radius:8px}
body:not(.login-page) .content .grid{gap:12px}
body:not(.login-page) .content .form-grid{gap:11px 12px}
body:not(.login-page) .content .table th{font-size:11px;padding:9px 10px}
body:not(.login-page) .content .table td{font-size:12.5px;padding:9px 10px}
body:not(.login-page) .content .badge{font-size:10.5px;padding:4px 7px}
body:not(.login-page) .content .section-title{font-size:15px;margin-bottom:9px}
body:not(.login-page) .content .toolbar{gap:8px}
body:not(.login-page) .content .actions{gap:7px}
body:not(.login-page) .content .empty{padding:20px 14px;font-size:12.5px}
/* Modais assistenciais: recepção, triagem e atendimento */
.modal .modal-header{padding:14px 18px}
.modal .modal-header h2,.modal .modal-header h3{font-size:17px;letter-spacing:-.15px}
.modal .modal-body{padding:16px 18px;font-size:13px}
.modal .modal-footer{padding:12px 18px;gap:8px}
.modal label{font-size:11.5px;font-weight:650;margin-bottom:5px}
.modal input:not([type="checkbox"]):not([type="radio"]),.modal select{min-height:40px;height:40px;padding:7px 11px;font-size:13px;border-radius:10px}
.modal textarea{padding:9px 11px;font-size:13px;line-height:1.45;border-radius:10px}
.modal .btn{min-height:36px;padding:7px 13px;font-size:12.5px;border-radius:9px}
.modal .btn-sm{min-height:30px;padding:5px 9px;font-size:11.5px}
.modal .grid,.modal .form-grid{gap:11px 12px}


/* V33 — ajuste fino de legibilidade: ligeiro aumento tipográfico sobre a V32 */
body:not(.login-page) .content{font-size:14.5px}
body:not(.login-page) .content h1{font-size:26px}
body:not(.login-page) .content h2{font-size:18.5px}
body:not(.login-page) .content h3{font-size:15.5px}
body:not(.login-page) .content h4{font-size:13.5px}
body:not(.login-page) .content .muted,
body:not(.login-page) .content .small{font-size:12.5px}
body:not(.login-page) .content label{font-size:12px}
body:not(.login-page) .content input:not([type="checkbox"]):not([type="radio"]),
body:not(.login-page) .content select,
body:not(.login-page) .content textarea{font-size:13.5px}
body:not(.login-page) .content .btn{font-size:13px}
body:not(.login-page) .content .btn-sm{font-size:12px}
body:not(.login-page) .content .table th{font-size:11.5px}
body:not(.login-page) .content .table td{font-size:13px}
body:not(.login-page) .content .badge{font-size:11px}
body:not(.login-page) .content .section-title{font-size:15.5px}
.modal .modal-header h2,.modal .modal-header h3{font-size:17.5px}
.modal .modal-body{font-size:13.5px}
.modal label{font-size:12px}
.modal input:not([type="checkbox"]):not([type="radio"]),.modal select,.modal textarea{font-size:13.5px}
.modal .btn{font-size:13px}
.modal .btn-sm{font-size:12px}

/* V35 — CID temporal + relatórios */
.analytics-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.analytics-report-btn{white-space:nowrap;margin-top:4px}
.analytics-cid-layout-temporal{grid-template-columns:minmax(340px,.9fr) minmax(520px,1.35fr)}
.analytics-cid-name{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1}
.analytics-cid-name strong{font-size:12.5px;white-space:normal}
.analytics-cid-name small{font-size:11px;color:var(--muted)}
.analytics-temporal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.analytics-grain{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.analytics-temporal-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:8px 0;font-size:10.5px;color:var(--muted)}
.analytics-temporal-legend span{display:flex;align-items:center;gap:5px}
.analytics-temporal-legend i{width:14px;height:3px;border-radius:4px;background:#2477c9}
.analytics-temporal-legend i.series-1{background:#30a46c}.analytics-temporal-legend i.series-2{background:#7c5ce7}.analytics-temporal-legend i.series-3{background:#e28a2b}.analytics-temporal-legend i.series-4{background:#d1548b}.analytics-temporal-legend i.series-5{background:#5d849e}
.analytics-temporal-chart{width:100%;overflow-x:auto;padding-top:4px}
.analytics-temporal-svg{width:100%;min-width:560px;height:auto;display:block}
.analytics-chart-grid{stroke:#e2eaf2;stroke-width:1}
.analytics-chart-axis{font-size:9px;fill:#73869a}
.analytics-temporal-line{fill:none;stroke:#2477c9;stroke-width:2.3;stroke-linejoin:round;stroke-linecap:round}
.analytics-temporal-point{fill:#2477c9;stroke:#fff;stroke-width:1.2}
.analytics-temporal-line.series-1{stroke:#30a46c}.analytics-temporal-point.series-1{fill:#30a46c}
.analytics-temporal-line.series-2{stroke:#7c5ce7}.analytics-temporal-point.series-2{fill:#7c5ce7}
.analytics-temporal-line.series-3{stroke:#e28a2b}.analytics-temporal-point.series-3{fill:#e28a2b}
.analytics-temporal-line.series-4{stroke:#d1548b}.analytics-temporal-point.series-4{fill:#d1548b}
.analytics-temporal-line.series-5{stroke:#5d849e}.analytics-temporal-point.series-5{fill:#5d849e}
.analytics-chart-note{margin-top:7px;padding:7px 9px;background:var(--soft);border-radius:7px}
.report-choice-intro{font-size:12.5px;color:var(--muted);margin-bottom:12px}
.report-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.report-choice{border:1px solid var(--line);background:#fff;border-radius:11px;text-align:left;padding:12px;cursor:pointer;color:var(--text);transition:.15s ease}
.report-choice:hover{border-color:var(--primary);background:var(--soft)}
.report-choice strong{display:block;font-size:13px;margin-bottom:3px}
.report-choice span{display:block;font-size:11.5px;color:var(--muted);line-height:1.35}
@media(max-width:1150px){.analytics-cid-layout-temporal{grid-template-columns:1fr}.analytics-temporal-head{flex-direction:column}.analytics-grain{justify-content:flex-start}}
@media(max-width:700px){.analytics-page-head{flex-direction:column}.report-choice-grid{grid-template-columns:1fr}}

/* V38 — pesquisa localizada de grupos CID-10 nos Indicadores */
.analytics-cid-search{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line,#dfe7ef);border-radius:10px;background:rgba(248,250,252,.72)}
.analytics-cid-search>label{display:block;margin-bottom:6px;font-size:12px;font-weight:700}
.analytics-cid-search-row{display:flex;gap:8px;align-items:center}
.analytics-cid-search-row .input{flex:1;min-width:0}
.analytics-cid-search .muted{display:block;margin-top:5px}

/* V39 — pesquisa CID integrada à coluna esquerda e sem rerender durante digitação */
.analytics-cid-search-inline{margin:8px 0 10px;padding:8px 9px}
.analytics-cid-search-inline>label{font-size:11.5px;margin-bottom:5px}
.analytics-cid-search-inline .analytics-cid-search-row{gap:6px}
.analytics-cid-search-inline .btn{white-space:nowrap}
@media(max-width:900px){
  .analytics-cid-search-inline .analytics-cid-search-row{flex-wrap:wrap}
  .analytics-cid-search-inline .input{flex-basis:100%}
}

/* V40 — controles CID compactos e ACS agrupados por UBS */
.analytics-cid-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.analytics-cid-limit-inline{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;white-space:nowrap}
.analytics-cid-limit-inline .select{width:auto;min-width:128px;padding-top:5px;padding-bottom:5px;font-size:11.5px}
.analytics-cid-select-actions{display:flex;align-items:center;gap:6px;margin:0 0 8px}
.analytics-acs-units{display:grid;gap:12px}
.analytics-acs-unit{border:1px solid var(--line,#dfe7ef);border-radius:10px;padding:10px 12px;background:rgba(248,250,252,.58)}
.analytics-acs-unit-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid var(--line,#e5ebf1)}
.analytics-acs-unit-head>strong{font-size:13px}
.analytics-acs-unit-head>span{font-size:11px;color:var(--muted,#66788a)}
@media(max-width:700px){.analytics-cid-list-head{align-items:flex-start;flex-direction:column}.analytics-cid-select-actions{flex-wrap:wrap}}

/* V41 — acabamento fino dos controles de CID */
.analytics-cid-limit-inline{font-size:10.5px;font-weight:600;letter-spacing:0}
.analytics-cid-limit-inline .select{min-width:118px;height:30px;min-height:30px;padding:4px 26px 4px 8px;font-size:10.5px;line-height:1.1}
.analytics-cid-master-check{display:flex;align-items:center;gap:6px;margin:0 0 8px;padding:5px 0;font-size:11.5px;font-weight:600;cursor:pointer;width:max-content}
.analytics-cid-master-check input{width:15px;height:15px;margin:0}
.analytics-cid-master-check small{font-size:10.5px;font-weight:400;margin-left:2px}

/* V42 — microajustes visuais solicitados no bloco CID */
.analytics-cid-limit-inline{font-size:9.5px!important;font-weight:600!important}
.analytics-cid-limit-inline .select{
  min-width:108px!important;
  height:27px!important;
  min-height:27px!important;
  padding:3px 24px 3px 7px!important;
  font-size:9.5px!important;
  line-height:1!important;
  font-weight:600!important;
}
.analytics-cid-master-check{
  margin:0 0 8px 23px!important;
  padding:4px 0!important;
  font-size:10.5px!important;
  gap:6px!important;
}
.analytics-cid-master-check input{width:15px!important;height:15px!important}
.analytics-cid-master-check small{font-size:9.5px!important}

/* V46 — correção mínima de alinhamento do checkbox "Marcar todos" */
.analytics-cid-master-check{
  margin-left:28px!important;
}

/* V47 — PDFs contextuais nos cartões de Análises e Indicadores */
.analytics-card-report{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
  padding-top:8px;
  border-top:1px solid var(--line,#e3eaf1);
}
.analytics-card-pdf{
  min-height:26px!important;
  padding:4px 8px!important;
  font-size:9.5px!important;
  font-weight:600!important;
}

/* V49 — Cadastros administrativos e Unidade de Saúde */
.nav-group{margin:1px 0}
.nav-group-toggle{width:100%;border:0;background:transparent;font-family:inherit;text-align:left;cursor:pointer}
.nav-chevron{margin-left:auto;font-size:12px;opacity:.7;transition:transform .18s ease}
.nav-group.open .nav-chevron{transform:rotate(180deg)}
.nav-submenu{display:none;margin:2px 0 5px 14px;padding-left:8px;border-left:1px solid rgba(255,255,255,.12)}
.nav-group.open .nav-submenu{display:block}
.nav-subitem{min-height:34px!important;padding-top:6px!important;padding-bottom:6px!important;font-size:12px!important}
.nav-subitem .nav-icon{font-size:11px!important}
.facility-card{overflow:hidden}
.facility-head{align-items:center}
.facility-form{padding:2px 0 0}
.facility-logo-row{display:flex;align-items:center;gap:18px;padding:16px 18px;border-bottom:1px solid var(--line,#e2eaf1)}
.facility-logo-preview{width:150px;height:82px;border:1px dashed var(--line,#ccd8e4);border-radius:10px;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}
.facility-logo-preview img{max-width:92%;max-height:72px;object-fit:contain}
.facility-logo-empty{text-align:center;font-size:11px;font-weight:700;color:#8a9bad;line-height:1.15}
.facility-logo-empty span{font-size:8px;font-weight:600}
.facility-logo-copy{display:grid;gap:5px}
.facility-logo-actions{display:flex;gap:7px;margin-top:4px}
.facility-section-title{padding:12px 18px 7px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--app-primary,#1f6fc1);border-top:1px solid var(--line,#e2eaf1)}
.facility-logo-row+.facility-section-title{border-top:0}
.facility-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;padding:8px 18px 16px}
.facility-grid .field{margin:0}
.facility-grid .field label{font-size:10.5px}
.facility-grid .input,.facility-grid .select{min-height:34px;height:34px;font-size:11.5px;padding-top:6px;padding-bottom:6px}
.facility-span-2{grid-column:span 2}
.facility-readonly{background:#f1f4f7!important;color:#53687c}
.facility-actions{display:flex;justify-content:flex-end;padding:12px 18px 16px;border-top:1px solid var(--line,#e2eaf1)}
.field-hint{display:block;font-size:9px;color:#6b7f92;margin-top:3px;min-height:10px}
@media(max-width:1000px){.facility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.facility-grid{grid-template-columns:1fr}.facility-span-2{grid-column:span 1}.facility-logo-row{align-items:flex-start;flex-direction:column}}

/* V50 — seleção de consultório médico após cada login */
.room-select-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#f5f9fd,#eef6fb)}
.room-select-card{width:min(650px,94vw);background:#fff;border:1px solid var(--line,#dfe8ef);border-radius:22px;padding:30px;box-shadow:0 22px 60px rgba(37,80,112,.14)}
.room-select-brand{display:flex;justify-content:center;margin-bottom:12px}.room-select-brand img{width:190px;max-height:66px;object-fit:contain}
.room-select-card h1{margin:4px 0 7px;text-align:center;font-size:25px;color:#183e5e}.room-select-card>p{text-align:center;margin:0 0 23px;color:#667f93;font-size:13px}
.room-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.room-choice,.room-view-only{width:100%;border:1px solid #cfe0ec;background:#f9fcfe;border-radius:14px;padding:16px;text-align:left;display:grid;gap:5px;color:#244f71;transition:.15s}
.room-choice:hover:not(:disabled),.room-view-only:hover{border-color:#6fa9d8;box-shadow:0 6px 18px rgba(37,80,112,.09);transform:translateY(-1px)}
.room-choice strong,.room-view-only strong{font-size:13px}.room-choice span,.room-view-only span{font-size:11px;color:#6c8295}
.room-choice.busy,.room-choice:disabled{background:#f0f2f4!important;border-color:#e0e4e8!important;color:#9aa5ae!important;cursor:not-allowed;box-shadow:none!important;transform:none!important}
.room-choice.busy span,.room-choice:disabled span{color:#a4adb5!important}.room-view-only{margin-top:2px;background:#fff;border-style:dashed}
.room-select-hint{margin-top:15px;padding-top:13px;border-top:1px solid #edf1f4;text-align:center;color:#8293a2;font-size:10.5px;line-height:1.45}
@media(max-width:620px){.room-select-grid{grid-template-columns:1fr}.room-select-card{padding:22px}}


.side-brand{
  min-height:92px;
  padding:16px 18px 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:transparent;
  overflow:hidden;
}
.side-brand img{
  display:block;
  width:auto;
  height:auto;
  max-width:205px;
  max-height:64px;
  object-fit:contain;
  object-position:center;
  filter:none;
}
.side-brand img[src=""],
.side-brand img:not([src]){
  display:none;
}


/* V59 — Unidade de Saúde compacta e protegida após salvar */
.facility-card{max-width:1180px;margin:0 auto}
.facility-card .card-head{padding:14px 18px}
.facility-form{padding:14px 18px 16px}
.facility-logo-row{padding:10px 0 12px;gap:14px}
.facility-logo-preview{width:150px;min-width:150px;height:72px}
.facility-logo-preview img{max-width:138px;max-height:62px}
.facility-logo-copy{gap:4px}
.facility-section-title{margin:12px 0 8px;padding-top:10px}
.facility-grid{gap:9px 12px}
.facility-grid .field{gap:4px}
.facility-grid .field label{font-size:12px}
.facility-grid .input,.facility-grid .select{min-height:36px;padding:7px 10px}
.facility-actions{margin-top:14px;padding-top:12px}
.facility-form.facility-locked .input,
.facility-form.facility-locked .select,
.facility-form.facility-locked textarea{
  background:#f1f3f5!important;
  border-color:#d9dee5!important;
  color:#697586!important;
  cursor:not-allowed!important;
  opacity:1!important;
}
.facility-form.facility-locked .facility-logo-row{
  background:#f7f8fa;
  border:1px solid #e1e5ea;
  border-radius:10px;
  padding:10px 12px;
}
.facility-form.facility-locked .facility-logo-preview{
  background:#eef1f4;
}


/* V60 — Unidade de Saúde: bloqueio pós-salvamento + Editar/Excluir */
.facility-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
#deleteFacilityData{
  border-color:#d8dde5;
  background:#fff;
}

/* V61 — estado persistente da Unidade de Saúde */
.facility-actions #editFacilityData,
.facility-actions #deleteFacilityData{
  display:inline-flex!important;
  visibility:visible!important;
}
.facility-form.facility-locked input:disabled,
.facility-form.facility-locked select:disabled,
.facility-form.facility-locked textarea:disabled{
  background:#edf0f3!important;
  border-color:#d5dbe2!important;
  color:#667085!important;
  -webkit-text-fill-color:#667085!important;
  opacity:1!important;
}


/* V63 — compactação global de cadastros e triagem */
.facility-card{
  max-width:1240px;
}
.facility-card .card-head{
  padding:10px 14px!important;
}
.facility-form{
  padding:10px 14px 12px!important;
}
.facility-logo-row{
  padding:6px 0 8px!important;
  gap:10px!important;
}
.facility-logo-preview{
  width:125px!important;
  min-width:125px!important;
  height:58px!important;
}
.facility-logo-preview img{
  max-width:115px!important;
  max-height:50px!important;
}
.facility-section-title{
  margin:8px 0 6px!important;
  padding-top:7px!important;
  font-size:12px!important;
}
.facility-grid{
  gap:6px 9px!important;
}
.facility-grid .field{
  gap:3px!important;
}
.facility-grid .field label{
  font-size:11px!important;
  line-height:1.15!important;
}
.facility-grid .input,
.facility-grid .select{
  min-height:32px!important;
  height:32px!important;
  padding:5px 8px!important;
  font-size:12px!important;
}
.facility-actions{
  margin-top:9px!important;
  padding-top:8px!important;
}
.facility-director-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,.75fr) minmax(0,1.1fr)!important;
}
.facility-crm-inline{
  min-width:0;
}
.facility-crm-pair{
  display:grid;
  grid-template-columns:minmax(0,1fr) 72px;
  gap:6px;
}
.facility-crm-state{
  min-width:72px;
}

/* Triagem/Classificação de risco */
.triage-form,
.triage-form .card-body,
.triage-modal .modal-body{
  padding-top:10px!important;
  padding-bottom:10px!important;
}
.triage-form .grid,
.triage-form .grid.grid-2,
.triage-form .grid.grid-3,
.triage-form .grid.grid-4{
  gap:7px 9px!important;
}
.triage-form .field{
  gap:3px!important;
}
.triage-form .field label{
  font-size:11px!important;
  line-height:1.15!important;
}
.triage-form .input,
.triage-form .select,
.triage-form textarea{
  min-height:32px!important;
  padding:5px 8px!important;
  font-size:12px!important;
}
.triage-form textarea{
  min-height:52px!important;
  max-height:76px!important;
  resize:vertical;
}
.triage-form textarea[name="complaint"],
.triage-form textarea[name="mainComplaint"],
.triage-form textarea[name="chiefComplaint"]{
  min-height:46px!important;
  max-height:60px!important;
}
.triage-form .risk-options,
.triage-form .risk-grid,
.triage-form .risk-selector{
  gap:6px!important;
  margin-top:6px!important;
}
.triage-form .risk-option,
.triage-form .risk-card{
  padding:7px 9px!important;
  min-height:auto!important;
}
.triage-form .card-head,
.triage-form .section-title{
  margin-bottom:6px!important;
  padding-bottom:5px!important;
}

/* V64 — ajuste visual da Unidade de Saúde */
.facility-medical-director-row{
  display:grid!important;
  grid-template-columns:minmax(0,1.65fr) minmax(170px,.85fr) minmax(150px,.72fr) minmax(120px,.58fr)!important;
  gap:6px 9px!important;
  align-items:end!important;
}
.facility-medical-director-row .field{min-width:0!important}
.facility-actions-right{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  margin-top:8px!important;
  padding:8px 2px 0 0!important;
}
.facility-actions-right .btn{
  min-height:34px!important;
  padding:7px 12px!important;
}
.facility-delete-btn{
  border-color:#efb0b0!important;
  color:#c62828!important;
  background:#fff!important;
}


/* Fila do Pronto Socorro — linha única e tempos compactos */
.ps-queue-wrap{overflow-x:hidden}
.ps-queue-table{width:100%;table-layout:auto;font-size:11px}
.ps-queue-table th,.ps-queue-table td{white-space:nowrap;padding:8px 6px}
body:not(.login-page) .content .ps-queue-table td{font-size:11px}
.ps-queue-table .badge{white-space:nowrap}
.ps-queue-table td.actions{display:flex;align-items:center;flex-wrap:nowrap;gap:5px}
.ps-queue-table td.actions .btn{white-space:nowrap;padding-left:8px;padding-right:8px}
.ps-queue-table th:nth-child(1),.ps-queue-table td:nth-child(1){width:8%}
.ps-queue-table th:nth-child(2),.ps-queue-table td:nth-child(2){width:18%}
.ps-queue-table th:nth-child(3),.ps-queue-table td:nth-child(3){width:10%}
.ps-queue-table th:nth-child(4),.ps-queue-table td:nth-child(4){width:10%}
.ps-queue-table th:nth-child(5),.ps-queue-table td:nth-child(5){width:9%}
.ps-queue-table th:nth-child(6),.ps-queue-table td:nth-child(6){width:9%}
.ps-queue-table th:nth-child(7),.ps-queue-table td:nth-child(7){width:14%}
.ps-queue-table th:nth-child(8),.ps-queue-table td:nth-child(8){width:9%}
.ps-queue-table th:nth-child(9),.ps-queue-table td:nth-child(9){width:13%}


/* Ajustes visuais — Classificação de Risco e fila do Pronto Socorro */
.triage-complete{
  background:#e8eef5 !important;
  color:#536577 !important;
  border:1px solid #d6e0e8 !important;
  text-transform:none !important;
  font-weight:700 !important;
}

/* Classificação com maior contraste visual, preservando a cor clínica */
.risk-blue{
  background:#0d6efd !important;
  color:#fff !important;
  border-color:#0d6efd !important;
}
.risk-green{
  background:#22a06b !important;
  color:#fff !important;
  border-color:#22a06b !important;
}
.risk-yellow{
  background:#f3c623 !important;
  color:#4a3a00 !important;
  border-color:#e0b400 !important;
}
.risk-orange{
  background:#f28c18 !important;
  color:#fff !important;
  border-color:#f28c18 !important;
}
.risk-red{
  background:#dc3545 !important;
  color:#fff !important;
  border-color:#dc3545 !important;
}

/* Fila do PS: tempos sem prefixo e ações sempre visíveis */
.ps-time-chip{
  min-width:58px;
  justify-content:center;
  white-space:nowrap;
}
.ps-queue-wrap{
  overflow-x:visible !important;
}
.ps-queue-table{
  width:100% !important;
  table-layout:auto !important;
  font-size:10.7px !important;
}
.ps-queue-table th,
.ps-queue-table td{
  white-space:nowrap !important;
  padding:8px 5px !important;
}
body:not(.login-page) .content .ps-queue-table td{
  font-size:10.7px !important;
}
.ps-queue-table td.actions{
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:4px !important;
}
.ps-queue-table td.actions .btn{
  white-space:nowrap !important;
  padding-left:7px !important;
  padding-right:7px !important;
  min-width:auto !important;
}
.ps-queue-table th:nth-child(2),
.ps-queue-table td:nth-child(2){
  max-width:200px;
}
.ps-queue-table th:nth-child(7),
.ps-queue-table td:nth-child(7){
  max-width:180px;
}


/* Fila do Pronto Socorro — ação compacta de informações */
.ps-info-btn{
  width:32px !important;
  min-width:32px !important;
  height:32px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:9px !important;
  background:#f6c945 !important;
  border:1px solid #e4b72f !important;
  color:#5d4700 !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1 !important;
}
.ps-info-btn:hover{
  background:#efbd2f !important;
  border-color:#d9aa20 !important;
}


/* Pronto Socorro — organização da fila ativa e atendidos */
.ps-section-card{margin-bottom:18px}
.ps-attended-card{margin-top:18px}
.ps-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ps-section-head h3{margin:0}
.ps-section-subtitle{margin-top:3px;font-size:11px}
.ps-count-badge{
  min-width:28px;
  height:28px;
  padding:0 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#e8f1fb;
  color:#2d5f8a;
  border:1px solid #d4e3f2;
}
.ps-count-muted{
  background:#f2f4f6;
  color:#647483;
  border-color:#e3e7eb;
}

/* Detalhes — apenas ícone dourado, sem caixote */
.ps-info-btn{
  width:26px !important;
  min-width:26px !important;
  height:26px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#d6a400 !important;
  font-size:21px !important;
  font-weight:800 !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.ps-info-btn:hover,
.ps-info-btn:focus{
  background:transparent !important;
  border:0 !important;
  color:#b88900 !important;
  box-shadow:none !important;
}


/* Pronto Socorro — aproximar Status e Ações e eliminar espaço ocioso */
.ps-queue-table th:nth-last-child(2),
.ps-queue-table td:nth-last-child(2){
  width:1% !important;
  padding-right:4px !important;
}
.ps-queue-table th:last-child,
.ps-queue-table td:last-child{
  width:1% !important;
  padding-left:4px !important;
}
.ps-queue-table td.actions{
  justify-content:flex-start !important;
}


/* Classificação de risco — caixas uniformes */
.ps-queue-table .risk-blue,
.ps-queue-table .risk-green,
.ps-queue-table .risk-yellow,
.ps-queue-table .risk-orange,
.ps-queue-table .risk-red,
body:not(.login-page) .content .risk-blue,
body:not(.login-page) .content .risk-green,
body:not(.login-page) .content .risk-yellow,
body:not(.login-page) .content .risk-orange,
body:not(.login-page) .content .risk-red{
  width:112px !important;
  min-width:112px !important;
  max-width:112px !important;
  height:30px !important;
  min-height:30px !important;
  padding:0 8px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  text-transform:uppercase !important;
  font-size:11.5px !important;
  font-weight:800 !important;
  line-height:1 !important;
  box-sizing:border-box !important;
}


/* Classificação de risco — retângulo arredondado, mais largo */
.ps-queue-table .risk-blue,
.ps-queue-table .risk-green,
.ps-queue-table .risk-yellow,
.ps-queue-table .risk-orange,
.ps-queue-table .risk-red,
body:not(.login-page) .content .risk-blue,
body:not(.login-page) .content .risk-green,
body:not(.login-page) .content .risk-yellow,
body:not(.login-page) .content .risk-orange,
body:not(.login-page) .content .risk-red{
  width:132px !important;
  min-width:132px !important;
  max-width:132px !important;
  height:32px !important;
  min-height:32px !important;
  padding:0 14px !important;
  border-radius:9px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}


/* Status ATENDIDO — contorno verde, sem preenchimento */
.status-attended-outline{
  min-width:96px !important;
  height:32px !important;
  padding:0 14px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  border-radius:9px !important;
  background:transparent !important;
  color:#1f9d68 !important;
  border:1.5px solid #55b98e !important;
  font-weight:800 !important;
  text-transform:none !important;
  white-space:nowrap !important;
}

/* NOVO ATENDIMENTO — compacto, azul, sem preenchimento */
.ps-new-care-btn{
  min-width:auto !important;
  height:30px !important;
  padding:0 9px !important;
  border-radius:8px !important;
  background:transparent !important;
  color:#1f67c7 !important;
  border:1.4px solid #6fa3e7 !important;
  box-shadow:none !important;
  font-size:10.7px !important;
  font-weight:700 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.ps-new-care-btn:hover,
.ps-new-care-btn:focus{
  background:#f5f9ff !important;
  color:#1859ad !important;
  border-color:#4f8edb !important;
  box-shadow:none !important;
}


/* Painel > Atendimentos recentes — tempo desde a entrada e detalhes */
.dashboard-recent-table .dashboard-entry-time{
  display:inline-block;
  min-width:62px;
  font-variant-numeric:tabular-nums;
  font-weight:800;
  color:#23834d;
  white-space:nowrap;
}
.dashboard-recent-table .dashboard-details-cell{
  text-align:center;
  width:58px;
}
.dashboard-info-btn{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  padding:2px 4px;
  margin:0;
  color:#e4ad00;
  font-size:23px;
  line-height:1;
  font-weight:700;
  cursor:pointer;
}
.dashboard-info-btn:hover,
.dashboard-info-btn:focus{
  background:transparent;
  color:#c99500;
  outline:none;
  transform:scale(1.06);
}

/* ProntSync 10: ação secundária fora do cartão */
.room-view-only-floating{
 position:fixed!important;right:26px!important;bottom:24px!important;
 width:auto!important;min-width:0!important;padding:7px 10px!important;
 text-align:left!important;background:transparent!important;border:0!important;
 box-shadow:none!important;z-index:30;
}
.room-view-only-floating strong{
 display:block!important;text-align:left!important;font-size:12px!important;
 line-height:1.15!important;margin:0!important;
}
.room-view-only-floating span{
 display:block!important;text-align:left!important;font-size:9px!important;
 line-height:1.15!important;margin:2px 0 0!important;white-space:nowrap!important;
}

/* ProntSync 11 — ícones da seleção de consultório */
.room-choice{display:flex!important;align-items:center!important;gap:14px!important;text-align:left!important}
.room-choice-icon{flex:0 0 auto;width:32px;height:32px;display:flex;align-items:center;justify-content:center}
.room-choice-icon svg{width:30px;height:30px;fill:none;stroke:#1266c5;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.room-choice-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.room-choice-copy strong,.room-choice-copy>span{display:block}
.room-view-only-floating{display:flex!important;align-items:center!important;gap:9px!important}
.room-view-icon{flex:0 0 auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center}
.room-view-icon svg{width:25px;height:25px;fill:none;stroke:#1266c5;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.room-view-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.room-view-copy strong{display:block!important;text-align:left!important;font-size:12px!important;line-height:1.15!important;margin:0!important}
.room-view-copy>span{display:block!important;text-align:left!important;font-size:9px!important;line-height:1.15!important;margin:0!important;white-space:nowrap!important}

/* ProntSync 12 — acabamento aprovado da tela de consultório */
.room-choice-copy > span{
  color:#16a34a!important;
  font-weight:500!important;
}
.room-choice-icon{
  width:34px!important;
  height:34px!important;
}
.room-choice-icon svg{
  width:32px!important;
  height:32px!important;
  stroke:#0f5fc2!important;
  stroke-width:1.7!important;
}
.room-view-only-floating{
  right:28px!important;
  bottom:26px!important;
  padding:6px 8px!important;
  gap:10px!important;
}
.room-view-icon{
  width:28px!important;
  height:28px!important;
}
.room-view-icon svg{
  width:27px!important;
  height:27px!important;
  stroke:#0f5fc2!important;
  stroke-width:1.65!important;
}
.room-view-copy{
  width:188px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:2px!important;
}
.room-view-copy strong{
  display:block!important;
  width:100%!important;
  margin:0!important;
  text-align:left!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:700!important;
  color:#0d4f9f!important;
  white-space:nowrap!important;
}
.room-view-copy > span{
  display:block!important;
  width:100%!important;
  margin:0!important;
  text-align:left!important;
  font-size:7.8px!important;
  line-height:1.15!important;
  letter-spacing:-0.04px!important;
  color:#4b72a1!important;
  white-space:nowrap!important;
}

/* ProntSync 13 — alinhamento e hover do bloco inferior direito */
.room-view-only-floating,
.room-view-only-floating:hover,
.room-view-only-floating:focus,
.room-view-only-floating:active{
  transform:none!important;
  box-shadow:none!important;
  border:0!important;
  background:transparent!important;
  margin-top:0!important;
}
.room-view-copy{
  width:auto!important;
  min-width:0!important;
  align-items:flex-start!important;
}
.room-view-copy strong{
  width:auto!important;
  display:inline-block!important;
}
.room-view-copy > span{
  width:auto;
  max-width:none!important;
  letter-spacing:0!important;
  transform:none!important;
  transform-origin:left center!important;
}
.room-choice:not(.busy) .room-choice-copy > span{
  color:#16a34a!important;
}
.room-choice.busy .room-choice-copy > span{
  color:#8798a8!important;
}

/* ProntSync 14 — alinhamento visual exato do bloco inferior direito */
.room-view-only-floating{
  gap:6px!important;
}

.room-view-copy{
  width:auto!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:1px!important;
}

.room-view-copy strong{
  display:inline-block!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  line-height:1.08!important;
}

.room-view-copy > span{
  display:inline-block!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  line-height:1.08!important;
  font-size:8px!important;
  letter-spacing:0!important;
  transform-origin:left center!important;
}

.room-view-only-floating,
.room-view-only-floating *,
.room-view-only-floating:hover,
.room-view-only-floating:hover *{
  transition:none!important;
}

.room-view-only-floating:hover,
.room-view-only-floating:focus,
.room-view-only-floating:active{
  transform:none!important;
  top:auto!important;
  box-shadow:none!important;
}

/* ProntSync 15 — bloco inferior direito fixo */
.room-view-only-floating{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  right:28px!important;
  bottom:26px!important;
  padding:6px 8px!important;
}
.room-view-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:2px!important;
  width:166px!important;
  min-width:166px!important;
  max-width:166px!important;
}
.room-view-copy strong{
  display:block!important;
  width:166px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  white-space:nowrap!important;
  font-size:12px!important;
  line-height:1.10!important;
  font-weight:700!important;
  color:#0d4f9f!important;
}
.room-view-copy > span{
  display:block!important;
  width:166px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  white-space:nowrap!important;
  font-size:7.35px!important;
  line-height:1.10!important;
  letter-spacing:-0.08px!important;
  color:#4b72a1!important;
  transform:none!important;
}
.room-view-only-floating,
.room-view-only-floating *,
.room-view-only-floating:hover,
.room-view-only-floating:hover *,
.room-view-only-floating:focus,
.room-view-only-floating:active{
  transition:none!important;
  transform:none!important;
}
.room-view-only-floating:hover,
.room-view-only-floating:focus,
.room-view-only-floating:active{
  box-shadow:none!important;
  border:0!important;
  background:transparent!important;
}

/* ProntSync 16 — ajuste fino definitivo da segunda linha */
.room-view-copy{
  width:166px!important;
  min-width:166px!important;
  max-width:166px!important;
}
.room-view-copy strong{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  display:block!important;
  white-space:nowrap!important;
}
.room-view-copy > span{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  display:block!important;
  white-space:nowrap!important;
  font-size:6.05px!important;
  line-height:1.05!important;
  letter-spacing:-0.03px!important;
  transform:none!important;
}

/* ProntSync 17 — refinamentos visuais da Classificação de Risco */
.triage-waiting-text,
.triage-pending-text{
  font-weight:400!important;
  text-transform:none!important;
}
.triage-pending-text{
  letter-spacing:0!important;
}

/* Tempo como texto simples, sem badge/box */
.table td:nth-child(5){
  font-weight:400;
}

/* Ícone amarelo pequeno, sem preenchimento */
.triage-info-btn{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  color:#e6a700;
  font-size:17px;
  line-height:1;
  font-weight:400;
  cursor:pointer;
  vertical-align:middle;
}
.triage-info-btn:hover,
.triage-info-btn:focus,
.triage-info-btn:active{
  color:#c88e00;
  background:transparent;
  border:0;
  box-shadow:none;
  transform:none;
}


/* ProntSync 25 — Pronto Socorro revisado e consolidado */
.ps-queue-table .triage-waiting-text{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  background:#eef4f8!important;
  border:1px solid #e3edf4!important;
  color:#4f6f85!important;
  font-weight:400!important;
  text-transform:none!important;
  letter-spacing:0!important;
  line-height:1!important;
  box-shadow:none!important;
}

.ps-time-text{
  display:inline!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:inherit!important;
  font-weight:400!important;
}

.er-actions{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  white-space:nowrap!important;
}

.er-call-icon{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0 2px!important;
  margin:0!important;
  color:#174f7a!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:400!important;
  cursor:pointer!important;
}
.er-call-icon:hover,
.er-call-icon:focus,
.er-call-icon:active{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  color:#0d4168!important;
}

.ps-info-btn{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0 2px!important;
  margin:0 6px 0 0!important;
  color:#e6a700!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:400!important;
  cursor:pointer!important;
}
.ps-info-btn:hover,
.ps-info-btn:focus,
.ps-info-btn:active{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  color:#c88e00!important;
}


/* ProntSync 26 — padronização Classificação de Risco x Pronto Socorro */

/* A célula Ações permanece table-cell para preservar as linhas horizontais. */
.ps-queue-table td.er-actions{
  display:table-cell!important;
  vertical-align:middle!important;
}

.er-actions-wrap{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  white-space:nowrap!important;
}

/* O i do Pronto Socorro passa a ter exatamente o mesmo tamanho do i da Classificação. */
.ps-info-btn{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0 7px 0 0!important;
  color:#e6a700!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:400!important;
  cursor:pointer!important;
  vertical-align:middle!important;
}

/* Mantém o mesmo comportamento visual do i da Classificação. */
.ps-info-btn:hover,
.ps-info-btn:focus,
.ps-info-btn:active{
  color:#c88e00!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
}

/* Sequência padronizada no Pronto Socorro:
   Registro | Paciente | Idade | Classificação | Entrada | Tempo | Médico | Status | Ações */
.ps-queue-table th:nth-child(1), .ps-queue-table td:nth-child(1){width:8%!important;}
.ps-queue-table th:nth-child(2), .ps-queue-table td:nth-child(2){width:18%!important;}
.ps-queue-table th:nth-child(3), .ps-queue-table td:nth-child(3){width:7%!important;}
.ps-queue-table th:nth-child(4), .ps-queue-table td:nth-child(4){width:11%!important;}
.ps-queue-table th:nth-child(5), .ps-queue-table td:nth-child(5){width:11%!important;}
.ps-queue-table th:nth-child(6), .ps-queue-table td:nth-child(6){width:11%!important;}
.ps-queue-table th:nth-child(7), .ps-queue-table td:nth-child(7){width:11%!important;}
.ps-queue-table th:nth-child(8), .ps-queue-table td:nth-child(8){width:10%!important;}
.ps-queue-table th:nth-child(9), .ps-queue-table td:nth-child(9){width:13%!important;}

/* Evita que regras antigas baseadas em nth-last-child comprimam Status/Ações. */
.ps-queue-table th:nth-last-child(2),
.ps-queue-table td:nth-last-child(2){
  width:10%!important;
  padding-right:5px!important;
}
.ps-queue-table th:last-child,
.ps-queue-table td:last-child{
  width:13%!important;
  padding-left:5px!important;
}

/* Classificação de Risco: mantém alinhamento consistente após mover a coluna Classificação. */
.table th,
.table td{
  vertical-align:middle;
}

/* ProntSync 68 — status em texto, na cor da classificação de risco. */
.ps-status-in-care{
  display:inline-block!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  color:var(--ps-row-accent,#718096)!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:600!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
.ps-care-action{
  text-transform:none!important;
  font-weight:400!important;
}

/* ProntSync 28 — padronização dos status e botão Continuar */
.ps-queue-table .triage-waiting-text,
.ps-queue-table .ps-status-in-care{
  width:auto!important;
  min-width:0!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:600!important;
  text-transform:none!important;
  white-space:nowrap!important;
}

/* Sem caixa: a classificação da própria linha fornece a cor do status. */
.ps-queue-table .ps-status-in-care{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--ps-status-color,var(--ps-row-accent,#718096))!important;
  font-size:var(--ps-row-info-size,12px)!important;
  font-weight:var(--ps-row-info-weight,600)!important;
}
.ps-queue-table .ps-row-info{
  color:var(--ps-editor-color,#17324a)!important;
  font-size:var(--ps-editor-size,var(--ps-row-info-size,13px))!important;
  font-weight:var(--ps-editor-weight,var(--ps-row-info-weight,400))!important;
  text-align:var(--ps-editor-align,left)!important;
  margin-left:var(--ps-editor-gap,0)!important;
}
.ps-queue-table .ps-row-info .ps-time-text{color:inherit!important;font:inherit!important}.ps-queue-table .ps-row-classification .badge{font-size:inherit!important;font-weight:inherit!important;color:inherit!important;margin-left:0!important}
.ps-queue-table .ps-status-in-care{color:var(--ps-editor-color,var(--ps-status-color,var(--ps-row-accent,#718096)))!important;font-size:var(--ps-editor-size,var(--ps-row-info-size,12px))!important;font-weight:var(--ps-editor-weight,var(--ps-row-info-weight,600))!important;text-align:var(--ps-editor-align,left)!important;margin-left:var(--ps-editor-gap,0)!important}
.er-actions-wrap .ps-info-btn{color:var(--ps-editor-color,#d69e00)!important;font-size:var(--ps-editor-size,18px)!important;font-weight:var(--ps-editor-weight,600)!important;margin-left:var(--ps-editor-gap,0)!important}.er-actions-wrap .ps-care-action{color:var(--ps-editor-color,#fff)!important;font-size:var(--ps-editor-size,12px)!important;font-weight:var(--ps-editor-weight,600)!important;margin-left:var(--ps-editor-gap,0)!important}

/* Continuar segue exatamente o botão primário Atender. */
.ps-queue-table .ps-care-action{
  text-transform:none!important;
  font-weight:600!important;
}


/* ProntSync 29 — ajuste mínimo da coluna Ações no Pronto Socorro */

/* 1) Ícone de informações: discretamente maior, sem mudar cor/estilo. */
.ps-info-btn{
  font-size:18px!important;
  line-height:1!important;
}

/* 2) Garante que todos os ícones fiquem exatamente na mesma linha/coluna visual. */
.er-actions-wrap{
  display:grid!important;
  grid-template-columns:22px 22px 84px!important;
  column-gap:5px!important;
  align-items:center!important;
  justify-content:start!important;
  white-space:nowrap!important;
}

/* Em atendimento não possui chamada por voz nesta linha: o ícone de
   informações ocupa a primeira posição e fica equilibrado antes de Continuar. */
.er-actions-wrap.er-actions-active{
  grid-template-columns:22px 84px!important;
  column-gap:var(--ps-active-action-gap,14px)!important;
}
.er-actions-wrap.er-actions-active .ps-info-btn{
  grid-column:1!important;
}
.er-actions-wrap.er-actions-active .ps-care-action{
  grid-column:2!important;
}

.er-actions-wrap .er-call-icon{
  grid-column:1!important;
  justify-self:center!important;
  margin:0!important;
}

.er-actions-wrap .ps-info-btn{
  grid-column:2!important;
  justify-self:center!important;
  margin:0!important;
}

/* 3) Atender e Continuar: exatamente o mesmo tamanho e texto centralizado. */
.er-actions-wrap .btn-primary.btn-sm,
.er-actions-wrap .ps-care-action{
  grid-column:3!important;
  width:84px!important;
  min-width:84px!important;
  max-width:84px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0 8px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
  box-sizing:border-box!important;
}


/* ProntSync 30 — ajuste sutil de legibilidade no Pronto Socorro */

/* Paciente, Idade, Entrada, Tempo Pós-Triagem e Médico responsável */
.ps-queue-table td:nth-child(2),
.ps-queue-table td:nth-child(3),
.ps-queue-table td:nth-child(5),
.ps-queue-table td:nth-child(6),
.ps-queue-table td:nth-child(7){
  font-size:11.6px!important;
}

/* Médico responsável na mesma tonalidade visual do tempo */
.ps-queue-table td:nth-child(7),
.ps-queue-table td:nth-child(7) strong,
.ps-queue-table td:nth-child(7) span{
  color:#718096!important;
}

/* Mantém o tempo com a mesma tonalidade usada como referência */
.ps-queue-table td:nth-child(6),
.ps-queue-table td:nth-child(6) .ps-time-text{
  color:#718096!important;
}


/* ProntSync 31 — aumento perceptível da fonte solicitado */
.ps-queue-table td:nth-child(2),
.ps-queue-table td:nth-child(3),
.ps-queue-table td:nth-child(5),
.ps-queue-table td:nth-child(6),
.ps-queue-table td:nth-child(7){
  font-size:13px!important;
}

/* Preserva Médico responsável no mesmo cinza-claro do Tempo Pós-Triagem */
.ps-queue-table td:nth-child(7),
.ps-queue-table td:nth-child(7) strong,
.ps-queue-table td:nth-child(7) span,
.ps-queue-table td:nth-child(6),
.ps-queue-table td:nth-child(6) .ps-time-text{
  color:#718096!important;
}


/* ProntSync 32 — correção efetiva da fonte no Pronto Socorro.
   Este seletor supera a regra antiga:
   body:not(.login-page) .content .ps-queue-table td { font-size:10.7px!important; }
*/
body:not(.login-page) .content .ps-queue-table td:nth-child(2),
body:not(.login-page) .content .ps-queue-table td:nth-child(3),
body:not(.login-page) .content .ps-queue-table td:nth-child(5),
body:not(.login-page) .content .ps-queue-table td:nth-child(6),
body:not(.login-page) .content .ps-queue-table td:nth-child(7){
  font-size:13px!important;
}

/* Médico responsável no mesmo cinza-claro do Tempo Pós-Triagem. */
body:not(.login-page) .content .ps-queue-table td:nth-child(6),
body:not(.login-page) .content .ps-queue-table td:nth-child(6) .ps-time-text,
body:not(.login-page) .content .ps-queue-table td:nth-child(7),
body:not(.login-page) .content .ps-queue-table td:nth-child(7) strong,
body:not(.login-page) .content .ps-queue-table td:nth-child(7) span{
  color:#718096!important;
}


/* ProntSync 452 — bloco legado de tipografia da Classificação removido.
   A tipografia das listas clínicas é controlada exclusivamente por clinical-list-system.css. */

/* ProntSync 35 — separação dos estados do Pronto Socorro */
.ps-active-card{
  margin-top:14px;
}
.ps-attended-card{
  margin-top:14px;
}
.ps-count-active{
  background:#fff0d9!important;
  border-color:#ffd9a6!important;
  color:#b86600!important;
}


/* ProntSync 36 — padronização visual da Classificação de Risco com Pronto Socorro */
body:not(.login-page) .content .triage-waiting-text,
body:not(.login-page) .content .triage-pending-text,
body:not(.login-page) .content .triage-done-text{
  font-size:13px!important;
  line-height:1.2!important;
}

/* Concluído continua sem negrito */
body:not(.login-page) .content .triage-done-text{
  font-weight:400!important;
}

/* Ícone de informações no mesmo tamanho do Pronto Socorro */
body:not(.login-page) .content .triage-info-btn{
  font-size:18px!important;
  line-height:1!important;
  font-weight:400!important;
}


/* ProntSync 37 — Painel padronizado com Pronto Socorro/Classificação */

/* Dados textuais da tabela Atendimentos recentes */
body:not(.login-page) .content .dashboard-recent-table td{
  font-size:13px!important;
}

/* Mantém paciente/nome legível sem alterar peso já existente */
body:not(.login-page) .content .dashboard-recent-table td strong{
  font-size:13px!important;
}

/* Idade e demais textos auxiliares */
body:not(.login-page) .content .dashboard-recent-table .muted{
  font-size:13px!important;
}

/* Tempo desde a entrada */
body:not(.login-page) .content .dashboard-recent-table .dashboard-entry-time{
  font-size:13px!important;
  color:#718096!important;
}

/* Status/badges no mesmo tamanho adotado nas demais páginas */
body:not(.login-page) .content .dashboard-recent-table .badge{
  font-size:13px!important;
  line-height:1.2!important;
}

/* Ícone de informações no mesmo tamanho aprovado */
body:not(.login-page) .content .dashboard-recent-table .dashboard-info-btn{
  font-size:18px!important;
  line-height:1!important;
  font-weight:400!important;
}


/* ProntSync 38 — Painel: remover negrito apenas dos textos indicados */
body:not(.login-page) .content .dashboard-recent-table .dashboard-entry-time{
  font-weight:400!important;
}

/* Badges textuais do Painel sem negrito.
   As classificações de risco efetivamente classificadas permanecem preservadas
   pelas regras específicas de risk badge já existentes. */
body:not(.login-page) .content .dashboard-recent-table td:nth-child(3) .badge:not([style*="color:#fff"]){
  font-weight:400!important;
}
body:not(.login-page) .content .dashboard-recent-table td:nth-child(6) .badge{
  font-weight:400!important;
}

/* ProntSync 38 CLEAN R1 — identidade neutra e ícone de informações padronizado */
.login-logo-placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  color:#a9b2bb;font-size:22px;font-weight:600;letter-spacing:.08em;text-align:center;
}
.visual-logo-placeholder{
  width:100%;min-height:110px;display:flex;align-items:center;justify-content:center;
  color:#a9b2bb;font-size:14px;font-weight:600;letter-spacing:.06em;text-align:center;
}

/* Um único desenho para todos os ícones "i": círculo perfeito, sem preenchimento. */
body:not(.login-page) .content .prontsync-info-btn{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  padding:0!important;
  margin:0!important;
  border:1.7px solid #e6a700!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#e6a700!important;
  box-sizing:border-box!important;
  line-height:1!important;
  vertical-align:middle!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:visible!important;
}
body:not(.login-page) .content .prontsync-info-btn > span{
  display:block!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:12px!important;
  line-height:12px!important;
  font-weight:700!important;
  font-style:normal!important;
  transform:translateY(-.2px);
}
body:not(.login-page) .content .prontsync-info-btn:hover,
body:not(.login-page) .content .prontsync-info-btn:focus{
  border-color:#c88e00!important;
  color:#c88e00!important;
  outline:none!important;
}
body:not(.login-page) .content .prontsync-info-btn[data-tooltip]::after{
  content:attr(data-tooltip);
  position:absolute;
  z-index:9999;
  left:50%;bottom:calc(100% + 8px);
  transform:translateX(-50%);
  padding:5px 8px;
  border-radius:6px;
  background:#263646;
  color:#fff;
  font:500 11px/1.2 Arial,Helvetica,sans-serif;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .12s ease;
}
body:not(.login-page) .content .prontsync-info-btn[data-tooltip]:hover::after{
  opacity:1;
  visibility:visible;
}


/* ProntSync 40 — Painel: eliminar rolagem horizontal em Atendimentos recentes */
body:not(.login-page) .content .dashboard-recent-wrap{
  overflow-x:hidden!important;
  width:100%!important;
}
body:not(.login-page) .content .dashboard-recent-table{
  width:100%!important;
  table-layout:fixed!important;
}
body:not(.login-page) .content .dashboard-recent-table th,
body:not(.login-page) .content .dashboard-recent-table td{
  min-width:0!important;
}
body:not(.login-page) .content .dashboard-recent-table th:nth-child(1),
body:not(.login-page) .content .dashboard-recent-table td:nth-child(1){width:11%!important;}
body:not(.login-page) .content .dashboard-recent-table th:nth-child(2),
body:not(.login-page) .content .dashboard-recent-table td:nth-child(2){width:20%!important;}
body:not(.login-page) .content .dashboard-recent-table th:nth-child(3),
body:not(.login-page) .content .dashboard-recent-table td:nth-child(3){width:17%!important;}
body:not(.login-page) .content .dashboard-recent-table th:nth-child(4),
body:not(.login-page) .content .dashboard-recent-table td:nth-child(4){width:14%!important;}
body:not(.login-page) .content .dashboard-recent-table th:nth-child(5),
body:not(.login-page) .content .dashboard-recent-table td:nth-child(5){width:16%!important;}
body:not(.login-page) .content .dashboard-recent-table th:nth-child(6),
body:not(.login-page) .content .dashboard-recent-table td:nth-child(6){width:16%!important;}
body:not(.login-page) .content .dashboard-recent-table th:nth-child(7),
body:not(.login-page) .content .dashboard-recent-table td:nth-child(7){width:6%!important;text-align:center!important;}
body:not(.login-page) .content .dashboard-recent-table td:nth-child(1),
body:not(.login-page) .content .dashboard-recent-table td:nth-child(4),
body:not(.login-page) .content .dashboard-recent-table td:nth-child(5){
  white-space:nowrap!important;
}
body:not(.login-page) .content .dashboard-recent-table td:nth-child(2){
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}


/* ProntSync 42 — indicadores gerenciais ampliados */
.analytics-v42-section{margin:14px 0;padding:16px;background:#fff;border:1px solid var(--app-line);border-radius:14px;box-shadow:0 5px 16px rgba(30,67,92,.05)}
.analytics-v42-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.analytics-v42-head h2{margin:0;color:var(--app-title);font-size:16px}
.analytics-v42-head p{margin:3px 0 0;color:#7a8d9d;font-size:10.5px}
.analytics-v42-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.analytics-v42-metrics>div{padding:12px;border:1px solid var(--app-line);border-radius:11px;background:var(--app-soft2)}
.analytics-v42-metrics span{display:block;font-size:9px;font-weight:900;color:#718697;letter-spacing:.04em}
.analytics-v42-metrics strong{display:block;margin:5px 0 2px;color:var(--app-title);font-size:20px}
.analytics-v42-metrics small{font-size:9.5px;color:#8797a5}
.analytics-v42-risk-targets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}
.analytics-v42-target{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:7px;align-items:center;padding:9px;border:1px solid var(--app-line);border-radius:10px}
.analytics-v42-target .risk-dot{grid-row:1/3}.analytics-v42-target strong{display:block;font-size:10px;color:var(--app-title)}.analytics-v42-target small{display:block;font-size:8.5px;color:#8495a3}.analytics-v42-target b{font-size:14px;color:var(--app-title)}.analytics-v42-target em{grid-column:2/4;font-style:normal;font-size:8px;color:#8b9aa6;margin-top:2px}
.analytics-v42-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.analytics-v42-card{min-width:0;margin:0!important}
.analytics-v42-profile{padding:2px 16px 16px}
.analytics-v42-sex{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.analytics-v42-sex>div{padding:10px;border:1px solid var(--app-line);border-radius:9px;background:var(--app-soft2)}.analytics-v42-sex span{font-size:9px;color:#7a8c9c}.analytics-v42-sex strong{display:block;color:var(--app-title);font-size:18px;margin-top:2px}
.analytics-v42-age{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.analytics-v42-age>div{display:flex;justify-content:space-between;gap:5px;padding:7px 8px;border-radius:8px;background:#f7f9fb;font-size:9.5px}.analytics-v42-age span{color:#718697}.analytics-v42-age b{color:var(--app-title)}
.analytics-v42-hours{height:135px;padding:8px 16px 0;display:grid;grid-template-columns:repeat(24,1fr);gap:3px;align-items:end;border-bottom:1px solid var(--app-line)}.analytics-v42-hours>div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}.analytics-v42-hours i{display:block;width:100%;min-height:3px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--app-accent),var(--app-primary))}.analytics-v42-hours span{font-size:7px;color:#8394a3;height:10px}
.analytics-v42-week{padding:10px 16px 16px;display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.analytics-v42-week>div{text-align:center;padding:6px 3px;border-radius:8px;background:var(--app-soft2)}.analytics-v42-week span{display:block;font-size:8px;color:#8293a1}.analytics-v42-week strong{display:block;margin-top:2px;font-size:12px;color:var(--app-title)}
.analytics-v42-quality{padding:3px 16px 16px;display:grid;gap:12px}.analytics-v42-quality>div>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#637a8e}.analytics-v42-quality b{color:var(--app-title)}.analytics-v42-quality small{font-size:8.5px;color:#8a99a6}.analytics-v42-progress{height:7px;margin:5px 0;background:var(--app-soft);border-radius:999px;overflow:hidden}.analytics-v42-progress i{height:100%;display:block;border-radius:999px;background:linear-gradient(90deg,var(--app-primary),var(--app-accent))}
@media(max-width:1200px){.analytics-v42-risk-targets{grid-template-columns:repeat(3,1fr)}.analytics-v42-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.analytics-v42-grid{grid-template-columns:1fr}.analytics-v42-risk-targets{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.analytics-v42-metrics,.analytics-v42-risk-targets{grid-template-columns:1fr}.analytics-v42-age{grid-template-columns:repeat(2,1fr)}}


/* ProntSync 43 — refinamentos do PS, tonalidade e indicadores */
.ps-patient-cell{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  flex-wrap:wrap!important;
}
.ps-patient-cell strong{
  display:inline-block!important;
  min-width:0!important;
}
.ps-preferential-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:22px!important;
  padding:3px 7px!important;
  margin:0!important;
  line-height:1!important;
  vertical-align:middle!important;
  background:#fff4d6!important;
  color:#8a5b00!important;
  border:1px solid #f0cf7b!important;
  border-radius:999px!important;
  font-size:10px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

/* O agrupamento temporal do CID permanece em uma única linha. */
.analytics-temporal-head>div:first-child{min-width:0;flex:1 1 auto}
.analytics-grain{
  flex:0 0 auto!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  gap:4px!important;
}
.analytics-grain .btn{
  white-space:nowrap!important;
  min-width:66px!important;
  padding-left:8px!important;
  padding-right:8px!important;
}

/* Atendimentos no período — indicador executivo em destaque */
.analytics-volume-hero{
  margin:0 0 14px!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--app-primary) 24%,var(--app-line))!important;
  box-shadow:0 8px 24px rgba(30,67,92,.07)!important;
}
.analytics-volume-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:18px 18px 10px;
}
.analytics-volume-eyebrow{
  display:block;
  font-size:10px;
  font-weight:900;
  letter-spacing:.055em;
  color:#688095;
}
.analytics-volume-total{
  margin:3px 0 0;
  font-size:42px;
  line-height:1;
  font-weight:900;
  color:var(--app-title);
}
.analytics-volume-head small{display:block;margin-top:5px;color:#7d90a0;font-size:10.5px}
.analytics-volume-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.analytics-volume-grain{display:flex;gap:4px;flex-wrap:nowrap}
.analytics-volume-grain .btn{white-space:nowrap}
.analytics-volume-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:0 18px 12px;
}
.analytics-volume-summary>div{
  padding:9px 11px;
  border:1px solid var(--app-line);
  border-radius:9px;
  background:var(--app-soft2);
}
.analytics-volume-summary span{display:block;font-size:8.5px;font-weight:800;color:#7b8e9d}
.analytics-volume-summary strong{display:inline-block;margin-top:2px;font-size:16px;color:var(--app-title)}
.analytics-volume-summary small{margin-left:6px;font-size:9px;color:#8998a4}
.analytics-volume-legend{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 18px;
  padding:0 18px 2px;
  color:#61798d;
  font-size:10.5px;
  font-weight:700;
}
.analytics-volume-legend span{display:inline-flex;align-items:center;gap:6px}
.analytics-volume-legend i{width:15px;height:4px;border-radius:999px;background:var(--app-primary)}
.analytics-volume-legend .analytics-volume-legend-peak{background:#30a46c}
.analytics-volume-chart-wrap{
  overflow-x:auto;
  padding:4px 18px 8px;
}
.analytics-volume-chart{
  min-height:280px;
  min-width:760px;
  display:flex;
  align-items:stretch;
  gap:5px;
  padding:12px 5px 0;
  border-bottom:1px solid var(--app-line);
}
.analytics-volume-column{
  flex:1 1 0;
  min-width:18px;
  display:grid;
  grid-template-rows:18px 1fr 26px;
  align-items:end;
  justify-items:center;
  gap:3px;
}
.analytics-volume-value{
  font-size:8px;
  color:#60778b;
  min-height:12px;
}
.analytics-volume-barbox{
  width:100%;
  height:100%;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.analytics-volume-barbox i{
  display:block;
  width:min(22px,78%);
  min-height:0;
  border-radius:5px 5px 0 0;
  background:linear-gradient(180deg,var(--app-accent),var(--app-primary));
}
.analytics-volume-column>span{
  font-size:7.5px;
  color:#768b9d;
  white-space:nowrap;
  transform:rotate(-35deg);
  transform-origin:center;
  align-self:start;
  margin-top:2px;
}
.analytics-volume-note{
  padding:8px 18px 13px;
  font-size:9.5px;
  color:#7b8e9e;
}
.analytics-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}

@media(max-width:900px){
  .analytics-volume-head{flex-direction:column}
  .analytics-volume-actions{justify-content:flex-start}
  .analytics-volume-summary{grid-template-columns:1fr}
  .analytics-kpis{grid-template-columns:1fr!important}
}


/* ProntSync 44 — seleção de tipo de gráfico */
.analytics-chart-type-label{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:9px;
  font-weight:800;
  color:#61798d;
  white-space:nowrap;
}
.analytics-chart-type-select{
  width:auto!important;
  min-width:132px;
  height:30px!important;
  padding:4px 24px 4px 8px!important;
  font-size:10px!important;
}
.analytics-temporal-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
}
.analytics-volume-svg{
  width:100%;
  min-width:760px;
  height:280px;
  display:block;
}
.analytics-chart-column{
  fill:var(--app-primary);
}
.analytics-chart-column-peak{
  fill:#30a46c;
}
.analytics-chart-value{
  fill:#38536b;
  stroke:#fff;
  stroke-width:2.4px;
  paint-order:stroke;
  stroke-linejoin:round;
  font-size:10px;
  font-weight:900;
}
.analytics-chart-value-peak{fill:#238354}
.analytics-chart-axis-title{
  fill:#61798d;
  font-size:10px;
  font-weight:800;
  letter-spacing:.02em;
}
.analytics-chart-date{font-size:8.5px}
.analytics-chart-line{
  fill:none;
  stroke:var(--app-primary);
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.analytics-chart-point{
  fill:var(--app-primary);
  stroke:#fff;
  stroke-width:1.2;
}
.analytics-chart-point-peak{fill:#30a46c}
.analytics-chart-area{
  fill:color-mix(in srgb,var(--app-primary) 18%,transparent);
  stroke:none;
}
.analytics-cid-column{fill:#2477c9}
.analytics-cid-column.series-1{fill:#30a46c}
.analytics-cid-column.series-2{fill:#7c5ce7}
.analytics-cid-column.series-3{fill:#e28a2b}
.analytics-cid-column.series-4{fill:#d1548b}
.analytics-cid-column.series-5{fill:#5d849e}
.analytics-cid-area{fill:#2477c9;opacity:.12}
.analytics-cid-area.series-1{fill:#30a46c}
.analytics-cid-area.series-2{fill:#7c5ce7}
.analytics-cid-area.series-3{fill:#e28a2b}
.analytics-cid-area.series-4{fill:#d1548b}
.analytics-cid-area.series-5{fill:#5d849e}
.analytics-hbar-chart{
  display:grid;
  gap:8px;
  min-width:620px;
  padding:10px 2px 16px;
}
.analytics-hbar-row{
  display:grid;
  grid-template-columns:minmax(90px,150px) minmax(180px,1fr) 42px;
  gap:9px;
  align-items:center;
  font-size:10px;
}
.analytics-hbar-row>span{
  color:#60778b;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.analytics-hbar-row>div{
  height:10px;
  border-radius:999px;
  background:var(--app-soft);
  overflow:hidden;
}
.analytics-hbar-row>div>i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--app-primary),var(--app-accent));
}
.analytics-hbar-row>b{
  text-align:right;
  color:var(--app-title);
}
.analytics-cid-hbar .analytics-hbar-row{
  grid-template-columns:minmax(180px,1fr) minmax(160px,1.4fr) 42px;
}
@media(max-width:1100px){
  .analytics-temporal-controls{flex-wrap:wrap}
}
@media(max-width:800px){
  .analytics-volume-actions{align-items:flex-start}
  .analytics-chart-type-label{width:100%}
  .analytics-chart-type-select{flex:1}
}

/* ProntSync 49 — ajuste mínimo dos controles de período */
.analytics-volume-actions{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.analytics-volume-grain{
  gap:3px;
}
.analytics-volume-grain .btn{
  min-width:0!important;
  min-height:25px!important;
  height:25px!important;
  padding:3px 7px!important;
  border-radius:7px!important;
  font-size:9px!important;
  line-height:1!important;
}
.analytics-volume-report{
  margin:0 18px;
  padding:10px 0 14px;
}

/* ProntSync 51 — tipos de gráfico por ícones, alinhados acima do gráfico */
.analytics-volume-tools-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 18px 2px;
}
.analytics-volume-tools-row .analytics-volume-legend{
  min-width:0;
  padding:0;
}
.analytics-volume-chart-icons{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  flex:0 0 auto;
  margin-left:auto;
}
.analytics-volume-chart-icon{
  width:27px;
  min-width:27px;
  height:25px;
  min-height:25px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid var(--app-line);
  border-radius:7px;
  background:#fff;
  color:#61798d;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.analytics-volume-chart-icon:hover{
  border-color:color-mix(in srgb,var(--app-primary) 48%,var(--app-line));
  color:var(--app-primary);
}
.analytics-volume-chart-icon.is-active{
  border-color:var(--app-primary);
  background:var(--app-primary);
  color:#fff;
}
.analytics-volume-chart-icon:focus-visible{
  outline:2px solid color-mix(in srgb,var(--app-primary) 32%,transparent);
  outline-offset:2px;
}
.analytics-volume-chart-icon svg{
  width:14px;
  height:14px;
  overflow:visible;
}
.analytics-volume-chart-icon svg path:not(.analytics-icon-area-fill),
.analytics-volume-chart-icon svg polyline{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.analytics-volume-chart-icon svg circle{
  fill:currentColor;
  stroke:none;
}
.analytics-volume-chart-icon .analytics-icon-area-fill{
  fill:currentColor;
  opacity:.2;
  stroke:none;
}
@media(max-width:720px){
  .analytics-volume-tools-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .analytics-volume-chart-icons{
    margin-left:0;
  }
}

/* ProntSync 52 — ícones no CID e leve ganho de legibilidade no atendimento */
.analytics-cid-tools-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:8px 0 2px;
}
.analytics-cid-tools-row .analytics-temporal-legend{
  min-width:0;
  margin:0;
}
.analytics-cid-chart-icons{
  margin-left:auto;
}
.analytics-volume-eyebrow{font-size:11px}
.analytics-volume-head small{font-size:11.5px}
.analytics-volume-summary span{font-size:9.5px}
.analytics-volume-summary strong{font-size:17px}
.analytics-volume-summary small{font-size:10px}
.analytics-volume-legend{font-size:11.5px}
.analytics-volume-note{font-size:10.5px}
.analytics-volume-grain .btn{font-size:10.5px!important}
.analytics-volume-report .analytics-card-pdf{font-size:11px!important}
@media(max-width:720px){
  .analytics-cid-tools-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .analytics-cid-chart-icons{
    margin-left:0;
  }
}

/* ProntSync 53 — período do CID no mesmo tamanho do período de atendimentos */
.analytics-grain{
  gap:3px!important;
}
.analytics-grain .btn{
  min-width:0!important;
  min-height:25px!important;
  height:25px!important;
  padding:3px 7px!important;
  border-radius:7px!important;
  font-size:10.5px!important;
  line-height:1!important;
}

/* ProntSync 55 — Pronto Socorro: atendimentos por dia e filtro compacto */
.ps-date-filter{
  display:flex;
  align-items:center;
  margin:-8px 0 10px;
}
.ps-date-filter-form{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:3px;
}
.ps-date-filter-btn,
.ps-date-search-btn{
  appearance:none;
  min-width:0;
  min-height:25px;
  height:25px;
  padding:3px 7px;
  border-radius:7px;
  border:1px solid #d5e1e9;
  background:#fff;
  color:#315873;
  font-size:10.5px;
  font-weight:750;
  line-height:1;
  box-shadow:none;
  white-space:nowrap;
}
.ps-date-filter-btn:hover,
.ps-date-filter-btn:focus-visible{
  background:#f5f9ff;
  border-color:#9fc0e7;
  outline:none;
}
.ps-date-filter-btn.is-active,
.ps-date-search-btn{
  color:#fff;
  border-color:#236bd1;
  background:linear-gradient(135deg,#2d78db,#1c5fb7);
}
.ps-date-filter-btn.is-active{
  box-shadow:0 5px 12px rgba(35,107,209,.14);
}
.ps-date-search-btn:hover,
.ps-date-search-btn:focus-visible{
  border-color:#1959ad;
  background:linear-gradient(135deg,#2670cf,#174f9c);
  outline:none;
}
.ps-date-input{
  width:128px;
  min-width:128px;
  height:25px;
  min-height:25px;
  padding:2px 6px;
  border:1px solid #d5e1e9;
  border-radius:7px;
  background:#fff;
  color:#17324a;
  font-size:10.5px;
  font-weight:650;
  line-height:1;
  outline:none;
}
.ps-date-input:focus{
  border-color:#6ba3e8;
  box-shadow:0 0 0 2px rgba(63,132,216,.11);
}
.ps-date-input::-webkit-calendar-picker-indicator{
  width:12px;
  height:12px;
  margin:0;
  padding:0;
  cursor:pointer;
}
.ps-date-status{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 12px;
  color:#587187;
  font-size:11.5px;
  font-weight:600;
}
.ps-date-status>span{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#16a85b;
  box-shadow:0 0 0 2px rgba(22,168,91,.09);
}
@media(max-width:700px){
  .ps-date-filter{margin-top:-4px}
  .ps-date-input{width:126px;min-width:126px}
}

/* ProntSync 56 — classificação de risco preenchendo toda a linha do Pronto Socorro */
.ps-queue-table tbody tr.ps-risk-row{
  --ps-row-bg:#f8fbfd;
  --ps-row-line:#dfe8ef;
  --ps-row-accent:#8ba3b8;
}
.ps-queue-table tbody tr.ps-risk-reception{
  --ps-row-bg:#e7f2ff;
  --ps-row-line:#c7ddf3;
  --ps-row-accent:#2d78db;
}

.ps-section-card .reception-patient-table.ps-queue-table tbody tr.ps-risk-row>td{height:48px!important;padding:8px 12px!important}
#triageForm .col-6:has(select[name="priority"]),#triageForm + .alert{display:none!important}
.modal-bg:has(#triageForm) .modal-head{padding:12px 20px!important}.modal-bg:has(#triageForm) .modal-foot{padding:10px 20px!important}.modal-bg:has(#triageForm) .patient-strip{padding:10px 14px!important;margin-bottom:8px!important}.modal-bg:has(#triageForm) .patient-strip h3{font-size:18px!important;margin-bottom:2px!important}.modal-bg:has(#triageForm) .modal-body>.alert{padding:8px 10px!important;margin-bottom:8px!important}.modal-bg:has(#triageForm) .modal-body>.alert div{margin-top:2px!important}.triage-compact.form-grid,.triage-compact .form-grid{gap:4px 8px!important}.triage-compact .col-6{min-height:0}.triage-compact .field{margin-bottom:2px!important}.triage-compact textarea[name="medications"],.triage-compact textarea[name="observations"]{min-height:34px!important;height:34px!important;max-height:34px!important}.triage-compact #riskClickOptions{gap:6px!important;margin-top:2px!important}.triage-compact .risk-click-option{min-height:52px!important;padding:5px 6px!important;border-radius:9px!important}.triage-compact .risk-click-option span{width:12px!important;height:12px!important;margin-bottom:3px!important}.triage-compact .risk-click-option small{font-size:8px!important;margin-top:1px!important}

/* Aproveita a altura útil da classificação sem devolver a barra de rolagem. */
.triage-compact textarea[name="complaint"]{min-height:88px!important;height:88px!important;max-height:88px!important}
.triage-compact textarea[name="medications"],.triage-compact textarea[name="observations"]{min-height:58px!important;height:58px!important;max-height:58px!important}
.triage-compact #riskClickOptions{gap:8px!important;margin-top:5px!important}
.triage-compact .risk-click-option{min-height:76px!important;padding:8px 6px!important}
.triage-compact .risk-click-option span{width:14px!important;height:14px!important;margin-bottom:4px!important}
.triage-compact .risk-click-option small{font-size:9px!important;margin-top:2px!important}

/* Rótulos mais legíveis, com a mesma composição sem rolagem na abertura. */
.modal-bg:has(#triageForm) .modal{height:94vh!important;max-height:94vh!important}
.triage-compact .field label{font-size:14px!important;line-height:1.08!important}
.triage-compact .triage-vitals-heading{font-size:14px!important;font-weight:800!important;color:#667085!important;margin:2px 0!important}
.triage-compact textarea[name="complaint"]{min-height:70px!important;height:70px!important;max-height:70px!important}
.triage-compact textarea[name="medications"],.triage-compact textarea[name="observations"]{min-height:44px!important;height:44px!important;max-height:44px!important}
.triage-compact .risk-click-option{min-height:64px!important;padding:5px!important}

/* Escolhas diretas para alergias e comorbidades. */
.triage-native-select{display:none!important}
.triage-binary-choice{display:flex;align-items:center;gap:20px;min-height:32px;padding:1px 2px}
.triage-binary-choice button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#4a6177;font-size:14px;font-weight:800;padding:4px 0;cursor:pointer}
.triage-binary-choice button span{width:17px;height:17px;border:2px solid #9db1c2;border-radius:50%;display:grid;place-items:center}
.triage-binary-choice button.is-selected{color:#1d67ad}
.triage-binary-choice button.is-selected span{border-color:#2d78db;box-shadow:inset 0 0 0 4px #fff;background:#2d78db}
.triage-compact textarea[name="complaint"]{min-height:58px!important;height:58px!important;max-height:58px!important}
.triage-compact textarea[name="medications"],.triage-compact textarea[name="observations"]{min-height:38px!important;height:38px!important;max-height:38px!important}
.triage-compact .risk-click-option{min-height:58px!important}
.modal-bg:has(#triageForm) .modal-body{overflow-y:hidden!important}
.ps-queue-table tbody tr.ps-risk-blue{
  --ps-row-bg:var(--prontsync-risk-blue-bg,#c0d5f9);
  --ps-row-line:var(--prontsync-risk-blue-line,#8eb5f2);
  --ps-row-accent:var(--prontsync-risk-blue-accent,#2374e8);
}
.ps-queue-table tbody tr.ps-risk-green{
  --ps-row-bg:var(--prontsync-risk-green-bg,#c1e5d1);
  --ps-row-line:var(--prontsync-risk-green-line,#8dceb0);
  --ps-row-accent:var(--prontsync-risk-green-accent,#20a866);
}
.ps-queue-table tbody tr.ps-risk-yellow{
  --ps-row-bg:var(--prontsync-risk-yellow-bg,#f9e9bf);
  --ps-row-line:var(--prontsync-risk-yellow-line,#f5d985);
  --ps-row-accent:var(--prontsync-risk-yellow-accent,#edb719);
}
.ps-queue-table tbody tr.ps-risk-orange{
  --ps-row-bg:var(--prontsync-risk-orange-bg,#fbd9b7);
  --ps-row-line:var(--prontsync-risk-orange-line,#f7bd82);
  --ps-row-accent:var(--prontsync-risk-orange-accent,#f38712);
}
.ps-queue-table tbody tr.ps-risk-red{
  --ps-row-bg:var(--prontsync-risk-red-bg,#f8c7ce);
  --ps-row-line:var(--prontsync-risk-red-line,#f19aa6);
  --ps-row-accent:var(--prontsync-risk-red-accent,#e4374d);
}
.ps-queue-table tbody tr.ps-risk-row>td,
.ps-queue-table tbody tr.ps-risk-row:hover>td{
  background:var(--ps-row-bg)!important;
  border-bottom-color:var(--ps-row-line)!important;
}
.ps-queue-table tbody tr.ps-risk-row>td:first-child{
  padding-left:11px!important;
  box-shadow:inset 5px 0 0 var(--ps-row-accent);
}

/* Ações dos atendimentos concluídos: ícone e botão sem sobreposição. */
.ps-queue-table th:last-child,
.ps-queue-table td:last-child{
  width:158px!important;
  min-width:158px!important;
}
.er-actions-wrap.er-actions-closed{
  display:grid!important;
  grid-template-columns:22px 22px 84px!important;
  column-gap:5px!important;
  width:auto!important;
  min-width:0!important;
  align-items:center!important;
  justify-content:start!important;
}
.er-actions-wrap.er-actions-closed .ps-info-btn{
  grid-column:2!important;
  justify-self:center!important;
  margin:0!important;
}
.er-actions-wrap.er-actions-closed .ps-new-care-btn{
  grid-column:3!important;
  width:84px!important;
  min-width:84px!important;
  max-width:84px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0 8px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:8px!important;
  background:#246dcc!important;
  color:#fff!important;
  border:1px solid #246dcc!important;
  box-shadow:0 4px 10px rgba(32,98,190,.18)!important;
  font-size:10.7px!important;
  font-weight:700!important;
  line-height:1!important;
  text-align:center!important;
  text-transform:none!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.er-actions-wrap.er-actions-closed .ps-new-care-btn:hover,
.er-actions-wrap.er-actions-closed .ps-new-care-btn:focus-visible{
  background:#185cb4!important;
  color:#fff!important;
  border-color:#185cb4!important;
}
.er-actions-wrap.er-actions-closed .ps-new-care-btn:disabled{
  background:#eef0f2!important;
  color:#939ca6!important;
  border-color:#d1d7de!important;
  cursor:not-allowed!important;
}

/* ProntSync 57 — configuração administrativa das cores clínicas */
.risk-color-admin-panel{
  background:#f8fafc;
  border:1px solid #dce6ee;
  border-radius:15px;
  padding:12px;
  margin:0 0 10px;
  box-shadow:0 8px 24px rgba(34,69,95,.045);
}
.risk-color-admin-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
  padding:0 2px;
}
.risk-color-admin-head h2{font-size:17px;margin:0;color:#173f61}
.risk-color-admin-head p{font-size:11px;margin:2px 0 0;color:#71869a}
.risk-color-config-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.er-queue-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.er-queue-controls label{display:grid;gap:7px;color:#315874;font-size:12px;font-weight:800}.er-queue-controls label b{font-size:12px;color:#587289}.er-queue-controls input[type=range]{width:100%;accent-color:#236bd1}
.er-editor-layout{display:grid;grid-template-columns:1fr;gap:14px;margin:16px 0}.er-editor-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.er-editor-controls label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#315874}.er-editor-controls label b{font-size:12px;color:#587289}.er-editor-color{height:42px;padding:4px}.er-editor-preview-title{font-size:12px;font-weight:800;color:#315874;margin:0 0 8px}.er-editor-preview{min-height:82px;display:flex;align-items:center;gap:14px;padding:15px 13px;border:1px solid #f3bd82;border-left:6px solid #f38712;border-radius:11px;background:#fbd9b7;overflow:hidden;white-space:nowrap;width:100%}.er-editor-preview .badge{flex:none}.er-editor-preview .ps-info-btn{flex:none}.er-editor-preview .btn{flex:none}@media(max-width:1050px){.er-editor-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.er-editor-controls{grid-template-columns:1fr}}
.er-column-order-list{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.er-column-order-item{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #cbd9e7;border-radius:9px;background:#fff;color:#315874;font-size:12px;font-weight:800;cursor:grab;user-select:none}.er-column-order-item.is-dragging{opacity:.42;cursor:grabbing}
.er-width-preview{overflow:hidden;margin:16px 0;border:1px solid #cbd9e7;border-radius:8px;background:#fff;width:100%}.er-real-preview{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.er-real-preview th{position:relative;text-align:left;padding:10px 8px;background:#f7fafc;color:#587289;white-space:nowrap}.er-real-preview td{padding:14px 8px;border-top:1px solid #e9eff4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.er-real-preview tbody tr{background:#fbd9b7;border-left:6px solid #f38712}.er-real-preview th span{position:absolute;right:-4px;top:0;width:8px;height:100%;cursor:col-resize;z-index:3}.er-real-preview th span:hover{background:#236bd1}
@media(max-width:900px){.er-queue-controls{grid-template-columns:1fr 1fr}}@media(max-width:520px){.er-queue-controls{grid-template-columns:1fr}}
.risk-color-config-card{
  position:relative;
  min-width:0;
  min-height:66px;
  display:grid;
  grid-template-columns:5px minmax(0,1fr) 36px;
  align-items:center;
  gap:9px;
  padding:9px 9px 9px 0;
  overflow:hidden;
  cursor:pointer;
  border:1px solid var(--risk-config-line);
  border-radius:10px;
  background:var(--risk-config-bg);
  transition:box-shadow .16s ease,transform .16s ease;
}
.risk-color-config-card:hover{box-shadow:0 6px 16px color-mix(in srgb,var(--risk-config-color) 20%,transparent);transform:translateY(-1px)}
.risk-color-config-bar{align-self:stretch;background:var(--risk-config-color);border-radius:0 4px 4px 0}
.risk-color-config-copy{min-width:0;display:block}
.risk-color-config-copy strong{display:block;color:#173f61;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.risk-color-config-copy small{display:block;margin-top:3px;color:#5f7487;font-size:8.8px;white-space:nowrap}
.risk-color-config-card input[type="color"]{
  width:34px;
  height:34px;
  padding:2px;
  border:1px solid rgba(23,63,97,.18);
  border-radius:8px;
  background:#fff;
  cursor:pointer;
}
.risk-color-intensity{
  display:grid;
  grid-template-columns:minmax(190px,auto) 46px minmax(220px,1fr);
  align-items:center;
  gap:12px;
  margin-top:10px;
  padding:9px 11px;
  background:#fff;
  border:1px solid #dce6ee;
  border-radius:10px;
}
.risk-color-intensity strong{display:block;color:#274e6d;font-size:11px}
.risk-color-intensity span{display:block;color:#71869a;font-size:9.5px;margin-top:2px}
.risk-color-intensity>b{text-align:center;color:#173f61;font-size:12px}
.risk-color-intensity input{width:100%;accent-color:var(--app-primary,#2d78db)}
.risk-color-admin-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}
.app-shell .risk-color-admin-panel{border-color:var(--app-line)!important;background:color-mix(in srgb,var(--app-soft2) 88%,#fff)!important}
.app-shell .risk-color-admin-head h2{color:var(--app-title)!important}
@media(max-width:1250px){.risk-color-config-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.risk-color-config-grid{grid-template-columns:1fr 1fr}.risk-color-intensity{grid-template-columns:1fr 46px}.risk-color-intensity input{grid-column:1/-1}}
@media(max-width:520px){.risk-color-config-grid{grid-template-columns:1fr}}

/* ProntSync 58 — busca compacta e independente nas listas do Pronto Socorro */
.ps-section-head-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  min-width:0;
}
.ps-section-search{
  width:178px;
  height:29px;
  display:flex;
  align-items:center;
  gap:5px;
  padding:0 7px;
  margin:0;
  border:1px solid #cfdde9;
  border-radius:8px;
  background:#fff;
  color:#47657d;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.ps-section-search:focus-within{
  border-color:var(--app-primary,#2d78db);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--app-primary,#2d78db) 12%,transparent);
}
.ps-section-search-icon{
  width:13px;
  height:13px;
  flex:0 0 13px;
  display:inline-flex;
}
.ps-section-search-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.ps-section-search input{
  width:100%;
  min-width:0;
  height:27px;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  color:#183e5d;
  font:inherit;
  font-size:9.7px;
}
.ps-section-search input::placeholder{color:#8799a8;opacity:1}
.ps-section-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.ps-section-search:has(input:disabled){background:#f5f7f9;opacity:.62}
.ps-section-search-clear{
  min-width:38px;
  height:23px;
  padding:0 4px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--app-primary,#2d78db);
  font-size:9px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
}
.ps-section-search-clear:hover:not(:disabled){background:var(--app-soft,#eaf4ff)}
.ps-section-search-clear:disabled{opacity:.34;cursor:default}
.ps-section-head-tools .ps-count-badge{margin-left:1px;flex:0 0 auto}
.ps-section-search-empty td{
  padding:22px 12px!important;
  text-align:center!important;
  color:#7d91a3!important;
  background:#fff!important;
  box-shadow:none!important;
  font-size:10.5px!important;
}
@media(max-width:950px){.ps-section-search{width:152px}}
@media(max-width:720px){.ps-section-head{align-items:flex-start;flex-wrap:wrap}.ps-section-head-tools{width:100%;justify-content:flex-end}.ps-section-search{width:min(190px,calc(100% - 78px))}}

/* ProntSync 59 — padrão de risco do Pronto Socorro em todas as listas assistenciais */
.table tbody tr.prontsync-risk-row{
  --ps-row-bg:#f8fbfd;
  --ps-row-line:#dfe8ef;
  --ps-row-accent:#8ba3b8;
}
.table tbody tr.prontsync-risk-row.ps-risk-blue{
  --ps-row-bg:var(--prontsync-risk-blue-bg,#c0d5f9);
  --ps-row-line:var(--prontsync-risk-blue-line,#8eb5f2);
  --ps-row-accent:var(--prontsync-risk-blue-accent,#2374e8);
}
.table tbody tr.prontsync-risk-row.ps-risk-green{
  --ps-row-bg:var(--prontsync-risk-green-bg,#c1e5d1);
  --ps-row-line:var(--prontsync-risk-green-line,#8dceb0);
  --ps-row-accent:var(--prontsync-risk-green-accent,#20a866);
}
.table tbody tr.prontsync-risk-row.ps-risk-yellow{
  --ps-row-bg:var(--prontsync-risk-yellow-bg,#f9e9bf);
  --ps-row-line:var(--prontsync-risk-yellow-line,#f5d985);
  --ps-row-accent:var(--prontsync-risk-yellow-accent,#edb719);
}
.table tbody tr.prontsync-risk-row.ps-risk-orange{
  --ps-row-bg:var(--prontsync-risk-orange-bg,#fbd9b7);
  --ps-row-line:var(--prontsync-risk-orange-line,#f7bd82);
  --ps-row-accent:var(--prontsync-risk-orange-accent,#f38712);
}
.table tbody tr.prontsync-risk-row.ps-risk-red{
  --ps-row-bg:var(--prontsync-risk-red-bg,#f8c7ce);
  --ps-row-line:var(--prontsync-risk-red-line,#f19aa6);
  --ps-row-accent:var(--prontsync-risk-red-accent,#e4374d);
}
.table tbody tr.prontsync-risk-row>td,
.table tbody tr.prontsync-risk-row:hover>td{
  background:var(--ps-row-bg)!important;
  border-bottom-color:var(--ps-row-line)!important;
}
.table tbody tr.prontsync-risk-row>td:first-child{
  padding-left:11px!important;
  box-shadow:inset 5px 0 0 var(--ps-row-accent);
}

/* ProntSync 61 — filtro de data compacto, alinhado aos botões Hoje/Ontem. */
.ps-date-filter-form{
  gap:3px!important;
}
.ps-date-input{
  box-sizing:border-box!important;
  flex:0 0 118px!important;
  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;
  height:25px!important;
  min-height:25px!important;
  max-height:25px!important;
  padding:2px 6px!important;
  border-radius:7px!important;
  font-size:10.5px!important;
  line-height:1!important;
  vertical-align:middle!important;
}
.ps-date-input.is-active{
  border-color:#6ba3e8!important;
  box-shadow:0 0 0 2px rgba(63,132,216,.11)!important;
}

/* ProntSync 62 — cabeçalho do Pronto Socorro e busca compacta sem truncamento. */
.ps-er-page-head{
  align-items:flex-start!important;
  margin-bottom:14px!important;
}
.ps-er-date-panel{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
}
.ps-er-date-panel>strong{
  color:var(--muted,#667085);
  font-size:11px;
  font-weight:750;
  line-height:1.1;
}
.ps-er-date-panel .ps-date-filter{
  justify-content:flex-end;
  margin:0!important;
}
.ps-er-date-panel .ps-date-status{
  justify-content:flex-end;
  margin:1px 0 0!important;
}
.ps-section-search{
  width:210px!important;
}
@media(max-width:950px){
  .ps-section-search{width:190px!important}
}
@media(max-width:720px){
  .ps-er-page-head{gap:12px}
  .ps-er-date-panel{width:100%;align-items:flex-start}
  .ps-er-date-panel .ps-date-filter,
  .ps-er-date-panel .ps-date-status{justify-content:flex-start}
  .ps-section-search{width:min(210px,calc(100% - 38px))!important}
}

/* ProntSync 64 — identificação obrigatória do ambiente de demonstração. */
.login-v14-demo{
  display:flex!important;
  flex-direction:column;
  gap:2px;
  margin:11px 0 0!important;
  padding:8px 10px;
  border:1px solid #f1c46a;
  border-radius:8px;
  background:#fff8e7;
  color:#7a4a00!important;
  font-size:10px!important;
  line-height:1.35;
  opacity:1!important;
  text-align:left!important;
}
.login-v14-demo strong{font-size:10.5px;letter-spacing:.03em}
/* ProntSync 68 — modelos de exame físico do atendimento no Pronto Socorro. */
.er-physical-exam-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.er-physical-exam-label>label{margin:0}
.er-exam-template-tools{display:flex;align-items:center;gap:5px}
.er-exam-template-icon{
  width:28px;
  height:28px;
  display:inline-grid;
  place-items:center;
  border:1px solid #cbd9e6;
  border-radius:8px;
  background:#fff;
  color:#1f6fd1;
  cursor:pointer;
  padding:0;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.er-exam-template-icon:hover,
.er-exam-template-icon:focus-visible{background:#edf6ff;border-color:#70a8e6;color:#075ebf;outline:0;transform:translateY(-1px)}
.er-exam-template-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.er-exam-template-hint{margin-top:-8px;margin-bottom:12px}
.er-template-editor{min-height:250px;line-height:1.45;resize:vertical}
.er-exam-template-modal{width:min(760px,94vw);max-width:760px}
.er-exam-template-library{display:grid;gap:20px}
.er-exam-template-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.er-exam-template-section-head h4{font-size:14px;color:#143b60;margin:0 0 2px}
.er-exam-template-section-head p{font-size:11px;color:#718298;margin:0}
.er-exam-template-list{display:grid;gap:8px}
.er-exam-template-card{display:flex;align-items:stretch;border:1px solid #d7e2ec;border-radius:11px;background:#fff;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
.er-exam-template-card:hover{border-color:#8db8e6;box-shadow:0 4px 14px rgba(24,89,153,.08)}
.er-exam-template-use{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:10px 12px;text-align:left;color:#173b5e;cursor:pointer}
.er-exam-template-use>span:last-child{display:grid;min-width:0;gap:2px}
.er-exam-template-use strong{font-size:12px}
.er-exam-template-use small{font-size:10.5px;color:#718298;font-weight:500;line-height:1.35}
.er-exam-template-card-icon{width:29px;height:29px;display:grid;place-items:center;flex:0 0 29px;border-radius:8px;background:#eaf4ff;color:#1769c2;font-size:11px;font-weight:900}
.er-exam-template-delete{width:38px;display:grid;place-items:center;border:0;border-left:1px solid #e1e8ef;background:#fff;color:#9b5660;cursor:pointer}
.er-exam-template-delete:hover,.er-exam-template-delete:focus-visible{background:#fff1f3;color:#bd3245;outline:0}
.er-exam-template-delete svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.er-exam-template-empty{padding:14px;font-size:11px}
.rx-template-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(340px,1.1fr);gap:20px}.rx-template-editor{border-left:1px solid #e1e9f0;padding-left:20px}.rx-model-selected{border-color:#4e95df;background:#f6fbff}.rx-model-selected .er-exam-template-use{background:#f6fbff}@media(max-width:700px){.rx-template-layout{grid-template-columns:1fr}.rx-template-editor{border-left:0;border-top:1px solid #e1e9f0;padding:18px 0 0}}
#rxPrintSheet{display:none}@media print{body>*{display:none!important}#rxPrintSheet{display:block!important;font-family:Arial,sans-serif;color:#111;font-size:12pt;padding:0}.head{display:flex;align-items:center;gap:16px;border-bottom:2px solid #1d4f79;padding-bottom:10px}.head img{max-width:105px;max-height:70px;object-fit:contain}.head h1{font-size:17pt;margin:0}.head p,.foot{font-size:9pt;margin:4px 0;color:#444}.patient{margin:18px 0 22px;font-size:10pt}.content{white-space:pre-wrap;line-height:1.65;min-height:430px}.foot{border-top:1px solid #aaa;padding-top:8px;text-align:center}.sign{margin-top:45px;text-align:center;font-size:10pt}}
@media(max-width:680px){
  .er-exam-template-section-head{align-items:flex-start}
  .er-exam-template-use{padding:9px}
}
.ps-queue-table{table-layout:fixed!important}.ps-queue-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Editor visual da fila: nenhuma largura fixa pode sobrepor o colgroup salvo. */
.ps-queue-table th,.ps-queue-table td{width:auto!important;min-width:0!important}
/* Ações do Pronto Socorro: detalhes e continuidade pertencem ao mesmo grupo. */
.ps-queue-table .er-actions-wrap{display:inline-flex!important;grid-template-columns:none!important;gap:7px!important;align-items:center!important;justify-content:flex-start!important;white-space:nowrap!important}
.ps-queue-table .er-actions-wrap .ps-info-btn,.ps-queue-table .er-actions-wrap .ps-care-action{grid-column:auto!important;justify-self:auto!important;margin:0!important}
.ps-queue-table td.er-actions{min-width:116px!important;overflow:visible!important}
/* Tooltip abre para a esquerda e não é recortado pelos contêineres da fila. */
.ps-section-card,.ps-queue-wrap{overflow:visible!important}
.ps-queue-table .ps-info-btn[data-tooltip]::after{left:auto!important;right:0!important;bottom:calc(100% + 8px)!important;transform:none!important}

/* ProntSync 81 — ações compactas e padrão de status da fila do Pronto Socorro. */
.ps-queue-table td.er-actions{
  min-width:156px!important;
  overflow:visible!important;
}
.ps-queue-table .er-actions-wrap{
  display:inline-flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  white-space:nowrap!important;
}
.ps-queue-table .er-actions-wrap .er-call-icon,
.ps-queue-table .er-actions-wrap .ps-info-btn,
.ps-queue-table .er-actions-wrap .ps-care-action,
.ps-queue-table .er-actions-wrap .btn-primary.btn-sm{
  flex:0 0 auto!important;
  margin:0!important;
}
/* Som no mesmo estilo discreto e dourado do ícone de informações. */
.ps-queue-table .er-call-icon{
  display:inline-grid!important;
  place-items:center!important;
  width:19px!important;
  height:19px!important;
  padding:0!important;
  color:#e6a700!important;
}
.ps-queue-table .er-call-icon svg{
  width:17px!important;
  height:17px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.ps-queue-table .er-call-icon:hover,
.ps-queue-table .er-call-icon:focus,
.ps-queue-table .er-call-icon:active{color:#c88e00!important;}
/* Aguardando acompanha Em atendimento: apenas texto, sem cápsula de fundo. */
.ps-queue-table .ps-status-waiting{
  display:inline-block!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ps-editor-color,var(--ps-row-accent,#718096))!important;
  font-size:var(--ps-editor-size,var(--ps-row-info-size,12px))!important;
  font-weight:var(--ps-editor-weight,var(--ps-row-info-weight,600))!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  text-align:var(--ps-editor-align,left)!important;
  margin-left:var(--ps-editor-gap,0)!important;
}

/* ProntSync 82 — chamada em coluna própria, com alinhamento preservado em toda a fila. */
.ps-queue-table th.er-call-head,
.ps-queue-table td.er-call-cell{
  width:4%!important;
  min-width:42px!important;
  text-align:center!important;
  overflow:visible!important;
}
.ps-queue-table td.er-call-cell{padding-left:3px!important;padding-right:3px!important;}
.ps-queue-table td.er-actions{min-width:108px!important;}
.ps-queue-table .er-call-icon{
  display:inline-grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
  padding:0!important;
  margin:0!important;
  color:#1e73d8!important;
}
.ps-queue-table .er-call-icon svg{
  width:20px!important;
  height:20px!important;
  stroke-width:1.9!important;
}
.ps-queue-table .er-call-icon:hover,
.ps-queue-table .er-call-icon:focus,
.ps-queue-table .er-call-icon:active{color:#155cb3!important;}
.ps-queue-table .er-call-icon:disabled{color:#a8b6c5!important;cursor:not-allowed!important;}

/* O ícone de chamada segue os mesmos controles visuais do ícone de informações. */
.ps-queue-table td.er-call-cell .er-call-icon{color:var(--ps-editor-color,#1e73d8)!important;margin-left:var(--ps-editor-gap,0)!important;}
.ps-queue-table td.er-call-cell .er-call-icon svg{width:var(--ps-editor-size,20px)!important;height:var(--ps-editor-size,20px)!important;stroke-width:1.9!important;}
.er-editor-preview .er-call-icon{border:0;background:transparent;padding:0;line-height:1;display:inline-grid;place-items:center;vertical-align:middle;}
.er-editor-preview .er-call-icon svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}

/* A largura da coluna Chamar vem do divisor arrastável do editor; não a fixe no CSS. */
.ps-queue-table th.er-call-head,
.ps-queue-table td.er-call-cell{width:auto!important;min-width:18px!important;}

/* Prévia de largura: grade estável, com barras independentes como no Word. */
.er-width-preview{overflow:hidden!important;}
.er-width-grid{width:100%;border-radius:8px;overflow:hidden;background:#fff;}
.er-width-grid-head,.er-width-grid-row{display:grid;width:100%;}
.er-width-grid-cell{min-width:0;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:12px 9px;box-sizing:border-box;}
.er-width-grid-label{background:#f7fafc;color:#587289;font-weight:700;font-size:12px;}
.er-width-grid-row{background:#fbd9b7;border-left:6px solid #f38712;border-top:1px solid #e9eff4;}
.er-width-grid-row .er-width-grid-cell{font-size:12px;color:#17324a;}
.er-width-grid-handle{position:absolute;z-index:4;top:0;right:-5px;width:10px;height:100%;cursor:col-resize;touch-action:none;}
.er-width-grid-handle:hover,.er-width-grid-handle:focus{background:#236bd1;outline:0;}

/* ProntSync 90 — chamada, informações e atendimento formam um único grupo de ações. */
.ps-queue-table td.er-actions{min-width:160px!important;overflow:visible!important;}
.ps-queue-table .er-actions-wrap{gap:max(16px,var(--ps-active-action-gap,16px))!important;}
.ps-queue-table .er-actions-wrap .er-call-icon{color:var(--ps-editor-color,#1e73d8)!important;margin:0!important;}
.ps-queue-table .er-actions-wrap .er-call-icon svg{width:var(--ps-editor-size,20px)!important;height:var(--ps-editor-size,20px)!important;stroke-width:1.9!important;}
.ps-queue-table .er-actions-wrap .er-call-icon.ps-call-disabled{color:#bcc7d3!important;cursor:not-allowed!important;opacity:1!important;}

/* Chamada no mesmo padrão visual e de tooltip das informações. */
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:var(--ps-editor-size,18px)!important;
  height:var(--ps-editor-size,18px)!important;
  min-width:var(--ps-editor-size,18px)!important;
  min-height:var(--ps-editor-size,18px)!important;
  padding:0!important;
  border:1.7px solid currentColor!important;
  border-radius:50%!important;
  background:transparent!important;
  box-sizing:border-box!important;
  line-height:1!important;
  overflow:visible!important;
}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon svg{width:58%!important;height:58%!important;}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon[data-tooltip]::after{
  content:attr(data-tooltip);
  position:absolute;
  z-index:9999;
  right:0;
  bottom:calc(100% + 8px);
  padding:5px 8px;
  border-radius:6px;
  background:#263646;
  color:#fff;
  font:500 11px/1.2 Arial,Helvetica,sans-serif;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .12s ease;
}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon[data-tooltip]:hover::after{opacity:1;visibility:visible;}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon.ps-call-disabled{border-color:#bcc7d3!important;}

/* Editor visual compacto: os controles e a prévia ocupam menos altura. */
.er-queue-editor{padding:10px!important;margin-bottom:8px!important;}
.er-queue-editor .risk-color-admin-head{margin-bottom:6px!important;}
.er-queue-editor .er-editor-layout{margin:8px 0!important;gap:8px!important;}
.er-queue-editor .er-editor-controls{gap:8px!important;}
.er-queue-editor .er-editor-controls label{gap:3px!important;font-size:11px!important;}
.er-queue-editor .er-editor-controls label b{font-size:11px!important;}
.er-queue-editor .er-editor-controls .select,
.er-queue-editor .er-editor-controls .input{min-height:34px!important;height:34px!important;padding-top:5px!important;padding-bottom:5px!important;}
.er-queue-editor .er-editor-color{height:34px!important;padding:3px!important;}
.er-queue-editor .er-editor-preview-title{margin:0 0 5px!important;}
.er-queue-editor .er-editor-preview{min-height:58px!important;padding:10px 12px!important;gap:12px!important;border-radius:9px!important;}
.er-queue-editor .risk-color-admin-actions{margin-top:6px!important;}
.er-width-preview{margin:8px 0!important;}
.er-width-grid-cell{padding:9px 8px!important;}

/* ProntSync 93 — Chamar herda, literalmente, o padrão de Informações. */
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon.ps-info-btn.prontsync-info-btn,
.er-editor-preview .er-call-icon.ps-info-btn.prontsync-info-btn{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  padding:0!important;
  margin:0!important;
  border:1.7px solid #e6a700!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#e6a700!important;
  box-sizing:border-box!important;
}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon.ps-info-btn.prontsync-info-btn svg,
.er-editor-preview .er-call-icon.ps-info-btn.prontsync-info-btn svg{
  width:58%!important;
  height:58%!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon.ps-info-btn.prontsync-info-btn:hover,
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon.ps-info-btn.prontsync-info-btn:focus{
  border-color:#c88e00!important;
  color:#c88e00!important;
}
/* O mesmo balão escuro, altura, tipografia e posição usados pelo ícone i. */
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon.ps-info-btn.prontsync-info-btn[data-tooltip]::after,
.er-editor-preview .er-call-icon.ps-info-btn.prontsync-info-btn[data-tooltip]::after{
  content:attr(data-tooltip)!important;
  position:absolute!important;
  z-index:9999!important;
  right:0!important;
  bottom:calc(100% + 8px)!important;
  left:auto!important;
  transform:none!important;
  padding:5px 8px!important;
  border-radius:6px!important;
  background:#263646!important;
  color:#fff!important;
  font:500 11px/1.2 Arial,Helvetica,sans-serif!important;
  white-space:nowrap!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .12s ease!important;
}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon.ps-info-btn.prontsync-info-btn[data-tooltip]:hover::after,
.er-editor-preview .er-call-icon.ps-info-btn.prontsync-info-btn[data-tooltip]:hover::after{opacity:1!important;visibility:visible!important;}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon.ps-info-btn.prontsync-info-btn.ps-call-disabled{
  border-color:#bcc7d3!important;
  color:#bcc7d3!important;
}

/* Editor da fila: painel horizontal mais enxuto, sem perder os controles. */
.er-queue-editor{padding:8px 10px!important;}
.er-queue-editor .risk-color-admin-head{align-items:center!important;margin-bottom:4px!important;}
.er-queue-editor .risk-color-admin-head h2{font-size:18px!important;line-height:1.15!important;}
.er-queue-editor .risk-color-admin-head p{font-size:11px!important;line-height:1.25!important;margin-top:2px!important;}
.er-queue-editor .er-editor-layout{margin:6px 0!important;gap:6px!important;}
.er-queue-editor .er-editor-controls{grid-template-columns:1.25fr .78fr .92fr 1.05fr 1.05fr .92fr!important;gap:6px!important;align-items:end!important;}
.er-queue-editor .er-editor-controls label{gap:2px!important;font-size:10px!important;line-height:1.1!important;}
.er-queue-editor .er-editor-controls label b{font-size:10px!important;line-height:1!important;}
.er-queue-editor .er-editor-controls .select,
.er-queue-editor .er-editor-controls .input{min-height:30px!important;height:30px!important;padding:3px 8px!important;font-size:12px!important;}
.er-queue-editor .er-editor-color{height:30px!important;padding:2px!important;}
.er-queue-editor .er-editor-preview-title{font-size:11px!important;margin:0 0 3px!important;}
.er-queue-editor .er-editor-preview{min-height:50px!important;padding:7px 10px!important;gap:10px!important;border-radius:8px!important;}
.er-queue-editor .risk-color-admin-actions{margin-top:4px!important;gap:6px!important;}
@media(max-width:1050px){.er-queue-editor .er-editor-controls{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}

/* ProntSync 94 — retorna ao som azul, preservando o tooltip personalizado. */
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon,
.er-editor-preview .er-call-icon{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--ps-editor-color,#1e73d8)!important;
  line-height:1!important;
  overflow:visible!important;
}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon svg,
.er-editor-preview .er-call-icon svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon:hover,
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon:focus{color:#155cb3!important;outline:none!important;}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon[data-tooltip]::after,
.er-editor-preview .er-call-icon[data-tooltip]::after{
  content:attr(data-tooltip)!important;
  position:absolute!important;
  z-index:9999!important;
  right:0!important;
  bottom:calc(100% + 8px)!important;
  left:auto!important;
  transform:none!important;
  padding:5px 8px!important;
  border-radius:6px!important;
  background:#263646!important;
  color:#fff!important;
  font:500 11px/1.2 Arial,Helvetica,sans-serif!important;
  white-space:nowrap!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .12s ease!important;
}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon[data-tooltip]:hover::after,
.er-editor-preview .er-call-icon[data-tooltip]:hover::after{opacity:1!important;visibility:visible!important;}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon.ps-call-disabled{color:#bcc7d3!important;cursor:not-allowed!important;}

/* ProntSync 95 — tamanhos dos dois ícones seguem o editor, inclusive acima de 22 px. */
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .ps-info-btn.prontsync-info-btn{
  width:var(--ps-editor-size,18px)!important;
  height:var(--ps-editor-size,18px)!important;
  min-width:var(--ps-editor-size,18px)!important;
  min-height:var(--ps-editor-size,18px)!important;
}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .ps-info-btn.prontsync-info-btn>span{
  font-size:calc(var(--ps-editor-size,18px) * .67)!important;
  line-height:1!important;
}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon,
.er-editor-preview .er-call-icon{
  width:var(--ps-editor-size,20px)!important;
  height:var(--ps-editor-size,20px)!important;
  min-width:var(--ps-editor-size,20px)!important;
  min-height:var(--ps-editor-size,20px)!important;
}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon svg,
.er-editor-preview .er-call-icon svg{
  width:var(--ps-editor-size,20px)!important;
  height:var(--ps-editor-size,20px)!important;
}

/* ProntSync 96 — referência visual única da fila e da prévia administrativa. */
.ps-section-card .ps-queue-table,
.er-queue-editor .er-editor-preview{
  --ps-active-action-gap:16px;
}
.ps-queue-table .er-actions-wrap{
  min-height:40px!important;
  justify-content:flex-start!important;
}
.ps-queue-table .er-actions-wrap .er-call-icon{
  color:var(--ps-editor-color,#1e73d8)!important;
}
.ps-queue-table .er-actions-wrap .ps-info-btn{
  color:var(--ps-editor-color,#d69e00)!important;
  border-color:var(--ps-editor-color,#d69e00)!important;
}
.ps-queue-table .ps-status-waiting,
.ps-queue-table .ps-status-in-care{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.ps-queue-table .ps-status-closed,
.dashboard-recent-table .ps-status-closed{
  display:inline-block!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ps-editor-color,var(--ps-status-color,var(--ps-row-accent,#718096)))!important;
  font-size:var(--ps-editor-size,var(--ps-row-info-size,12px))!important;
  font-weight:var(--ps-editor-weight,var(--ps-row-info-weight,600))!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  text-align:var(--ps-editor-align,left)!important;
  margin-left:var(--ps-editor-gap,0)!important;
}
.ps-queue-table .ps-status-triage,
.dashboard-recent-table .ps-status-triage{
  display:inline-block!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ps-editor-color,var(--ps-status-color,var(--ps-row-accent,#718096)))!important;
  font-size:var(--ps-editor-size,var(--ps-row-info-size,12px))!important;
  font-weight:var(--ps-editor-weight,var(--ps-row-info-weight,600))!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  text-align:var(--ps-editor-align,left)!important;
  margin-left:var(--ps-editor-gap,0)!important;
}
.er-queue-editor .er-editor-preview .er-call-icon{color:#1e73d8;}
.er-queue-editor .er-editor-preview .ps-info-btn{color:#d69e00;border-color:#d69e00;}

/* ProntSync 97 — linguagem visual única para listas clínicas com pacientes. */
body:not(.login-page) .content .clinical-list-table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
}
body:not(.login-page) .content .clinical-list-table thead th{
  padding:10px 8px!important;
  background:#f6f9fc!important;
  color:#52708a!important;
  border-top:1px solid #dce7f0!important;
  border-bottom:1px solid #dce7f0!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
body:not(.login-page) .content .clinical-list-table tbody td{
  padding:10px 8px!important;
  border-bottom:1px solid #dce7f0!important;
  color:#64748b!important;
  font-size:13px!important;
  vertical-align:middle!important;
}
body:not(.login-page) .content .clinical-list-table tbody tr:not([class*="ps-risk-"]):not([class*="risk-"]){
  background:#fff!important;
}
body:not(.login-page) .content .clinical-list-table tbody tr:not([class*="ps-risk-"]):not([class*="risk-"]):hover{
  background:#f7fbff!important;
}
body:not(.login-page) .content .clinical-list-table tbody td:first-child{
  color:#718096!important;
  font-weight:600!important;
  white-space:nowrap!important;
}
body:not(.login-page) .content .clinical-list-table tbody td strong{
  color:#17324a!important;
  font-size:13px!important;
  font-weight:700!important;
}
body:not(.login-page) .content .clinical-list-table tbody .muted{
  color:#718096!important;
  font-size:12px!important;
}
body:not(.login-page) .content .clinical-list-table td.actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  white-space:nowrap!important;
}
body:not(.login-page) .content .clinical-list-table .prontsync-info-btn{
  flex:0 0 auto!important;
}
body:not(.login-page) .content .clinical-list-table .risk-blue,
body:not(.login-page) .content .clinical-list-table .risk-green,
body:not(.login-page) .content .clinical-list-table .risk-yellow,
body:not(.login-page) .content .clinical-list-table .risk-orange,
body:not(.login-page) .content .clinical-list-table .risk-red{
  min-width:150px!important;
  justify-content:center!important;
}

@media(max-width:850px){
  body:not(.login-page) .content .clinical-list-table thead th{font-size:11px!important;}
  body:not(.login-page) .content .clinical-list-table tbody td{font-size:12px!important;padding:9px 7px!important;}
}

/* ProntSync 98 — estrutura de cartão e linhas equivalente à leitura do PS. */
body:not(.login-page) .content .clinical-list-card{
  overflow:hidden!important;
  border:1px solid #dce7f0!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(30,70,105,.045)!important;
}
body:not(.login-page) .content .clinical-list-card>.card-head{
  min-height:72px!important;
  padding:15px 22px!important;
  background:#fff!important;
  border-bottom:1px solid #dce7f0!important;
}
body:not(.login-page) .content .clinical-list-card>.card-head h3{
  color:#123a61!important;
  font-size:18px!important;
  font-weight:800!important;
}
body:not(.login-page) .content .clinical-list-card .table-wrap{overflow-x:auto!important;}
body:not(.login-page) .content .clinical-list-card .clinical-list-table thead th{
  height:42px!important;
  padding:0 10px!important;
  background:#f4f8fb!important;
  color:#52708a!important;
  border-top:0!important;
  border-bottom:1px solid #dce7f0!important;
  vertical-align:middle!important;
}
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody tr{
  height:60px!important;
}
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody td{
  padding:9px 10px!important;
  background:transparent!important;
  border-bottom:1px solid #dce7f0!important;
}
/* Em listas sem classificação, a barra azul substitui cores de risco. */
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody tr:not([class*="ps-risk-"]):not([class*="risk-"])>td:first-child{
  border-left:6px solid #2374e8!important;
  padding-left:8px!important;
}
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody tr:not([class*="ps-risk-"]):not([class*="risk-"]):hover>td{
  background:#f5faff!important;
}
/* Linhas que têm risco preservam a faixa clínica, sem mistura de azul neutro. */
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody tr.ps-risk-orange>td{background:#fce0bd!important;}
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody tr.ps-risk-yellow>td{background:#fff8c9!important;}
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody tr.ps-risk-green>td{background:#c7f4df!important;}
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody tr.ps-risk-blue>td{background:#c6ddfb!important;}
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody tr.ps-risk-orange>td:first-child{border-left:6px solid #f38712!important;}
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody tr.ps-risk-yellow>td:first-child{border-left:6px solid #f2d400!important;}
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody tr.ps-risk-green>td:first-child{border-left:6px solid #16c784!important;}
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody tr.ps-risk-blue>td:first-child{border-left:6px solid #1876ef!important;}
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody td:first-child{font-size:13px!important;}
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody td:nth-child(2)>strong,
body:not(.login-page) .content .clinical-list-card .calls-list-table tbody td:first-child>strong{
  color:#0f2f4a!important;
  font-size:15px!important;
  letter-spacing:0!important;
}
body:not(.login-page) .content .clinical-list-card .clinical-list-table td.actions{
  min-width:142px!important;
  gap:16px!important;
}
body:not(.login-page) .content .clinical-list-card .clinical-list-table .btn.btn-primary.btn-sm{
  min-height:40px!important;
  padding-left:16px!important;
  padding-right:16px!important;
  border-radius:9px!important;
}
body:not(.login-page) .content .clinical-list-card .clinical-list-table .btn.btn-outline.btn-sm{
  min-height:34px!important;
  border-radius:8px!important;
}
/* Situações acompanham o texto limpo do Pronto Socorro, sem cápsulas de cor. */
body:not(.login-page) .content .clinical-list-card .triage-waiting-text,
body:not(.login-page) .content .clinical-list-card .triage-done-text,
body:not(.login-page) .content .clinical-list-card .triage-pending-text{
  display:inline!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#718096!important;
  font-size:13px!important;
  font-weight:400!important;
}

/* Variáveis aplicadas pelo Editor das listas clínicas. */
body:not(.login-page) .content .clinical-list-table thead th{background:var(--cl-header,#f4f8fb)!important;}
body:not(.login-page) .content .clinical-list-table tbody tr{height:var(--cl-row,60px)!important;}
body:not(.login-page) .content .clinical-list-table tbody td{font-size:var(--cl-text,14px)!important;}
body:not(.login-page) .content .clinical-list-table tbody td strong{font-size:var(--cl-patient,15px)!important;}
body:not(.login-page) .content .clinical-list-card .clinical-list-table tbody tr:not([class*="ps-risk-"]):not([class*="risk-"])>td:first-child{border-left-color:var(--cl-accent,#2374e8)!important;}
/* O Painel também usa o editor unificado: Registro e Tempo não podem manter
   medidas fixas das versões anteriores, pois isso ignorava os ajustes salvos. */
body:not(.login-page) .content .dashboard-recent-table tbody td{
  font-size:var(--cl-text,14px)!important;
}

body:not(.login-page) .content .clinical-list-card .dashboard-recent-table tbody td:first-child{
  font-size:var(--cl-text,14px)!important;
}
body:not(.login-page) .content .dashboard-recent-table .dashboard-entry-time{
  font-size:var(--cl-text,14px)!important;
}
/* Nas linhas classificadas já existe uma faixa interna de risco (box-shadow).
   Não adicionar borda lateral extra: isso criava duas faixas lado a lado. */
body:not(.login-page) .content .clinical-list-card .dashboard-recent-table tbody tr.prontsync-risk-row>td:first-child{
  border-left:0!important;
}
/* Classificação do Pronto Socorro: mesma leitura leve do Painel e com a
   espessura definida pelo editor, inclusive quando selecionada como Normal. */
body:not(.login-page) .content .ps-queue-table .ps-row-info.ps-row-classification .badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:172px;
  padding:6px 14px!important;
  border-radius:10px!important;
  font-size:var(--ps-editor-size,13px)!important;
  font-weight:var(--ps-editor-weight,400)!important;
  line-height:1.2!important;
}
/* Painel: a mesma grade do Pronto Socorro, em uma única lista de consulta. */
body:not(.login-page) .content .dashboard-recent-wrap{overflow-x:auto!important;}
body:not(.login-page) .content .dashboard-recent-table{min-width:1120px!important;}
body:not(.login-page) .content .dashboard-recent-table .dashboard-actions-disabled{display:flex!important;align-items:center;justify-content:flex-start;gap:14px!important;white-space:nowrap;}
body:not(.login-page) .content .dashboard-recent-table .dashboard-actions-disabled button{pointer-events:none!important;opacity:1!important;filter:grayscale(1);}
body:not(.login-page) .content .dashboard-recent-table .dashboard-actions-disabled .er-call-icon,
body:not(.login-page) .content .dashboard-recent-table .dashboard-actions-disabled .ps-info-btn{color:#aeb8c2!important;border-color:#d8e0e7!important;}
body:not(.login-page) .content .dashboard-recent-table .dashboard-actions-disabled .ps-care-action{background:#eef1f4!important;color:#9aa5af!important;border:1px solid #d9e0e6!important;box-shadow:none!important;}
.clinical-lists-editor{padding:10px!important;}
.clinical-list-controls{display:grid;grid-template-columns:1.3fr repeat(5,minmax(0,1fr));gap:7px;margin:8px 0;align-items:end;}
.clinical-list-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0;}.clinical-list-editor-grid .er-column-order-list{max-height:178px;overflow:auto;margin:0;}.clinical-list-editor-grid .clinical-width-preview{margin:0;min-height:52px;}.clinical-list-editor-grid .er-editor-preview-title{margin:0 0 4px;}
.clinical-list-controls label{display:grid;gap:3px;color:#315874;font-size:11px;font-weight:800;}
.clinical-list-controls input[type="color"]{height:30px;padding:2px;border:1px solid #d7e4ef;border-radius:7px;background:#fff;}
.clinical-list-controls input[type="range"]{width:100%;margin:5px 0 0;}
.clinical-list-preview{display:grid;grid-template-columns:1fr 2fr 1.4fr .8fr;align-items:center;margin-top:7px;border:1px solid #dce7f0;border-radius:9px;overflow:hidden;background:#fff;}
.clinical-list-preview>div{padding:8px 10px;background:var(--cl-header,#f4f8fb);color:#52708a;font-size:11px;font-weight:800;border-bottom:1px solid #dce7f0;}
.clinical-list-preview>span,.clinical-list-preview>strong,.clinical-list-preview>button{min-height:var(--cl-row,60px);display:flex;align-items:center;padding:8px 10px;font-size:var(--cl-text,14px);color:#718096;border-left:0;border-bottom:0;box-sizing:border-box;}
.clinical-list-preview>span:first-of-type{border-left:6px solid var(--cl-accent,#2374e8);padding-left:5px;}
.clinical-list-preview>strong{font-size:var(--cl-patient,15px);color:#0f2f4a;padding-right:5px;}
.clinical-list-preview>button{justify-self:start;min-height:auto;padding:8px 13px;margin:0;}
.clinical-lists-columns{padding:10px!important;}
.clinical-columns-target{display:grid;gap:3px;max-width:310px;margin:7px 0 9px;color:#315874;font-size:11px;font-weight:800;}
.clinical-width-preview{border:1px solid #d7e4ef;border-radius:8px;overflow:hidden;margin:8px 0;}.clinical-width-row{display:flex;width:100%;background:#f5f9fc;}.clinical-width-row span{position:relative;min-width:5%;padding:14px 9px;color:#52708a;font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:1px solid #d7e4ef;box-sizing:border-box;}.clinical-width-row i{position:absolute;top:0;right:-5px;width:10px;height:100%;cursor:col-resize;z-index:2;}.clinical-width-row i:hover{background:#2374e8;}
@media(max-width:1050px){.clinical-list-controls{grid-template-columns:repeat(3,minmax(0,1fr));}.clinical-list-editor-grid{grid-template-columns:1fr;}.clinical-list-preview{grid-template-columns:1fr 1.4fr 1fr .8fr;}}

/* ProntSync 120 — os três comandos clínicos são uma única família visual.
   A ação pode mudar (Atender, Continuar ou Reavaliar), mas nunca a leitura. */
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .btn.btn-primary.btn-sm,
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .ps-care-action,
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .ps-new-care-btn,
body:not(.login-page) .content .dashboard-recent-table .dashboard-actions-disabled .ps-care-action{
  width:84px!important;
  min-width:84px!important;
  max-width:84px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0 8px!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* A chamada indisponível mantém a mesma geometria da chamada disponível;
   muda somente a cor para sinalizar que a ação está bloqueada. */
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon.ps-call-disabled,
body:not(.login-page) .content .dashboard-recent-table .dashboard-actions-disabled .er-call-icon.ps-call-disabled{
  width:var(--ps-editor-size,20px)!important;
  height:var(--ps-editor-size,20px)!important;
  min-width:var(--ps-editor-size,20px)!important;
  min-height:var(--ps-editor-size,20px)!important;
}
body:not(.login-page) .content .ps-queue-table .er-actions-wrap .er-call-icon.ps-call-disabled svg,
body:not(.login-page) .content .dashboard-recent-table .dashboard-actions-disabled .er-call-icon.ps-call-disabled svg{
  width:var(--ps-editor-size,20px)!important;
  height:var(--ps-editor-size,20px)!important;
}

/* Painel: a lista única reaproveita a grade do Pronto Socorro. A única
   diferença deliberada é a aparência cinza e desativada das ações. */
body:not(.login-page) .content .dashboard-recent-table .dashboard-actions-disabled{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  white-space:nowrap!important;
}
body:not(.login-page) .content .dashboard-search-bar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  padding:10px 16px!important;
  border-bottom:1px solid #dce7f0!important;
  background:#fff!important;
}
body:not(.login-page) .content .dashboard-search-bar .ps-section-search{width:262px!important;}
@media(max-width:720px){body:not(.login-page) .content .dashboard-search-bar{justify-content:flex-start!important;}.dashboard-search-bar .ps-section-search{width:min(262px,calc(100% - 42px))!important;}}

/* Painel administrativo — resumo operacional entre os indicadores e a lista. */
.dashboard-operations{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.32fr);gap:14px;}
.dashboard-op-card{background:#fff;border:1px solid #dfe8ef;border-radius:16px;box-shadow:0 8px 24px rgba(41,79,106,.06);overflow:hidden;}
.dashboard-op-card>header{min-height:54px;padding:14px 16px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.dashboard-op-title{display:flex;align-items:center;gap:9px;min-width:0;}.dashboard-op-title h3{margin:0;color:#123d67;font-size:14px;line-height:1.2;}.dashboard-op-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#edf5ff;color:#176cd2;font-size:18px;font-weight:700;line-height:1;}.dashboard-op-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;}
.dashboard-op-count{min-width:27px;height:27px;padding:0 8px;border-radius:9px;display:grid;place-items:center;text-decoration:none;background:#edf3ff;color:#2167c7;font-size:12px;font-weight:800;}
.dashboard-pending-list{margin:0 16px;border:1px solid #e6edf3;border-radius:10px;overflow:hidden;}.dashboard-op-labels,.dashboard-pending-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:10px;align-items:center;}.dashboard-op-labels{padding:9px 11px;background:#f7fafc;color:#698198;font-size:10px;font-weight:800;}.dashboard-op-labels span:last-child{text-align:right;}.dashboard-pending-row{min-height:38px;padding:8px 11px;border-top:1px solid #edf2f6;}.dashboard-pending-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#31506d;font-size:11px;font-weight:650;}.dashboard-pending-row span{text-align:right;color:#5b7ca2;font-size:11px;font-variant-numeric:tabular-nums;}.dashboard-op-footer{margin:0 16px;padding:12px 2px;display:flex;justify-content:space-between;text-decoration:none;color:#1d67c5;font-size:11px;font-weight:750;}.dashboard-op-footer span{font-size:18px;line-height:10px;}.dashboard-op-empty{min-height:138px;padding:18px 16px;display:flex;align-items:center;color:#8295a4;font-size:12px;}
.dashboard-risk-list{margin:0 16px 14px;border:1px solid #e6edf3;border-radius:10px;overflow:hidden;}.dashboard-risk-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:45px;padding:7px 10px;border-top:1px solid #edf2f6;text-decoration:none;background:#fff;position:relative;}.dashboard-risk-row:first-child{border-top:0;}.dashboard-risk-row::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--dash-risk,#8ca2b5);}.dashboard-risk-row.risk-red{--dash-risk:#e4374d;}.dashboard-risk-row.risk-orange{--dash-risk:#f38712;}.dashboard-risk-row.risk-yellow{--dash-risk:#edb719;}.dashboard-risk-row.risk-green{--dash-risk:#20a866;}.dashboard-risk-row.risk-blue{--dash-risk:#2374e8;}.dashboard-risk-row>b{color:var(--dash-risk);font-size:22px;line-height:1;text-align:center;}.dashboard-risk-row span{display:grid;gap:2px;min-width:0;}.dashboard-risk-row span strong{color:var(--dash-risk);font-size:11px;white-space:nowrap;}.dashboard-risk-row span small{color:#75899c;font-size:10px;}.dashboard-risk-row em{font-style:normal;color:#2869bd;font-size:10px;font-weight:700;white-space:nowrap;}.dashboard-risk-row:hover{background:#f8fbff;}
@media(max-width:980px){.dashboard-operations{grid-template-columns:1fr;}}
@media(max-width:560px){.dashboard-risk-row{grid-template-columns:40px minmax(0,1fr);}.dashboard-risk-row em{display:none;}}

/* Painel — faixa operacional no desenho limpo de referência. */
body:not(.login-page) .content .dashboard-operations{
  grid-template-columns:minmax(300px,.88fr) minmax(410px,1.12fr)!important;
  gap:12px!important;
  align-items:stretch!important;
}
body:not(.login-page) .content .dashboard-operations .dashboard-op-card{
  background:#fff!important;
  border:1px solid #e5edf4!important;
  border-radius:11px!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body:not(.login-page) .content .dashboard-operations .dashboard-op-card>header{
  min-height:50px!important;
  padding:14px 16px 10px!important;
}
body:not(.login-page) .content .dashboard-operations .dashboard-op-title{gap:10px!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-op-title h3{
  color:#123d67!important;
  font-size:14px!important;
  font-weight:750!important;
  letter-spacing:0!important;
}
body:not(.login-page) .content .dashboard-operations .dashboard-op-icon{
  width:20px!important;
  height:20px!important;
  border-radius:0!important;
  background:transparent!important;
  color:#176fd0!important;
}
body:not(.login-page) .content .dashboard-operations .dashboard-er-now .dashboard-op-icon{color:#0a73c8!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-op-icon svg{width:20px!important;height:20px!important;stroke-width:1.8!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-op-icon svg{width:18px!important;height:18px!important;stroke-width:1.7!important;}
/* Ícones extraídos da referência aprovada pelo usuário, sem redesenho. */
body:not(.login-page) .content .dashboard-operations .dashboard-op-icon{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
  background:transparent!important;
}
body:not(.login-page) .content .dashboard-operations .dashboard-op-icon svg{display:block!important;}

/* Ícones da navegação e dos atalhos: SVGs próprios, sempre disponíveis no desktop. */
.nav-icon{display:inline-grid;place-items:center;flex:0 0 22px;height:22px;}
.nav-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.quick-card .qicon{display:grid;place-items:center;width:28px;height:28px;color:#123d67;}
.quick-card .qicon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
/* Não ocultar os SVGs dos dois blocos operacionais: os PNGs de referência eram
   o ponto de falha no executável e deixavam o cabeçalho sem ícone. */
body:not(.login-page) .content .dashboard-operations .dashboard-op-icon{background:transparent!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-op-icon svg{display:block!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-op-count{
  min-width:25px!important;
  height:25px!important;
  padding:0 7px!important;
  border-radius:8px!important;
  background:#edf3ff!important;
  color:#2a66b5!important;
  font-size:11px!important;
  font-weight:800!important;
}
body:not(.login-page) .content .dashboard-operations .dashboard-pending-list,
body:not(.login-page) .content .dashboard-operations .dashboard-risk-list{
  margin:0 16px!important;
  border:1px solid #edf2f6!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
body:not(.login-page) .content .dashboard-operations .dashboard-op-labels{
  padding:8px 11px!important;
  background:#fbfcfe!important;
  color:#71869a!important;
  font-size:9.5px!important;
  font-weight:750!important;
}
body:not(.login-page) .content .dashboard-operations .dashboard-pending-row{
  min-height:36px!important;
  padding:7px 11px!important;
  border-top:1px solid #eef3f6!important;
}
body:not(.login-page) .content .dashboard-operations .dashboard-pending-row strong{color:#42607c!important;font-size:10.8px!important;font-weight:600!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-pending-row span{color:#5072a1!important;font-size:10.8px!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-op-footer{
  margin:0 16px!important;
  padding:11px 2px 12px!important;
  color:#1c68bf!important;
  font-size:10.5px!important;
  font-weight:750!important;
}
body:not(.login-page) .content .dashboard-operations .dashboard-risk-list{margin-bottom:14px!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-risk-row{
  grid-template-columns:46px minmax(0,1fr) auto!important;
  min-height:43px!important;
  padding:6px 11px!important;
  border-top:1px solid #eef3f6!important;
  background:#fff!important;
}
body:not(.login-page) .content .dashboard-operations .dashboard-risk-row::before{left:0!important;top:7px!important;bottom:7px!important;width:3px!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-risk-row>b{font-size:20px!important;font-weight:750!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-risk-row span{gap:1px!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-risk-row span strong{font-size:10.8px!important;font-weight:700!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-risk-row span small{font-size:9.5px!important;color:#71869a!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-risk-row em{font-size:9.5px!important;color:#2869bd!important;font-weight:700!important;}
body:not(.login-page) .content .dashboard-operations .dashboard-risk-row:hover{background:#fbfdff!important;}
@media(max-width:980px){body:not(.login-page) .content .dashboard-operations{grid-template-columns:1fr!important;}}

/* Classes exclusivas: impedem que badges da fila clínica deformem o resumo. */
body:not(.login-page) .content .dashboard-risk-row.dashboard-risk-red{--dash-risk:#e4374d!important;}
body:not(.login-page) .content .dashboard-risk-row.dashboard-risk-orange{--dash-risk:#f38712!important;}
body:not(.login-page) .content .dashboard-risk-row.dashboard-risk-yellow{--dash-risk:#edb719!important;}
body:not(.login-page) .content .dashboard-risk-row.dashboard-risk-green{--dash-risk:#20a866!important;}
body:not(.login-page) .content .dashboard-risk-row.dashboard-risk-blue{--dash-risk:#2374e8!important;}

body:not(.login-page) .content .ps-section-card .ps-queue-table tbody tr{height:42px!important;min-height:42px!important;}
body:not(.login-page) .content .ps-section-card .ps-queue-table tbody td{height:42px!important;padding:4px 10px!important;}
body:not(.login-page) .content .ps-section-card .ps-queue-table .er-actions-wrap .btn.btn-primary.btn-sm{min-height:32px!important;height:32px!important;padding:0 10px!important;font-size:11px!important;border-radius:8px!important;}

/* Recepção: mesma fonte da fila do Pronto Socorro. O rótulo desta ação é
   maior que "Atender"; por isso a caixa deve comportar o texto inteiro. */
body:not(.login-page) .content .reception-patient-table .ps-row-info{
  font-family:inherit!important;
  font-size:var(--ps-editor-size,var(--ps-row-info-size,13px))!important;
  font-weight:var(--ps-editor-weight,var(--ps-row-info-weight,400))!important;
}
body:not(.login-page) .content .reception-patient-table .ps-patient-cell .ps-row-info{
  font-size:var(--ps-editor-size,var(--ps-row-info-size,15px))!important;
  font-weight:var(--ps-editor-weight,var(--ps-row-info-weight,400))!important;
}
body:not(.login-page) .content .reception-patient-table td.er-actions .btn{
  width:max-content!important;
  min-width:128px!important;
  max-width:none!important;
  padding:0 12px!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
body:not(.login-page) .content .reception-patient-table td.er-actions{min-width:148px!important;}

/* Regra final: sobrescreve a medida de 84 px dos botões curtos do PS. */
body:not(.login-page) .content .ps-section-card .reception-patient-table.ps-queue-table td.er-actions .er-actions-wrap .btn.btn-primary.btn-sm,
body:not(.login-page) .content .ps-section-card .reception-patient-table.ps-queue-table td.er-actions .er-actions-wrap .btn.btn-sm{
  width:138px!important;
  min-width:138px!important;
  max-width:138px!important;
  padding:0 10px!important;
  font-size:12px!important;
  font-weight:700!important;
}

/* Em Recepção, a grade de Atendimentos ativos precisa reservar espaço para
   os três comandos finais. As colunas centrais cedem apenas o necessário. */
body:not(.login-page) .content .clinical-list-card:has(.reception-patient-table) + .clinical-list-card .dashboard-recent-table col:nth-child(1){width:8%!important;}
body:not(.login-page) .content .clinical-list-card:has(.reception-patient-table) + .clinical-list-card .dashboard-recent-table col:nth-child(2){width:16%!important;}
body:not(.login-page) .content .clinical-list-card:has(.reception-patient-table) + .clinical-list-card .dashboard-recent-table col:nth-child(3){width:7%!important;}
body:not(.login-page) .content .clinical-list-card:has(.reception-patient-table) + .clinical-list-card .dashboard-recent-table col:nth-child(4){width:11%!important;}
body:not(.login-page) .content .clinical-list-card:has(.reception-patient-table) + .clinical-list-card .dashboard-recent-table col:nth-child(5){width:11%!important;}
body:not(.login-page) .content .clinical-list-card:has(.reception-patient-table) + .clinical-list-card .dashboard-recent-table col:nth-child(6){width:10%!important;}
body:not(.login-page) .content .clinical-list-card:has(.reception-patient-table) + .clinical-list-card .dashboard-recent-table col:nth-child(7){width:11%!important;}
body:not(.login-page) .content .clinical-list-card:has(.reception-patient-table) + .clinical-list-card .dashboard-recent-table col:nth-child(8){width:10%!important;}
body:not(.login-page) .content .clinical-list-card:has(.reception-patient-table) + .clinical-list-card .dashboard-recent-table col:nth-child(9){width:15%!important;}

/* As duas filas da Recepção recebem seu próprio cabeçalho e contador. A
   busca permanece na fila de pacientes; esconder a busca administrativa
   evita duplicidade e mantém o mesmo desenho das filas assistenciais. */
body:not(.login-page) .content .reception-flow-card .dashboard-search-bar{display:none!important;}
body:not(.login-page) .content .reception-flow-card .dashboard-recent-wrap{overflow-x:auto!important;}
body:not(.login-page) .content .reception-flow-card .ps-section-head h3{
  font-size:15px!important;
  font-weight:600!important;
}
body:not(.login-page) .content .reception-flow-card .reception-disabled-action,
body:not(.login-page) .content .reception-flow-card .reception-disabled-action:disabled{
  background:#eef1f4!important;
  color:#9aa5af!important;
  border:1px solid #d9e0e6!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
  opacity:1!important;
}

/* Classificação ainda não definida: leitura visível, porém neutra. */
body:not(.login-page) .content .ps-queue-table .triage-waiting-text{
  display:block!important;
  box-sizing:border-box!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:10px!important;
  background:#718096!important;
  color:#fff!important;
  font-size:6.05px!important;
  font-weight:800!important;
  line-height:1.05!important;
  letter-spacing:-.03px!important;
  text-transform:uppercase!important;
  opacity:1!important;
}

/* Fila de Triagem e Pronto Socorro: mesma altura compacta da Recepção.
   As caixas de classificação ficam em 32 px dentro de uma linha de 42 px. */
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) tbody tr{
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
}
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) tbody td{
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  padding:4px 10px!important;
}

/* O conteúdo também precisa ser compacto; caso contrário, ele impõe uma
   altura maior que a linha mesmo quando a tabela é configurada para 42 px. */
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) .risk-blue,
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) .risk-green,
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) .risk-yellow,
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) .risk-orange,
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) .risk-red,
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) .triage-waiting-text{
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
}
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) .er-actions-wrap .btn.btn-primary.btn-sm,
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) .er-actions-wrap .ps-care-action{
  height:28px!important;
  min-height:28px!important;
}
.settings-accordion{display:grid;gap:3px}.settings-accordion-item{width:100%;border:1px solid #d6e0e8;border-radius:4px;background:#fff;overflow:hidden}.settings-accordion-trigger{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;padding:7px 14px;border:0;background:#fff;color:#173f60;font:400 13px inherit;text-align:left;cursor:pointer}.settings-accordion-trigger:hover{background:#f3f8fc}.settings-accordion-chevron{width:26px;height:26px;display:grid;place-items:center;border:1px solid #d7e3ec;border-radius:7px;background:#f7fbfe;color:#356b93;transition:transform .18s ease,background .18s ease}.settings-accordion-chevron svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.settings-accordion-trigger[aria-expanded="true"] .settings-accordion-chevron{transform:rotate(180deg);background:#e9f3fb}.settings-accordion-content{border-top:1px solid #dce6ee;padding:16px}.settings-accordion-content>.card,.settings-accordion-content>.risk-color-admin-panel,.settings-accordion-content>.visual-admin-panel,.settings-accordion-content>.settings-section{margin:0;border:0;border-radius:0;box-shadow:none}.settings-accordion-content>.admin-compact-grid{display:block}.settings-accordion-content>.admin-compact-grid>.admin-mini-card{width:100%}

/* A rolagem das telas internas pertence somente ao conteúdo, preservando o cabeçalho fixo. */
html,body,#app{height:100%;overflow:hidden}.app-shell{height:100vh;min-height:0}.main{height:100vh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{position:relative;flex:0 0 70px}.content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;max-width:none;margin:0;padding:24px}

/* Aplicação direta nas células com risco: remove o espaçamento vertical que
   continuava vindo da regra genérica de tabela. */
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) tbody tr.ps-risk-row>td{
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:1!important;
}

/* Busca compacta para a base CATMAT no receituário. */
.medication-picker{position:relative}
.medication-results{position:absolute;z-index:20;top:69px;left:0;right:0;max-height:190px;overflow-y:auto;background:#fff;border:1px solid #b9d2e7;border-radius:10px;box-shadow:0 14px 28px rgba(26,67,101,.18);padding:4px}
.medication-result{display:block;width:100%;border:0;background:transparent;color:#17324a;text-align:left;padding:8px 10px;border-radius:7px;font-size:12px;line-height:1.3}
.medication-result:hover,.medication-result:focus{background:#eaf4ff;outline:0}
.medication-no-result{padding:10px;color:#6c8295;font-size:12px}

/* Cabeçalho do atendimento médico: identificação com maior hierarquia visual. */
.patient-strip h3{
  font-size:22px!important;
  line-height:1.15!important;
}

/* Atendimento médico: identificação clínica fixa; rolagem somente no conteúdo da aba. */
.content:has(.care-workspace){overflow:hidden!important}
.care-workspace{height:100%;min-height:0;display:flex;flex-direction:column}
.care-fixed-header{flex:0 0 auto}
.care-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding-right:2px}
.care-scroll>.card:last-child{margin-bottom:2px}
.care-triage-info{display:inline-grid!important;place-items:center;vertical-align:middle;margin-left:2px!important;transform:none;flex:0 0 auto!important}
.care-triage-info[data-tooltip-hidden]::after{opacity:0!important;visibility:hidden!important}

body:not(.login-page) .content .prontsync-tool-btn{position:relative!important;overflow:visible!important}
body:not(.login-page) .content .prontsync-tool-btn[data-tooltip]::after,body:not(.login-page) .content .prontsync-reclassify-btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;z-index:9999;padding:5px 8px;border-radius:6px;background:#263646;color:#fff;font:500 11px/1.2 Arial,Helvetica,sans-serif;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease}
body:not(.login-page) .content .prontsync-tool-btn[data-tooltip]::after{right:calc(100% + 8px);bottom:calc(100% + 4px)}
body:not(.login-page) .content .prontsync-reclassify-btn[data-tooltip]::after{left:calc(100% + 8px);top:calc(100% + 8px)}
body:not(.login-page) .content .prontsync-tool-btn[data-tooltip]:hover::after,body:not(.login-page) .content .prontsync-reclassify-btn[data-tooltip]:hover::after{opacity:1;visibility:visible}

/* Reavaliar recebe uma regra exclusiva na fila concluída. Ele deve ficar
   na mesma medida efetiva de Atender e Continuar (84 × 32 px). */
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) .er-actions-wrap.er-actions-closed .ps-new-care-btn{
  width:84px!important;
  min-width:84px!important;
  max-width:84px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:0 8px!important;
  font-size:10.7px!important;
  font-weight:700!important;
  line-height:1!important;
}

/* Recepção: Ações é uma célula de tabela. Mantê-la como flex deslocava o
   botão para fora da linha; o flex pertence somente ao conteúdo interno. */
body:not(.login-page) .content .reception-patient-table.ps-queue-table td.er-actions{
  display:table-cell!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  padding:4px 10px!important;
  vertical-align:middle!important;
}
body:not(.login-page) .content .reception-patient-table.ps-queue-table td.er-actions .er-actions-wrap{
  min-height:32px!important;
  height:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
body:not(.login-page) .content .reception-patient-table.ps-queue-table td.er-actions .er-actions-wrap .btn{
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
}
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) tbody tr.ps-risk-row>td .ps-row-info,
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) tbody tr.ps-risk-row>td .ps-status-waiting,
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) tbody tr.ps-risk-row>td .ps-status-in-care,
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) tbody tr.ps-risk-row>td .ps-status-triage{
  line-height:1!important;
}

/* Painel: mesma altura compacta das filas assistenciais. */
body:not(.login-page) .content .dashboard-recent-table tbody tr.ps-risk-row>td{
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:1!important;
}
body:not(.login-page) .content .dashboard-recent-table .risk-blue,
body:not(.login-page) .content .dashboard-recent-table .risk-green,
body:not(.login-page) .content .dashboard-recent-table .risk-yellow,
body:not(.login-page) .content .dashboard-recent-table .risk-orange,
body:not(.login-page) .content .dashboard-recent-table .risk-red,
body:not(.login-page) .content .dashboard-recent-table .triage-waiting-text,
body:not(.login-page) .content .dashboard-recent-table .dashboard-actions-disabled .ps-care-action{
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
}
body:not(.login-page) .content .dashboard-recent-table .ps-row-info,
body:not(.login-page) .content .dashboard-recent-table .ps-status-waiting,
body:not(.login-page) .content .dashboard-recent-table .ps-status-in-care,
body:not(.login-page) .content .dashboard-recent-table .ps-status-triage{
  line-height:1!important;
}

/* ProntSync 451: regras antigas de 28 px de Pacientes/Painel removidas;
   clinical-list-system.css é a autoridade única para altura e tipografia. */


/* Pronto Socorro: Atender, Continuar e Reavaliar formam uma única família
   visual. A última regra de compactação não pode achatar apenas os dois
   primeiros botões. */
body:not(.login-page) .content .ps-section-card .ps-queue-table .er-actions-wrap .btn.btn-primary.btn-sm,
body:not(.login-page) .content .ps-section-card .ps-queue-table .er-actions-wrap .ps-care-action,
body:not(.login-page) .content .ps-section-card .ps-queue-table .er-actions-wrap .ps-new-care-btn{
  width:84px!important;
  min-width:84px!important;
  max-width:84px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:0 8px!important;
  font-size:10.7px!important;
  font-weight:700!important;
  line-height:1!important;
}

/* A regra anterior usa :not(.reception-patient-table), por isso precisa ser
   espelhada aqui para Atender e Continuar não voltarem a 28 px. */
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) .er-actions-wrap .btn.btn-primary.btn-sm,
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) .er-actions-wrap .ps-care-action{
  width:84px!important;
  min-width:84px!important;
  max-width:84px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:0 8px!important;
  font-size:10.7px!important;
  font-weight:700!important;
  line-height:1!important;
}

/* ProntSync 292 — protótipo de Anamnese por IA */
.ai-anamnesis-modal{width:min(1080px,94vw)!important;max-width:1080px!important;height:min(88vh,860px);display:flex;flex-direction:column}.ai-anamnesis-modal .modal-body{overflow:auto;flex:1}.ai-anamnesis-shell{display:grid;gap:14px}.ai-consent-note{display:flex;flex-direction:column;gap:4px;padding:13px 15px;border:1px solid #cfdbe6;border-radius:10px;background:#f7fafc;color:#17324d}.ai-consent-note strong{color:#17466a;font-size:15px}.ai-recorder-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 15px;border:1px solid #d8e0e7;border-radius:10px;background:#fff}.ai-transcript{min-height:190px!important}.ai-organized{min-height:270px!important}.ai-key-setup{max-width:720px}.ai-recorder-card .btn-danger:disabled,.ai-recorder-card .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:760px){.ai-recorder-card{align-items:stretch;flex-direction:column}.ai-recorder-card .actions{justify-content:flex-start}}

/* ProntSync 298 — atendimento do Pronto Socorro: ações mais limpas no cabeçalho. */
body:not(.login-page) .content .care-workspace .prontsync-reclassify-btn{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
  border:1.5px solid #d7e1e9!important;
  border-radius:5px!important;
  background:transparent!important;
  color:#dcecff!important;
  box-shadow:none!important;
  cursor:pointer!important;
  position:relative!important;
  overflow:visible!important;
}
body:not(.login-page) .content .care-workspace .prontsync-reclassify-btn svg{
  width:15px!important;
  height:15px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body:not(.login-page) .content .care-workspace .prontsync-reclassify-btn:hover,
body:not(.login-page) .content .care-workspace .prontsync-reclassify-btn:focus{
  color:#fff!important;
  border-color:#fff!important;
  background:rgba(255,255,255,.07)!important;
  outline:none!important;
}
/* Somente o i do atendimento do Pronto Socorro abre o tooltip no canto inferior direito. */
body:not(.login-page) .content .care-workspace .care-triage-info[data-tooltip]::after{
  left:calc(100% + 8px)!important;
  right:auto!important;
  top:calc(100% + 6px)!important;
  bottom:auto!important;
  transform:none!important;
}

/* ProntSync 299 — PS: ícones de informação e reclassificação discretos e uniformes. */
body:not(.login-page) .content .care-workspace .prontsync-reclassify-btn,
body:not(.login-page) .content .care-workspace .care-triage-info{
 width:21px!important;height:21px!important;min-width:21px!important;max-width:21px!important;min-height:21px!important;max-height:21px!important;padding:0!important;margin:0!important;display:inline-grid!important;place-items:center!important;border:1px solid #d7e1e9!important;border-radius:4px!important;background:transparent!important;color:#dcecff!important;box-shadow:none!important;line-height:1!important;opacity:.86!important;
}
body:not(.login-page) .content .care-workspace .care-triage-info>span{font-size:11px!important;font-weight:700!important;line-height:1!important;}
body:not(.login-page) .content .care-workspace .prontsync-reclassify-btn svg{width:12px!important;height:12px!important;}
body:not(.login-page) .content .care-workspace .prontsync-reclassify-btn:hover,
body:not(.login-page) .content .care-workspace .prontsync-reclassify-btn:focus,
body:not(.login-page) .content .care-workspace .care-triage-info:hover,
body:not(.login-page) .content .care-workspace .care-triage-info:focus{color:#fff!important;border-color:#fff!important;background:rgba(255,255,255,.06)!important;opacity:1!important;outline:none!important;}
body:not(.login-page) .content .care-workspace .care-triage-info[data-tooltip]::after{left:calc(100% + 7px)!important;right:auto!important;top:calc(100% + 5px)!important;bottom:auto!important;transform:none!important;}

/* ProntSync 300 — Pronto Socorro: chamar e informações no mesmo padrão de botão compacto. */
.ps-queue-table .ps-er-action-icons .er-call-icon,
.ps-queue-table .ps-er-action-icons .ps-info-btn{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  min-height:26px!important;
  padding:0!important;
  margin:0!important;
  display:inline-grid!important;
  place-items:center!important;
  border:1px solid #cbd8e4!important;
  border-radius:5px!important;
  background:rgba(255,255,255,.34)!important;
  color:#587897!important;
  box-shadow:none!important;
  opacity:.92!important;
  line-height:1!important;
  vertical-align:middle!important;
}
.ps-queue-table .ps-er-action-icons .er-call-icon svg{
  width:15px!important;
  height:15px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.ps-queue-table .ps-er-action-icons .ps-info-btn span{
  display:block!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
  color:currentColor!important;
}
.ps-queue-table .ps-er-action-icons .er-call-icon:hover,
.ps-queue-table .ps-er-action-icons .er-call-icon:focus,
.ps-queue-table .ps-er-action-icons .ps-info-btn:hover,
.ps-queue-table .ps-er-action-icons .ps-info-btn:focus{
  border-color:#aebfce!important;
  background:rgba(255,255,255,.58)!important;
  color:#315f89!important;
  opacity:1!important;
  outline:none!important;
}
.ps-queue-table .ps-er-action-icons .er-call-icon:disabled{
  border-color:#dce4eb!important;
  background:rgba(255,255,255,.22)!important;
  color:#aab8c5!important;
  opacity:.7!important;
  cursor:not-allowed!important;
}
/* Espaçamento uniforme entre os dois botões auxiliares e a ação principal. */
.ps-queue-table .ps-er-action-icons{
  gap:6px!important;
  align-items:center!important;
}

/* ProntSync 301 — correção efetiva: ações quadradas no PS */
body:not(.login-page) .content .ps-queue-table .ps-er-action-icons .ps-queue-square-action{
  box-sizing:border-box!important;
  width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important;
  min-height:26px!important;max-height:26px!important;padding:0!important;margin:0!important;
  display:inline-grid!important;place-items:center!important;
  border:1px solid #b9c9d8!important;border-radius:5px!important;
  background:rgba(255,255,255,.34)!important;color:#587897!important;
  box-shadow:none!important;opacity:.92!important;line-height:1!important;
}
body:not(.login-page) .content .ps-queue-table .ps-er-action-icons .ps-queue-square-action svg{
  width:15px!important;height:15px!important;fill:none!important;stroke:currentColor!important;
  stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
body:not(.login-page) .content .ps-queue-table .ps-er-action-icons .ps-queue-square-action span{
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  display:block!important;font-size:12px!important;font-weight:700!important;line-height:1!important;color:currentColor!important;
}
body:not(.login-page) .content .ps-queue-table .ps-er-action-icons .ps-queue-square-action:hover,
body:not(.login-page) .content .ps-queue-table .ps-er-action-icons .ps-queue-square-action:focus{
  border-color:#9fb3c5!important;background:rgba(255,255,255,.58)!important;color:#315f89!important;opacity:1!important;outline:none!important;
}
body:not(.login-page) .content .ps-queue-table .ps-er-action-icons .ps-queue-square-action:disabled{
  border-color:#d4dde5!important;background:rgba(255,255,255,.20)!important;color:#a7b5c2!important;opacity:.72!important;
}

/* ProntSync 302 — PS: geometria única para Chamar e Informações.
   O tamanho de referência é o botão Chamar ativo da fila de espera. */
body:not(.login-page) .content .ps-queue-table td.actions .ps-er-action-icons > button.er-call-icon.ps-queue-square-action,
body:not(.login-page) .content .ps-queue-table td.actions .ps-er-action-icons > button.ps-info-btn.prontsync-info-btn.ps-queue-square-action{
  box-sizing:border-box!important;
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  max-width:26px!important;
  min-height:26px!important;
  max-height:26px!important;
  padding:0!important;
  margin:0!important;
  flex:0 0 26px!important;
  display:inline-grid!important;
  place-items:center!important;
  border-width:1px!important;
  border-style:solid!important;
  border-radius:5px!important;
  line-height:1!important;
}
/* O alto-falante mantém o desenho pequeno da linha de espera, também quando desabilitado. */
body:not(.login-page) .content .ps-queue-table td.actions .ps-er-action-icons > button.er-call-icon.ps-queue-square-action svg,
body:not(.login-page) .content .ps-queue-table td.actions .ps-er-action-icons > button.er-call-icon.ps-call-disabled.ps-queue-square-action svg{
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  min-height:15px!important;
}
/* O i usa exatamente a mesma caixa do botão Chamar; somente o glifo interno é menor. */
body:not(.login-page) .content .ps-queue-table td.actions .ps-er-action-icons > button.ps-info-btn.prontsync-info-btn.ps-queue-square-action > span{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
}


/* ProntSync 303 — padrão global aprovado para Informações (i) e Chamar. */
body:not(.login-page) button.prontsync-aux-icon{
  box-sizing:border-box!important;
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  max-width:26px!important;
  min-height:26px!important;
  max-height:26px!important;
  flex:0 0 26px!important;
  padding:0!important;
  margin:0!important;
  display:inline-grid!important;
  place-items:center!important;
  border:1px solid #b9c9d8!important;
  border-radius:5px!important;
  background:rgba(255,255,255,.34)!important;
  color:#587897!important;
  box-shadow:none!important;
  opacity:.92!important;
  line-height:1!important;
  vertical-align:middle!important;
}
body:not(.login-page) button.prontsync-aux-icon.er-call-icon svg{
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  min-height:15px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body:not(.login-page) button.prontsync-aux-icon.ps-info-btn > span{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:currentColor!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
  display:block!important;
}
body:not(.login-page) button.prontsync-aux-icon:hover,
body:not(.login-page) button.prontsync-aux-icon:focus{
  border-color:#9fb3c5!important;
  background:rgba(255,255,255,.58)!important;
  color:#315f89!important;
  opacity:1!important;
  outline:none!important;
}
body:not(.login-page) button.prontsync-aux-icon:disabled{
  border-color:#d4dde5!important;
  background:rgba(255,255,255,.20)!important;
  color:#a7b5c2!important;
  opacity:.72!important;
  cursor:not-allowed!important;
}
/* Mesma geometria no cabeçalho escuro do Atendimento Médico, com contraste apropriado. */
body:not(.login-page) .care-workspace .patient-strip button.prontsync-aux-icon{
  border-color:#829db4!important;
  background:rgba(255,255,255,.06)!important;
  color:#dcecff!important;
}
body:not(.login-page) .care-workspace .patient-strip button.prontsync-aux-icon:hover,
body:not(.login-page) .care-workspace .patient-strip button.prontsync-aux-icon:focus{
  border-color:#ffffff!important;
  background:rgba(255,255,255,.11)!important;
  color:#ffffff!important;
}
/* Grupos de ações mantêm espaçamento curto e uniforme em todas as listas. */
body:not(.login-page) .er-actions-wrap > button.prontsync-aux-icon + button.prontsync-aux-icon{
  margin-left:6px!important;
}


/* ProntSync 304 — correção explícita do ícone de Informações na Classificação de Risco.
   Este seletor vence o legado .triage-info-btn/amarelo e fixa o padrão aprovado. */
body:not(.login-page) .content .ps-queue-table .triage-standard-info,
body:not(.login-page) .content table .triage-standard-info{
  appearance:none!important;
  box-sizing:border-box!important;
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  max-width:26px!important;
  min-height:26px!important;
  max-height:26px!important;
  flex:0 0 26px!important;
  padding:0!important;
  margin:0!important;
  display:inline-grid!important;
  place-items:center!important;
  border:1px solid #b9c9d8!important;
  border-radius:5px!important;
  background:rgba(255,255,255,.34)!important;
  color:#587897!important;
  box-shadow:none!important;
  opacity:.92!important;
  font-size:12px!important;
  line-height:1!important;
}
body:not(.login-page) .content .ps-queue-table .triage-standard-info > span,
body:not(.login-page) .content table .triage-standard-info > span{
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:currentColor!important;font-size:12px!important;
  font-weight:700!important;line-height:1!important;display:block!important;
}
body:not(.login-page) .content .ps-queue-table .triage-standard-info:hover,
body:not(.login-page) .content .ps-queue-table .triage-standard-info:focus,
body:not(.login-page) .content table .triage-standard-info:hover,
body:not(.login-page) .content table .triage-standard-info:focus{
  border-color:#9fb3c5!important;background:rgba(255,255,255,.58)!important;
  color:#315f89!important;opacity:1!important;outline:none!important;
}


/* O botão Informações herda exatamente o hover/focus aprovado do botão Editar classificação. */
body:not(.login-page) .content .care-workspace .patient-strip button.care-triage-info:hover,
body:not(.login-page) .content .care-workspace .patient-strip button.care-triage-info:focus{
  color:#fff!important;
  border-color:#fff!important;
  background:rgba(255,255,255,.06)!important;
  opacity:1!important;
  outline:none!important;
  box-shadow:none!important;
}


/* ProntSync 310 — padronização definitiva do botão Informações com Editar classificação */
.care-head .care-info-btn,
.care-head .care-info-btn:hover,
.care-head .care-info-btn:focus,
.care-head .care-info-btn:focus-visible,
.care-head .care-info-btn:active,
.care-head .ps-info-btn,
.care-head .ps-info-btn:hover,
.care-head .ps-info-btn:focus,
.care-head .ps-info-btn:focus-visible,
.care-head .ps-info-btn:active {
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  min-height:26px !important;
  padding:0 !important;
  border-radius:5px !important;
  box-sizing:border-box !important;
  transition:background-color .15s ease, border-color .15s ease, color .15s ease !important;
}

/* estado normal — idêntico ao editar */
.care-head .care-info-btn,
.care-head .ps-info-btn {
  background:transparent !important;
  border:1px solid rgba(255,255,255,.32) !important;
  color:#d9e8f5 !important;
  box-shadow:none !important;
}

/* hover — idêntico ao editar */
.care-head .care-info-btn:hover,
.care-head .ps-info-btn:hover {
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.58) !important;
  color:#fff !important;
  box-shadow:none !important;
  transform:none !important;
}

/* focus/active sem efeito alternativo */
.care-head .care-info-btn:focus,
.care-head .care-info-btn:focus-visible,
.care-head .ps-info-btn:focus,
.care-head .ps-info-btn:focus-visible {
  outline:none !important;
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.58) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.care-head .care-info-btn:active,
.care-head .ps-info-btn:active {
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.58) !important;
  color:#fff !important;
  box-shadow:none !important;
  transform:none !important;
}

/* ProntSync 315 — novo Painel Administrativo operacional */
.dashboard-v2-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.dashboard-v2-stats article{background:#fff;border:1px solid #dfe8ef;border-radius:14px;padding:14px 16px;box-shadow:0 7px 20px rgba(41,79,106,.045);min-height:96px}
.dashboard-v2-stats span{display:block;color:#6b8195;font-size:10.5px;font-weight:800;letter-spacing:.02em}
.dashboard-v2-stats strong{display:block;color:#143f62;font-size:30px;line-height:1;margin:9px 0 5px;font-weight:800}
.dashboard-v2-stats small{color:#8a9daf;font-size:10.5px}
.dashboard-v2-main{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;margin-bottom:14px}
.dashboard-v2-card{background:#fff;border:1px solid #dfe8ef;border-radius:15px;box-shadow:0 7px 20px rgba(41,79,106,.045);overflow:hidden}
.dashboard-v2-card>header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 17px 12px;border-bottom:1px solid #edf2f6}
.dashboard-v2-card>header h3{margin:2px 0 0;color:#173f61;font-size:16px;font-weight:750}
.dashboard-eyebrow{display:block;color:#8a9caf;font-size:9.5px;font-weight:800;letter-spacing:.08em}
.dashboard-v2-card>header>a{font-size:10.5px;color:#2a6dba;text-decoration:none;font-weight:700}
.dashboard-live{display:flex;align-items:center;gap:6px;color:#72889a;font-size:10px;font-weight:650}
.dashboard-live i{display:block;width:7px;height:7px;border-radius:50%;background:#1db67d;box-shadow:0 0 0 3px rgba(29,182,125,.10)}
.dashboard-queue-list{padding:6px 15px 13px}
.dashboard-queue-list>a,.dashboard-queue-oldest{display:grid;grid-template-columns:1fr 42px auto;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid #eef3f6;text-decoration:none;color:inherit}
.dashboard-queue-list>a span,.dashboard-queue-oldest span{font-size:11.5px;color:#456279;font-weight:600}
.dashboard-queue-list>a b{font-size:20px;color:#174a73;text-align:center}
.dashboard-queue-list>a em{font-style:normal;font-size:9.8px;color:#2d71be;font-weight:700;text-align:right}
.dashboard-queue-list>a:hover{background:#fbfdff}
.dashboard-queue-oldest{border-bottom:0;grid-template-columns:1fr auto;padding-top:3px}
.dashboard-queue-oldest strong{font-size:12px;color:#3a5871;font-weight:750}
.dashboard-priority-list{padding:6px 15px 13px}
.dashboard-priority-row{position:relative;display:grid;grid-template-columns:8px 1fr 38px 104px;align-items:center;gap:10px;min-height:49px;border-bottom:1px solid #eef3f6;text-decoration:none;color:inherit}
.dashboard-priority-row:last-child{border-bottom:0}
.dashboard-priority-row:hover{background:#fbfdff}
.dashboard-priority-dot{width:4px;height:30px;border-radius:4px;display:block}
.dashboard-priority-row>div{display:grid;gap:1px}
.dashboard-priority-row>div strong{font-size:11px;font-weight:750}
.dashboard-priority-row>div small{font-size:9.5px;color:#8194a5}
.dashboard-priority-row>b{font-size:20px;text-align:center;font-weight:800}
.dashboard-priority-row>em{font-style:normal;font-size:9.3px;text-align:right;color:#7c8f9f}
.dashboard-risk-red .dashboard-priority-dot{background:#ef3340}.dashboard-risk-red>div strong,.dashboard-risk-red>b{color:#ef3340}
.dashboard-risk-orange .dashboard-priority-dot{background:#f58a16}.dashboard-risk-orange>div strong,.dashboard-risk-orange>b{color:#e87909}
.dashboard-risk-yellow .dashboard-priority-dot{background:#efb600}.dashboard-risk-yellow>div strong,.dashboard-risk-yellow>b{color:#c89400}
.dashboard-risk-green .dashboard-priority-dot{background:#1faf72}.dashboard-risk-green>div strong,.dashboard-risk-green>b{color:#15945e}
.dashboard-risk-blue .dashboard-priority-dot{background:#2e7de1}.dashboard-risk-blue>div strong,.dashboard-risk-blue>b{color:#2b70c8}
.dashboard-attention{margin-bottom:14px}
.dashboard-alert-list{padding:10px 15px 13px;display:grid;gap:7px}
.dashboard-alert{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid #e3ebf1;border-radius:10px;background:#fafcfe}
.dashboard-alert-mark{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:#edf4f9;color:#476b87;font-size:11px;font-weight:800}
.dashboard-alert>div{display:grid;gap:2px}
.dashboard-alert strong{font-size:10.8px;color:#34536b;font-weight:700}
.dashboard-alert small{font-size:9.5px;color:#8194a5}
.dashboard-alert>a{font-size:9.5px;color:#2a6dba;text-decoration:none;font-weight:700}
.dashboard-alert-danger{border-color:#f5d4d7;background:#fffafb}.dashboard-alert-danger .dashboard-alert-mark{background:#fdebed;color:#c23d48}
.dashboard-alert-warning{border-color:#f2e1bb;background:#fffdf8}.dashboard-alert-warning .dashboard-alert-mark{background:#fff2d8;color:#a86e12}
.dashboard-alert-ok{border-color:#d8eee5;background:#fbfefc}.dashboard-alert-ok .dashboard-alert-mark{background:#e9f7f0;color:#27815b}
.dashboard-recent-card{margin-top:0}
.dashboard-recent-card .card-head{min-height:52px;padding:13px 17px}
.dashboard-recent-card .card-head h3{margin:2px 0 0;font-size:15px}
.dashboard-date-panel{min-width:300px}
@media(max-width:1050px){.dashboard-v2-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-v2-main{grid-template-columns:1fr}.dashboard-priority-row{grid-template-columns:8px 1fr 38px 94px}}
@media(max-width:700px){.dashboard-v2-stats{grid-template-columns:1fr}.dashboard-alert{grid-template-columns:28px 1fr}.dashboard-alert>a{grid-column:2}.dashboard-priority-row{grid-template-columns:8px 1fr 34px}.dashboard-priority-row>em{display:none}.dashboard-date-panel{min-width:0}}


/* ProntSync 316 — dashboard visual */
.dashx-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:15px}
.dashx-stats article{display:flex;align-items:center;gap:13px;min-height:104px;padding:15px 16px;background:linear-gradient(145deg,#fff,#fbfdff);border:1px solid #dfe8ef;border-radius:16px;box-shadow:0 8px 24px rgba(34,72,99,.055)}
.dashx-stat-icon{flex:0 0 42px;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef6fd;border:1px solid #dbeaf7;color:#1768a6;font-size:20px;font-weight:500}
.dashx-stats article>div{display:grid;min-width:0}
.dashx-stats small{font-size:9.5px;color:#758b9e;font-weight:800;letter-spacing:.035em}
.dashx-stats strong{font-size:30px;line-height:1;color:#123f62;margin:6px 0 4px;font-weight:800}
.dashx-stats em{font-style:normal;font-size:9.6px;color:#93a3b1}

.dashx-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:14px;margin-bottom:15px}
.dashx-card{background:#fff;border:1px solid #dfe8ef;border-radius:16px;box-shadow:0 8px 24px rgba(34,72,99,.052);overflow:hidden}
.dashx-card>header{height:64px;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf2f6}
.dashx-card>header h3{margin:2px 0 0;color:#153f61;font-size:15px;font-weight:750}
.dashx-card>header>a{font-size:10px;color:#286eb6;text-decoration:none;font-weight:700}
.dashx-caption{font-size:9.5px;color:#90a0ae}

.dashx-chart{padding:12px 18px 14px}
.dashx-chart svg{display:block;width:100%;height:162px}
.dashx-axis{stroke:#dce7ef;stroke-width:1.2}
.dashx-gridline{stroke:#edf3f7;stroke-width:1}
.dashx-line{fill:none;stroke:#2d7dd2;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.dashx-point{fill:#fff;stroke:#2d7dd2;stroke-width:2.2}
.dashx-hours{display:flex;justify-content:space-between;margin:0 6px;color:#91a2b1;font-size:9px}

.dashx-risk-body{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;padding:18px 18px 20px}
.dashx-donut{width:138px;height:138px;border-radius:50%;display:grid;place-items:center;position:relative}
.dashx-donut:after{content:"";position:absolute;width:88px;height:88px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #eef2f5}
.dashx-donut>div{position:relative;z-index:1;display:grid;text-align:center}
.dashx-donut strong{font-size:26px;color:#163f61;line-height:1}
.dashx-donut span{font-size:9px;color:#8a9bab;margin-top:4px}
.dashx-legend{display:grid;gap:4px}
.dashx-legend a{display:grid;grid-template-columns:9px 1fr 28px;align-items:center;gap:8px;text-decoration:none;color:#49667d;padding:5px 4px;border-radius:7px}
.dashx-legend a:hover{background:#f7fafc}
.dashx-legend i{width:7px;height:7px;border-radius:50%}
.dashx-legend span{font-size:10.5px}
.dashx-legend b{text-align:right;color:#173f60;font-size:12px}

.dashx-wait-body{padding:18px}
.dashx-wait-row{display:grid;gap:7px;margin-bottom:16px}
.dashx-wait-row>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}
.dashx-wait-row span{font-size:10.5px;color:#546f85;font-weight:650}
.dashx-wait-row b{font-size:11px;color:#173f61}
.dashx-bar{height:8px;background:#edf3f7;border-radius:99px;overflow:hidden}
.dashx-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#3b8bd4,#6db0e8)}
.dashx-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:21px}
.dashx-kpis a{display:flex;align-items:center;gap:8px;text-decoration:none;padding:10px;border:1px solid #e4ebf0;border-radius:11px;background:#fbfdff}
.dashx-mini-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#eef6fd;color:#236fae;font-size:13px}
.dashx-kpis strong{display:block;color:#173f61;font-size:14px}
.dashx-kpis small{display:block;color:#8b9dab;font-size:8.5px;margin-top:2px}

.dashx-alerts{padding:12px 14px 14px;display:grid;gap:8px}
.dashx-alert{min-height:57px;display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;border:1px solid #e4ebf0;border-radius:11px;background:#fbfdff}
.dashx-alert-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#eef4f8;color:#56758d;font-weight:800;font-size:11px}
.dashx-alert>div{display:grid;gap:2px}
.dashx-alert strong{font-size:10.3px;color:#39596f}
.dashx-alert small{font-size:8.8px;color:#8b9dab}
.dashx-alert b{font-size:9px;color:#2a70b8}
.dashx-alert-danger{background:#fffafb;border-color:#f3d7da}.dashx-alert-danger .dashx-alert-icon{background:#fdebed;color:#bd3e49}
.dashx-alert-warning{background:#fffdf8;border-color:#f1e3c0}.dashx-alert-warning .dashx-alert-icon{background:#fff2d8;color:#a86e12}
.dashx-alert-ok{background:#fbfefc;border-color:#d8eee5}.dashx-alert-ok .dashx-alert-icon{background:#e9f7f0;color:#27815b}

.dashboard-recent-card{margin-top:0}
@media(max-width:1120px){.dashx-stats{grid-template-columns:repeat(2,1fr)}.dashx-grid{grid-template-columns:1fr}.dashx-risk-body{grid-template-columns:150px 1fr}}
@media(max-width:700px){.dashx-stats{grid-template-columns:1fr}.dashx-kpis{grid-template-columns:1fr}.dashx-risk-body{grid-template-columns:1fr;justify-items:center}.dashx-legend{width:100%}}

/* ProntSync 317 — refinamento do Painel */
.dashx-stats article{gap:11px}
.dashx-stat-icon{
  flex:0 0 31px;width:31px;height:31px;border-radius:8px;
  background:#f4f8fb;border:1px solid #e2ebf2;color:#527b9b;
  font-size:15px;font-weight:500;
}
.page-head p:empty{display:none}

/* ProntSync 318 — ícones do Painel alinhados à identidade assistencial */
.dashx-stat-icon svg{width:16px;height:16px;display:block}


/* ProntSync 319 — contatos discretos no rodapé da tela de login */
.login-v14-footer-inner{width:min(1080px,96vw)!important;gap:24px!important}
.login-v14-contact{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:7px;color:#123d75;font-size:11.3px;line-height:1;white-space:nowrap}
.login-v14-contact-item{display:flex;align-items:center;gap:8px}
.login-v14-whatsapp,.login-v14-mail{width:20px;height:20px;display:grid;place-items:center;color:#0d62b8}
.login-v14-mail{color:#0d62b8}
.login-v14-whatsapp svg,.login-v14-mail svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:950px){.login-v14-contact-divider{display:none!important}.login-v14-contact{width:100%;align-items:center}.login-v14-footer-inner{height:auto!important}}

/* ProntSync 321 — rolagem lateral estável e visualmente externa */
@media (min-width:1001px){
  .app-shell{grid-template-columns:250px minmax(0,1fr)!important}
  .app-shell .sidebar{
    width:250px!important;
    min-width:250px!important;
    max-width:250px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable both-edges;
    scrollbar-width:thin;
    scrollbar-color:#9aa8b3 #f4f8fb;
  }
  .app-shell .sidebar::-webkit-scrollbar{width:10px}
  .app-shell .sidebar::-webkit-scrollbar-track{
    background:#f4f8fb;
    border-left:1px solid #dbe5ec;
  }
  .app-shell .sidebar::-webkit-scrollbar-thumb{
    background:#9aa8b3;
    border-radius:8px;
    border:2px solid #f4f8fb;
  }
  .app-shell .sidebar::-webkit-scrollbar-thumb:hover{background:#7f909d}
  .app-shell .side-brand{
    width:100%!important;
    margin:0!important;
  }
}


/* ProntSync 322 — padrão de leitura: cabeçalho fixo e rolagem apenas no conteúdo */
.readonly-attendance-modal{
  width:min(980px,94vw)!important;
  height:min(88vh,900px)!important;
  max-height:88vh!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.readonly-attendance-modal .modal-head{
  flex:0 0 auto;
  position:relative;
  z-index:2;
  background:#fff;
  gap:10px;
}
.readonly-attendance-modal .modal-head h3{margin-right:auto}
.readonly-attendance-modal .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:16px;
  scrollbar-gutter:stable;
}
.readonly-attendance-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.readonly-attendance-close{min-height:32px!important;padding:6px 12px!important}
@media(max-width:700px){
  .readonly-attendance-modal{width:96vw!important;height:92vh!important;max-height:92vh!important}
  .readonly-attendance-modal .modal-head{align-items:flex-start;flex-wrap:wrap}
  .readonly-attendance-modal .modal-head h3{width:100%}
  .readonly-attendance-actions{margin-left:0}
}

/* ProntSync 323 — evolução salva: bloqueio visual até edição consciente */
.clinical-saved-form .card-head{
  background:#fbfcfd;
}
.clinical-saved-form .clinical-readonly-field{
  background:#eef1f4!important;
  color:#566674!important;
  border-color:#d5dce2!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}
.clinical-saved-form textarea.clinical-readonly-field{
  overflow-y:auto;
}
.clinical-saved-note-meta{
  margin:2px 0 14px;
  padding:9px 11px;
  border:1px solid #dde4ea;
  background:#f6f8fa;
  border-radius:8px;
}
.clinical-saved-actions,.clinical-edit-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:4px;
}
.clinical-saved-actions .btn{
  flex:1 1 0;
}
.clinical-edit-actions .btn-primary:not(.w-100){
  flex:1 1 auto;
}

/* ProntSync 324 — Resumo de Atendimento Médico */
.visit-summary-modal{width:min(980px,96vw)!important;height:92vh!important;max-height:92vh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.visit-summary-modal .modal-head{flex:0 0 auto!important;background:#fff!important;position:relative!important;z-index:2!important}
.visit-summary-modal .modal-body{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;padding:0!important;background:#edf3f7!important}
.visit-summary-preview{display:block;width:100%;height:100%;border:0;background:#edf3f7}

/* Formulário estruturado da receita médica. */
.form-grid>.col-7{grid-column:span 7}.form-grid>.col-5{grid-column:span 5}
.rx-entry-form{min-width:0}.rx-manual-check{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:13px;font-weight:600}.rx-manual-check input{width:18px;height:18px;accent-color:#1769aa}.rx-entry-form .field{min-width:0}.rx-entry-form .field label{font-size:12px;line-height:1.25}.rx-radio-row{display:flex;align-items:center;gap:14px;min-height:42px;flex-wrap:wrap}.rx-radio-row label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:13px;font-weight:500}.rx-radio-row input{width:16px;height:16px;accent-color:#1769aa}.rx-weight-note{height:42px;margin-top:25px;border-radius:8px;background:#f1f4f8;padding:6px 10px;display:grid;align-content:center;font-size:12px}.rx-weight-note strong{display:block}.rx-weight-note span{font-style:italic;color:#53687a}.rx-frequency-tabs{display:flex;gap:4px;border-bottom:1px solid #cbd9e4;margin-bottom:12px}.rx-frequency-tabs button{border:1px solid #b7c8d7;border-bottom:0;background:#f7f9fc;padding:8px 10px;font-weight:700;font-size:12px}.rx-frequency-tabs button.active{background:#fff;color:#1769aa;border-top:2px solid #1769aa}.rx-period-panel{display:flex;align-items:center;gap:8px;min-height:42px;flex-wrap:wrap}.rx-period-panel>button{border:1px solid #aebecd;border-radius:6px;background:#fff;padding:7px 9px;font-weight:700}.rx-period-panel>strong{font-size:13px}@media(max-width:1180px){.form-grid>.col-7,.form-grid>.col-5{grid-column:span 12}.rx-weight-note{margin-top:0}}

/* Catálogo CATMAT: apresentação detalhada como no PEC. */
.medication-picker{position:relative}.medication-results{position:absolute;z-index:30;top:100%;left:0;right:0;max-height:330px;overflow:auto;background:#fff;border:1px solid #b9cad9;border-radius:0 0 8px 8px;box-shadow:0 8px 18px rgba(18,50,77,.18)}.medication-result{display:block;width:100%;padding:11px 12px;border:0;border-bottom:1px solid #d7e0e8;background:#fff;text-align:left;color:#132b43;cursor:pointer;font-size:13px;line-height:1.35}.medication-result:hover,.medication-result:focus{background:#edf5fc;outline:0}.medication-result strong{display:block;margin-bottom:4px;font-weight:800}.medication-result span{display:block;font-size:12px}.medication-result span b{margin-right:5px}.medication-no-result{padding:12px;color:#5d6f7e;font-size:13px}

/* Quadro de prescrição na tela: leitura no padrão do PEC. */
.pec-rx-screen-preview{min-height:300px}.pec-rx-screen-list{display:grid;gap:10px}.pec-rx-screen-card{border:1px solid #c9d3dc;border-radius:8px;background:#fff;padding:13px 14px;color:#132b43}.pec-rx-screen-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:8px;border-bottom:1px solid #dbe3ea}.pec-rx-screen-card header strong{font-size:15px;line-height:1.35}.pec-rx-screen-card header span{text-align:right;min-width:92px;line-height:1.3}.pec-rx-screen-card header b,.pec-rx-screen-card header small{display:block}.pec-rx-screen-card header small{font-size:12px;font-weight:500;color:#53687a}.pec-rx-screen-card p{margin:7px 0 0;font-size:13px;line-height:1.45}.pec-rx-screen-card p+p{margin-top:2px}.pec-rx-edit-text{margin-top:12px}

/* ProntSync 356 — receita em tela inteira: cabeçalho enxuto e rolagem isolada no formulário. */
.care-workspace.care-prescription-active .care-scroll{overflow:hidden;padding-right:0}
.care-workspace.care-prescription-active .care-scroll>.grid.grid-2{height:100%;min-height:0;gap:14px;align-items:stretch}
.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card{min-height:0;display:flex;flex-direction:column}
.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card>.card-head{flex:0 0 auto;padding:12px 16px}
.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card>.card-body{min-height:0;padding:12px 16px}
.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card:first-child>.card-body{overflow-y:auto;scrollbar-gutter:stable}
.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card:nth-child(2)>.card-body{flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden}
.care-workspace.care-prescription-active .rx-simple-text-preview{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin:0}
.care-workspace.care-prescription-active .rx-simple-text-preview .er-template-editor{flex:1 1 auto;min-height:0!important;height:100%!important;resize:none}
.care-workspace.care-prescription-active .rx-simple-text-preview .small{flex:0 0 auto;margin:7px 0 0}
@media(max-width:900px){.care-workspace.care-prescription-active .care-scroll{overflow-y:auto}.care-workspace.care-prescription-active .care-scroll>.grid.grid-2{height:auto}.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card:first-child>.card-body,.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card:nth-child(2)>.card-body{overflow:visible}.care-workspace.care-prescription-active .rx-simple-text-preview .er-template-editor{min-height:300px!important;height:auto!important;resize:vertical}}


/* ProntSync 359 — formulário de prescrição com máxima densidade visual. */
.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card:first-child>.card-head{padding:10px 14px!important;min-height:48px}.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card:first-child>.card-body{padding:10px 14px!important}
.care-workspace.care-prescription-active .rx-compact-form .rx-manual-check{min-height:22px;margin:0 0 5px!important;font-size:11px!important;gap:6px}.care-workspace.care-prescription-active .rx-compact-form .rx-manual-check input{width:15px!important;height:15px!important}
.care-workspace.care-prescription-active .rx-compact-form .form-grid{gap:4px 8px!important}.care-workspace.care-prescription-active .rx-compact-form .field{gap:2px!important;margin:0 0 3px!important}.care-workspace.care-prescription-active .rx-compact-form .field label{font-size:10px!important;line-height:1.1!important}
.care-workspace.care-prescription-active .rx-compact-form .input,.care-workspace.care-prescription-active .rx-compact-form .select{height:32px!important;min-height:32px!important;padding:4px 9px!important;border-radius:7px!important;font-size:12px!important}
.care-workspace.care-prescription-active .rx-compact-form .textarea{min-height:40px!important;height:40px!important;padding:5px 9px!important;font-size:12px!important}.care-workspace.care-prescription-active .rx-compact-form .pec-route-trigger{min-height:32px!important;height:32px!important;padding:0 30px 0 9px!important;border-radius:7px!important;font-size:12px!important}.care-workspace.care-prescription-active .rx-compact-form .pec-route-trigger:after{right:10px!important;top:4px!important;font-size:17px!important}
.care-workspace.care-prescription-active .rx-compact-form .rx-radio-row{min-height:28px!important;gap:8px!important}.care-workspace.care-prescription-active .rx-compact-form .rx-radio-row label{gap:4px!important;font-size:11px!important}.care-workspace.care-prescription-active .rx-compact-form .rx-radio-row input{width:13px!important;height:13px!important}
.care-workspace.care-prescription-active .rx-compact-form .rx-weight-note{height:32px!important;margin-top:13px!important;padding:3px 7px!important;font-size:10px!important;line-height:1.05!important}.care-workspace.care-prescription-active .rx-compact-form .rx-frequency-tabs{margin:0 0 3px!important}.care-workspace.care-prescription-active .rx-compact-form .rx-frequency-tabs button{min-height:28px!important;padding:4px 7px!important;font-size:10px!important}.care-workspace.care-prescription-active .rx-compact-form .rx-period-panel{min-height:28px!important;gap:5px!important}.care-workspace.care-prescription-active .rx-compact-form .rx-period-panel>button{min-height:28px!important;padding:4px 7px!important;font-size:10px!important}.care-workspace.care-prescription-active .rx-compact-form .rx-period-panel>strong{font-size:11px!important}.care-workspace.care-prescription-active .rx-compact-form .rx-period-panel .field{margin:0!important}.care-workspace.care-prescription-active .rx-compact-form [name="intervalHours"]{width:90px!important}.care-workspace.care-prescription-active .rx-compact-form .btn.w-100{min-height:34px!important;padding:6px 10px!important;font-size:12px!important;margin-top:3px}
.care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner{justify-self:end!important;margin-left:auto!important;width:150px!important;height:40px!important;margin-top:8px!important;padding:5px 9px!important;font-size:12px!important}.care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner strong{font-size:12px!important}.care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner span{font-size:13px!important}
.care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner{width:auto!important;display:flex!important;align-items:center!important;gap:5px!important;white-space:nowrap}.care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner strong{display:inline!important}.care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner span{display:inline!important}
.care-workspace.care-prescription-active #rxForm{position:relative!important}.care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner{position:absolute!important;top:132px!important;right:0!important;margin:0!important;color:#1769aa!important;background:#edf5ff!important}.care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner strong,.care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner span,.care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner .rx-weight-icon{color:#1769aa!important}.care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner .rx-weight-icon{font-size:16px!important;font-weight:700!important}.care-workspace.care-prescription-active .rx-compact-form .rx-frequency-tabs button{color:#1769aa!important}
/* A tela de receita não deve animar ao incluir ou excluir registros. */
.care-workspace.care-prescription-active,.care-workspace.care-prescription-active *{animation:none!important;transition:none!important}
.care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner{font-size:11px!important;font-weight:500!important}.care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner strong{font-size:11px!important;font-weight:700!important}.care-workspace.care-prescription-active .rx-compact-form .rx-frequency-tabs button,.care-workspace.care-prescription-active .rx-compact-form [data-rx-frequency]{color:#1769aa!important;border-color:#a8c8e6!important;font-weight:700!important}.care-workspace.care-prescription-active .rx-compact-form .rx-frequency-tabs button.active,.care-workspace.care-prescription-active .rx-compact-form [data-rx-frequency].active{background:#1769aa!important;color:#fff!important}
.care-workspace.care-prescription-active .rx-compact-form .rx-hours-suffix{font-size:11px;white-space:nowrap}.care-workspace.care-prescription-active .rx-compact-form [name="frequency"],.care-workspace.care-prescription-active .rx-compact-form [name="frequencyEvery"]{width:70px!important}.care-workspace.care-prescription-active .rx-compact-form [name="frequencyPeriod"]{width:122px!important}
.rx-period-panel[hidden]{display:none!important}
.care-workspace.care-prescription-active .rx-compact-form [data-rx-interval].active{background:#1769aa!important;border-color:#1769aa!important;color:#fff!important;box-shadow:0 2px 6px rgba(23,105,170,.22)}
.care-workspace.care-prescription-active .rx-compact-form [name="intervalHours"].rx-custom-interval{border-color:#1769aa!important;background:#eaf4ff!important;box-shadow:0 0 0 2px rgba(23,105,170,.12)!important}
.care-workspace.care-prescription-active .rx-compact-form [data-rx-frequency].active{background:#1769aa!important;border-color:#1769aa!important;color:#fff!important;box-shadow:0 2px 6px rgba(23,105,170,.22)}
.care-workspace.care-prescription-active .rx-compact-form .rx-treatment-disabled{opacity:.48}.care-workspace.care-prescription-active .rx-compact-form .rx-treatment-disabled input{background:#edf1f4!important;color:#8493a0!important;cursor:not-allowed}
/* ProntSync 370 — período compacto, sem extrapolar o painel da prescrição. */
.care-workspace.care-prescription-active .rx-compact-form .form-grid{overflow-x:hidden}
.care-workspace.care-prescription-active .rx-compact-form .rx-radio-row:has(.rx-continuous-choice){gap:6px!important;align-items:center!important}
.care-workspace.care-prescription-active .rx-compact-form .rx-continuous-choice{flex:0 0 100%;margin:0!important;padding-top:1px}
.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card:first-child>.card-body{overflow-x:hidden!important}
/* Receita médica: mantém os dois painéis na primeira linha e permite rolagem para a lista salva. */
.care-workspace.care-prescription-active .care-scroll{overflow-y:auto!important;overflow-x:hidden!important;padding-right:8px!important}
.care-workspace.care-prescription-active .care-scroll>.grid.grid-2{height:auto!important;min-height:0!important;align-items:stretch!important;grid-template-rows:auto auto!important}
.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card{height:auto!important;min-height:0!important}
.care-workspace.care-prescription-active #savedPrescriptionList{grid-column:1 / -1!important;width:100%!important;max-width:none!important;justify-self:stretch!important;margin:16px 0 8px!important}
.care-workspace.care-prescription-active #savedPrescriptionList>div{padding:6px 0!important;min-height:36px!important}
/* Rodapé dos dois quadros: ações alinhadas, sem área vazia abaixo. */
.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card:first-child>.card-body{display:flex!important;flex-direction:column!important}
.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card:first-child>.card-body{flex:1 1 auto!important;min-height:0!important}
.care-workspace.care-prescription-active #rxForm{display:flex!important;flex:1 1 auto!important;min-height:100%!important;flex-direction:column!important}
.care-workspace.care-prescription-active #rxForm>.btn.w-100{margin-top:auto!important}
.care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card:nth-child(2)>.card-body{position:relative!important}
.care-workspace.care-prescription-active #rxFooterActions{position:absolute!important;left:16px!important;right:16px!important;bottom:16px!important;margin:0!important;padding-top:0!important;justify-content:flex-end!important}

/* ProntSync 460 — altura única dos botões de ação das listas clínicas.
   Referência aprovada: botão "Editar" da tela Pacientes = 28 px.
   A regra é restrita às tabelas/filas clínicas para não alterar botões de
   formulários, modais, receituário ou cabeçalhos do restante do sistema. */
body:not(.login-page) .content .clinical-list-table tbody td .btn.btn-sm,
body:not(.login-page) .content .ps-section-card .ps-queue-table .er-actions-wrap .btn,
body:not(.login-page) .content .reception-patient-table.ps-queue-table td.er-actions .er-actions-wrap .btn,
body:not(.login-page) .content .dashboard-recent-table tbody td.actions .btn{
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  box-sizing:border-box!important;
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:1!important;
}

/* Chamar e Informações acompanham a mesma altura visual do Editar. */
body:not(.login-page) .content .clinical-list-table tbody td button.prontsync-aux-icon,
body:not(.login-page) .content .ps-queue-table td.actions .ps-er-action-icons > button.prontsync-aux-icon,
body:not(.login-page) .content .ps-queue-table td.actions .ps-er-action-icons > button.ps-queue-square-action,
body:not(.login-page) .content table .triage-standard-info{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  flex-basis:28px!important;
  box-sizing:border-box!important;
}

/* Garante que as ações principais do PS não sejam reabertas para 32 px por
   regras legadas posteriores da família Atender/Continuar/Reavaliar. */
body:not(.login-page) .content .ps-section-card .ps-queue-table .er-actions-wrap .btn.btn-primary.btn-sm,
body:not(.login-page) .content .ps-section-card .ps-queue-table .er-actions-wrap .ps-care-action,
body:not(.login-page) .content .ps-section-card .ps-queue-table .er-actions-wrap .ps-new-care-btn,
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) .er-actions-wrap .btn.btn-primary.btn-sm,
body:not(.login-page) .content .ps-section-card .ps-queue-table:not(.reception-patient-table) .er-actions-wrap .ps-care-action{
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
}



/* Receita Médica: sem barra de rolagem enquanto ainda não existe receita
   salva abaixo. A rolagem interna só é habilitada quando o histórico salvo
   passa a existir e realmente precisa ser alcançado. */
.care-workspace.care-prescription-active .care-scroll{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable;
  padding-right:0!important;
}
.care-workspace.care-prescription-active.care-prescription-has-saved .care-scroll{
  padding-right:8px!important;
}


/* prontsync003 — compatibilidade de altura no navegador.
   Mantém o cabeçalho clínico fixo e a receita sem rolagem quando ela cabe.
   Em telas com pouca altura útil (barra do navegador/tarefas), libera rolagem
   somente no conteúdo da aba para que os botões inferiores nunca fiquem cortados. */
@media (max-height: 900px) {
  .content:has(.care-workspace.care-prescription-active) {
    overflow: hidden !important;
  }
  .care-workspace.care-prescription-active .care-scroll {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-gutter: stable;
    padding-right: 8px !important;
  }
}

/* prontsync004 — prévia do receituário sempre preserva cabeçalho e ações inferiores. */
.modal.rx-print-preview-modal{height:min(94vh,900px);max-height:94vh}
.rx-print-preview-modal .modal-head,.rx-print-preview-modal .modal-foot{flex:0 0 auto}
.rx-print-preview-modal .modal-body{flex:1 1 auto;min-height:0;padding:12px 16px;overflow:hidden}
.rx-print-preview-modal .rx-model-preview{flex:1 1 auto;min-height:260px;height:auto;max-height:none}
.rx-print-preview-modal .rx-preview-navigation{flex:0 0 auto;margin-top:8px}

/* PRONTSYNC017 — CABEÇALHO CLÍNICO ISOLADO E ÚNICO.
   O atendimento ativo não reutiliza mais .patient-strip, eliminando heranças
   e sobreposições de estilos antigos. */
.content:has(.care-workspace){padding-top:6px!important;padding-bottom:8px!important;overflow:hidden!important}
.care-workspace{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important}
.care-workspace .care-fixed-header{flex:0 0 auto!important}
.care-workspace .care-clinical-header{
  width:100%!important;
  min-height:76px!important;
  margin:0 0 3px!important;
  padding:10px 14px!important;
  border:0!important;
  border-radius:12px 12px 8px 8px!important;
  background:linear-gradient(135deg,#173e5f,#215c88)!important;
  color:#fff!important;
  display:grid!important;
  grid-template-columns:minmax(300px,1fr) auto!important;
  align-items:center!important;
  column-gap:18px!important;
  box-shadow:none!important;
}
.care-workspace .care-patient-identity{min-width:0!important}
.care-workspace .care-patient-identity h3{
  margin:0 0 8px!important;
  padding:0!important;
  font-size:20px!important;
  line-height:1.12!important;
  color:#fff!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.care-workspace .care-patient-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
  min-height:26px!important;
  margin:0!important;
}
.care-workspace .care-patient-record{display:none!important}
body:not(.login-page) .content .care-workspace .care-allergy-alert{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  max-width:360px!important;
  margin:0 0 0 1px!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:6px!important;
  background:#dc2626!important;
  color:#fff!important;
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  box-shadow:none!important;
}
body:not(.login-page) .content .care-workspace .care-allergy-alert .care-allergy-label{font-weight:600!important}
.care-workspace .care-header-clinical-meta{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  width:auto!important;
  min-width:0!important;
  white-space:nowrap!important;
}
.care-workspace .care-header-times{
  margin:0!important;
  padding:0!important;
  color:#e2eef9!important;
  text-align:right!important;
  font-size:11.5px!important;
  line-height:1.3!important;
  font-weight:650!important;
}
.care-workspace .care-header-clinical-meta>.vitals{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
  margin:0!important;
  padding:0!important;
}
.care-workspace .care-header-clinical-meta .vital{
  min-width:54px!important;
  min-height:42px!important;
  margin:0!important;
  padding:5px 7px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:7px!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1.18!important;
  text-align:center!important;
}
.care-workspace .tabs{
  margin:0 0 4px!important;
  padding:3px 6px!important;
  gap:2px!important;
  border-radius:0 0 10px 10px!important;
}
.care-workspace .tab{padding:5px 8px!important;font-size:10.5px!important;min-height:28px!important}
@media(max-width:1260px){
  .care-workspace .care-clinical-header{min-height:70px!important;padding:8px 12px!important}
  .care-workspace .care-header-clinical-meta{gap:5px!important}
  .care-workspace .care-header-times{display:none!important}
  body:not(.login-page) .content .care-workspace .care-allergy-alert{max-width:260px!important}
}
@media(max-width:900px){
  .care-workspace .care-clinical-header{display:flex!important;min-height:0!important}
  .care-workspace .care-header-clinical-meta{display:none!important}
}

/* ProntSync 013 — Pronto Socorro: uma única busca para as três situações. */
.ps-er-global-search-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin:-2px 0 14px;
}
body:not(.login-page) .content .ps-er-global-search-row .ps-er-global-search{
  width:300px!important;
}
@media(max-width:720px){
  .ps-er-global-search-row{justify-content:flex-start}
  body:not(.login-page) .content .ps-er-global-search-row .ps-er-global-search{width:min(300px,100%)!important}
}

/* ProntSync 017 — cabeçalho clínico com maior respiro e legibilidade. */

/* ProntSync 018 — receituário: duração compacta, recomendações maiores e opções exclusivas */
.care-workspace.care-prescription-active .rx-compact-form .rx-recommendations-field .textarea,
.care-workspace.care-prescription-active .rx-compact-form [name="instructions"]{
  min-height:76px!important;
  height:76px!important;
  resize:vertical!important;
}
.care-workspace.care-prescription-active .rx-compact-form .rx-duration-options{
  min-height:32px!important;
  gap:8px!important;
  align-items:center!important;
}
.care-workspace.care-prescription-active .rx-compact-form .rx-duration-options .rx-continuous-choice,
.care-workspace.care-prescription-active .rx-compact-form .rx-duration-options .rx-indeterminate-choice{
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
}
.care-workspace.care-prescription-active .rx-compact-form .rx-duration-values-disabled label:not(.rx-continuous-choice):not(.rx-indeterminate-choice){
  opacity:.48;
}

/* 041 — URLs são dados técnicos: preservar capitalização original. */
.panel-tv-url{text-transform:none!important;}

/* ProntSync 076 — Atendimento Médico em tela cheia: melhor aproveitamento da área útil.
   Amplia cabeçalho clínico, sinais vitais, abas e receituário sem ocultar as ações inferiores. */
@media (min-width:1261px) and (min-height:820px){
  .care-workspace .care-clinical-header{
    min-height:88px!important;
    padding:12px 16px!important;
    column-gap:20px!important;
  }
  .care-workspace .care-patient-identity h3{
    font-size:22px!important;
    margin-bottom:9px!important;
  }
  .care-workspace .care-header-times{
    font-size:12.5px!important;
    line-height:1.35!important;
  }
  .care-workspace .care-header-clinical-meta>.vitals{gap:7px!important}
  .care-workspace .care-header-clinical-meta .vital{
    min-width:60px!important;
    min-height:46px!important;
    padding:6px 8px!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
  .care-workspace .care-header-clinical-meta .vital strong,
  .care-workspace .care-header-clinical-meta .vital b{
    font-size:12.5px!important;
  }
  .care-workspace .tabs{
    padding:5px 7px!important;
    gap:3px!important;
    margin-bottom:6px!important;
  }
  .care-workspace .tab{
    padding:7px 10px!important;
    min-height:32px!important;
    font-size:12px!important;
  }

  .care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card>.card-head{
    padding:13px 16px!important;
  }
  .care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card>.card-head h3{
    font-size:16px!important;
  }
  .care-workspace.care-prescription-active .care-scroll>.grid.grid-2>.card:first-child>.card-body{
    padding:12px 14px!important;
  }
  .care-workspace.care-prescription-active .rx-compact-form .form-grid{
    gap:6px 9px!important;
  }
  .care-workspace.care-prescription-active .rx-compact-form .field{
    gap:3px!important;
    margin-bottom:4px!important;
  }
  .care-workspace.care-prescription-active .rx-compact-form .field label{
    font-size:11px!important;
    line-height:1.15!important;
  }
  .care-workspace.care-prescription-active .rx-compact-form .input,
  .care-workspace.care-prescription-active .rx-compact-form .select,
  .care-workspace.care-prescription-active .rx-compact-form .pec-route-trigger{
    height:35px!important;
    min-height:35px!important;
    font-size:13px!important;
  }
  .care-workspace.care-prescription-active .rx-compact-form .rx-radio-row label{
    font-size:12px!important;
  }
  .care-workspace.care-prescription-active .rx-compact-form .rx-radio-row input{
    width:14px!important;
    height:14px!important;
  }
  .care-workspace.care-prescription-active .rx-compact-form .rx-frequency-tabs button,
  .care-workspace.care-prescription-active .rx-compact-form .rx-period-panel>button{
    min-height:30px!important;
    font-size:11px!important;
    padding:5px 8px!important;
  }
  .care-workspace.care-prescription-active .rx-compact-form .rx-period-panel>strong,
  .care-workspace.care-prescription-active .rx-compact-form .rx-hours-suffix{
    font-size:12px!important;
  }
  .care-workspace.care-prescription-active .rx-compact-form .rx-recommendations-field .textarea,
  .care-workspace.care-prescription-active .rx-compact-form [name="instructions"]{
    min-height:84px!important;
    height:84px!important;
    font-size:13px!important;
  }
  .care-workspace.care-prescription-active .rx-compact-form .btn.w-100{
    min-height:38px!important;
    font-size:13px!important;
  }
  .care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner,
  .care-workspace.care-prescription-active .rx-weight-note.rx-weight-corner strong{
    font-size:12px!important;
  }
  .care-workspace.care-prescription-active #rxFooterActions .btn{
    min-height:36px!important;
    font-size:12.5px!important;
  }
}

/* ProntSync 077 — Período: Uso contínuo e Indeterminado juntos na segunda linha. */
.care-workspace.care-prescription-active .rx-compact-form .rx-duration-options{
  display:flex!important;
  flex-wrap:wrap!important;
}
.care-workspace.care-prescription-active .rx-compact-form .rx-duration-options::before{
  content:"";
  flex:0 0 100%!important;
  height:0!important;
  order:1!important;
}
.care-workspace.care-prescription-active .rx-compact-form .rx-duration-options > label:not(.rx-continuous-choice):not(.rx-indeterminate-choice){
  order:0!important;
}
.care-workspace.care-prescription-active .rx-compact-form .rx-duration-options .rx-continuous-choice,
.care-workspace.care-prescription-active .rx-compact-form .rx-duration-options .rx-indeterminate-choice{
  order:2!important;
  flex:0 0 auto!important;
}

/* ProntSync beta1 — responsividade para celular/tablet.
   Mantém o layout desktop e reorganiza a interface abaixo de 700 px. */
@media (max-width:700px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .app-shell{display:block!important;width:100%!important;min-width:0!important}
  .sidebar{position:sticky!important;top:0!important;z-index:20!important;width:100%!important;height:auto!important;min-height:58px!important;display:flex!important;align-items:center!important;gap:4px!important;padding:7px 8px!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;-webkit-overflow-scrolling:touch}
  .sidebar .nav-section,.sidebar .side-brand{display:none!important}
  .sidebar .nav-item{flex:0 0 auto!important;min-width:46px!important;min-height:44px!important;justify-content:center!important;margin:0!important;padding:9px 10px!important}
  .sidebar .nav-item .nav-text{display:none!important}
  .main{width:100%!important;min-width:0!important;max-width:100%!important}
  .topbar{height:auto!important;min-height:58px!important;padding:9px 12px!important;gap:8px!important;flex-wrap:wrap!important}
  .topbar h2{font-size:16px!important;max-width:58vw!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .userbox{min-width:0!important;margin-left:auto!important}.userbox>div:not(.avatar){min-width:0!important}.userbox strong,.userbox span{max-width:34vw!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .content{width:100%!important;max-width:100%!important;padding:12px!important;overflow:hidden!important}
  .page-head{gap:10px!important;margin-bottom:14px!important}.page-head h1{font-size:21px!important}.page-head p{font-size:12px!important}
  .page-head>.actions,.card-head>.actions,.modal-foot,.actions{width:100%;flex-wrap:wrap!important}.actions>.btn,.page-head>.actions>.btn{max-width:100%}
  .grid,.grid-2,.grid-3,.grid-4,.quick-cards{grid-template-columns:minmax(0,1fr)!important}
  .card{width:100%!important;max-width:100%!important;min-width:0!important}.card-head{padding:12px!important;align-items:flex-start!important;flex-wrap:wrap!important}.card-body{padding:12px!important;min-width:0!important}
  .form-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}.form-grid>[class*="col-"],.form-grid>.field{grid-column:1/-1!important;width:100%!important;min-width:0!important;margin-bottom:0!important}
  .input,.select,.textarea,input,select,textarea{max-width:100%!important;min-width:0!important}
  .tabs{flex-wrap:nowrap!important;overflow-x:auto!important;justify-content:flex-start!important;-webkit-overflow-scrolling:touch}.tab{flex:0 0 auto!important;white-space:nowrap!important}
  .patient-strip{width:100%!important;min-width:0!important;padding:12px!important}.vitals{width:100%!important}.vital{flex:1 1 110px!important}
  .table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}.table{width:max-content!important;min-width:100%!important}.table th,.table td{white-space:nowrap!important}
  .modal-bg{padding:8px!important;align-items:center!important}.modal,.modal.modal-wide,.modal.rx-print-preview-modal{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:94vh!important;border-radius:14px!important}.modal-head,.modal-body,.modal-foot{padding:12px!important}.modal-foot{justify-content:stretch!important}.modal-foot .btn{flex:1 1 auto!important}
  .analytics-filter-form,.analytics-cid-layout,.analytics-cid-layout-temporal,.analytics-history-header,.analytics-history-grid,.facility-grid,.room-select-grid,.acs-location-grid{grid-template-columns:minmax(0,1fr)!important}
  .analytics-temporal-chart{overflow-x:auto!important}.analytics-temporal-svg{min-width:520px!important}
  .facility-medical-director-row,.facility-medical-director-row>*{min-width:0!important;max-width:100%!important}
  .care-workspace,.care-scroll{width:100%!important;max-width:100%!important;min-width:0!important}.care-scroll{overflow-x:hidden!important}
  .care-workspace .grid.grid-2,.care-workspace.care-prescription-active .grid.grid-2{grid-template-columns:minmax(0,1fr)!important}
  .rx-preview-navigation{flex-wrap:wrap!important}.rx-preview-sheet{max-width:100%!important}
  .login-main{width:94%!important;padding:22px 0!important;gap:18px!important}.cisam-side{min-height:auto!important;padding:0!important;justify-content:center!important}.cisam-block{gap:14px!important;transform:none!important}.cisam-block img{width:76px!important;height:76px!important}.cisam-copy{min-width:0!important}.cisam-name{font-size:38px!important}.login-card{width:100%!important;padding:22px!important}.login-footer{padding:14px!important}
}
@media (max-width:420px){
  .content{padding:9px!important}.topbar h2{max-width:52vw!important}.userbox strong,.userbox span{max-width:28vw!important}.btn{padding:9px 11px!important}.cisam-name{font-size:32px!important}.cisam-block img{width:66px!important;height:66px!important}
}

/* ProntSync beta1 — mobile focado: Painel + Usuários e Acessos.
   Não altera regras/cálculos; apenas apresentação em telas pequenas. */
@media (max-width:700px){
  /* Painel administrativo: mesmos dados e gráficos, reorganizados para celular. */
  .dashboard-date-panel{width:100%!important;max-width:100%!important}
  .dashboard-date-panel .ps-date-filter,.dashboard-date-panel .ps-date-filter-form{width:100%!important}
  .dashboard-date-panel .ps-date-filter-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .dashboard-date-panel .ps-date-input{grid-column:1/-1!important;width:100%!important;min-height:42px!important}
  .dashboard-date-panel .ps-date-filter-btn{min-height:42px!important}
  .dashx-stats{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .dashx-stats article{min-height:88px!important;padding:11px!important;gap:9px!important;border-radius:13px!important}
  .dashx-stat-icon{width:34px!important;height:34px!important;flex-basis:34px!important}
  .dashx-stats strong{font-size:25px!important}
  .dashx-stats small{font-size:8.5px!important}
  .dashx-stats em{font-size:8.5px!important}
  .dashx-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .dashx-card{width:100%!important;min-width:0!important;border-radius:13px!important}
  .dashx-card>header{height:auto!important;min-height:58px!important;padding:12px!important;align-items:flex-start!important}
  .dashx-chart{padding:10px 8px 12px!important;overflow:hidden!important}
  .dashx-chart svg{width:100%!important;min-width:0!important;height:150px!important}
  .dashx-hours{margin:0 2px!important;font-size:8px!important}
  .dashx-risk-body{grid-template-columns:1fr!important;justify-items:center!important;padding:14px!important}
  .dashx-legend{width:100%!important}
  .dashx-wait-body{padding:14px!important}
  .dashx-kpis{grid-template-columns:1fr!important}
  .dashboard-recent-card{display:none!important} /* histórico detalhado continua disponível no desktop */

  /* Usuários e Acessos: leitura e ações confortáveis no celular. */
  .prontsync-users-only{width:100%!important;min-width:0!important}
  .prontsync-admin-account{grid-template-columns:auto minmax(0,1fr)!important;gap:8px 10px!important;padding:11px!important}
  .prontsync-admin-account>.prontsync-user-status,.prontsync-admin-account>.muted{grid-column:2!important}
  .prontsync-users-head{width:100%!important;gap:10px!important}
  .prontsync-users-head-actions{width:100%!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:8px!important}
  .prontsync-users-head-actions .btn{width:100%!important;min-height:44px!important}
  .prontsync-users-search .input{min-height:44px!important;font-size:16px!important}
  .prontsync-users-list{overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;display:grid!important;gap:9px!important}
  .prontsync-user-row{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:12px!important;border:1px solid #e1e9f0!important;border-radius:12px!important}
  .prontsync-user-main{grid-column:1/-1!important;align-items:flex-start!important}
  .prontsync-user-meta{line-height:1.45!important;overflow-wrap:anywhere!important}
  .prontsync-user-status{grid-column:1!important}
  .prontsync-user-actions{grid-column:1/-1!important;width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .prontsync-user-actions .btn{width:100%!important;min-height:42px!important}

  /* Modal de cadastro/edição: uma coluna, campos grandes e rodapé sempre utilizável. */
  #systemUserForm{width:100%!important;min-width:0!important}
  #systemUserForm .system-user-form-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important}
  #systemUserForm .field{grid-column:1/-1!important;width:100%!important;min-width:0!important}
  #systemUserForm .input,#systemUserForm .select{width:100%!important;min-height:46px!important;font-size:16px!important;padding:10px 12px!important}
  #systemUserForm .field label{font-size:11px!important;margin-bottom:5px!important}
  #systemUserForm .system-user-alert{font-size:11px!important;line-height:1.45!important}
  .modal:has(#systemUserForm){height:min(94vh,760px)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
  .modal:has(#systemUserForm) .modal-head{flex:0 0 auto!important}
  .modal:has(#systemUserForm) .modal-body{flex:1 1 auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding-bottom:18px!important}
  .modal:has(#systemUserForm) .modal-foot{flex:0 0 auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;background:#fff!important;border-top:1px solid #e3eaf0!important}
  .modal:has(#systemUserForm) .modal-foot .btn{width:100%!important;min-height:46px!important;margin:0!important}
}
@media (max-width:420px){
  .dashx-stats{grid-template-columns:1fr!important}
  .prontsync-users-head-actions{grid-template-columns:1fr!important}
  .prontsync-users-count{justify-self:start!important}
}

/* ProntSync beta10 — Classificação de Risco responsiva em navegador e launcher.
   Cabeçalho/rodapé permanecem visíveis; somente o conteúdo clínico rola. */
.modal-bg:has(#triageForm){padding:10px!important;overflow:hidden!important}
.modal-bg:has(#triageForm) .modal{
  width:min(1500px,calc(100vw - 20px))!important;
  max-width:1500px!important;
  height:calc(100dvh - 20px)!important;
  max-height:calc(100dvh - 20px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.modal-bg:has(#triageForm) .modal-head,
.modal-bg:has(#triageForm) .modal-foot{flex:0 0 auto!important;background:#fff!important;z-index:2!important}
.modal-bg:has(#triageForm) .modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
  padding-bottom:18px!important;
}
@media(max-height:760px){
  .modal-bg:has(#triageForm){padding:6px!important}
  .modal-bg:has(#triageForm) .modal{height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important}
}
