:root{font-family:Segoe UI,Arial,sans-serif;color:#000;background:#f0f5f7;font-size:16px;--teal:#006b70;--line:#dbe5e9}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{border:0;border-radius:8px;background:var(--teal);color:#fff;padding:13px 18px;font-weight:600;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.4;cursor:default}input,select{display:block;width:100%;padding:12px;border:1px solid #afc4cc;border-radius:7px;background:white;color:#000;margin-top:7px}label{display:block;font-size:.94rem;font-weight:600;margin-bottom:20px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #54bac9;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;letter-spacing:-.04em;margin-bottom:0}h2{font-size:1.3rem}h3{font-size:1rem;margin-bottom:8px}p{line-height:1.5}small{display:block;font-size:.875rem;color:#000;margin-top:5px}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{background:#103746;color:#fff;padding:32px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:1.35rem;font-weight:700}.brand:first-letter{color:#77d6d2}.unit{color:#b8ced7;font-size:.94rem;margin:20px 0 30px}nav{display:grid;gap:8px}nav button,nav a{display:block;text-align:left;background:transparent;color:#c8dce4;padding:14px 12px;text-decoration:none;border-radius:8px;font-size:1rem}nav .active{background:#245767;color:white}nav a{margin-top:20px;border-top:1px solid #386170;border-radius:0;font-size:.94rem}.aside-bottom{margin-top:auto;padding-top:40px;color:#b8ced7;font-size:.875rem;line-height:1.8}main{padding:36px 40px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px}.eyebrow{font-size:.8rem;letter-spacing:.13em;font-weight:700;color:var(--teal);margin-bottom:10px}.today{color:#000}.two-column{display:grid;grid-template-columns:minmax(280px, .85fr) minmax(350px,1.3fr);gap:24px;align-items:start}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 4px 16px #153c4805}.check{display:flex;align-items:center;gap:10px}.check input{width:20px;height:20px;margin:0}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-head h2{margin:0}.count{background:#e4f3f2;color:var(--teal);border-radius:20px;padding:5px 12px;font-weight:bold}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.94rem}th{text-align:left;color:#000;font-weight:600;font-size:.875rem;padding:16px 10px;border-bottom:1px solid var(--line)}td{padding:18px 10px;border-bottom:1px solid var(--line)}.badge{display:inline-block;padding:5px 9px;border-radius:6px;font-size:.8rem;background:#eff3f5;white-space:nowrap}.called{background:#fff0cd;color:#7a5100}.attending{background:#dceffb;color:#155580}.finished{background:#def2ea;color:#166144}.room-bar{display:flex;align-items:center;gap:30px;margin-bottom:24px}.room-bar label{width:min(480px,100%);margin:0}.room-bar span{color:#000}.current h2{font-size:1.8rem}.ticket{font-size:1.2rem}.button-row{display:flex;flex-wrap:wrap;gap:10px}.secondary{background:#e4f2f2;color:#005a60}.quiet{background:#edf1f4;color:#000}.small{font-size:.875rem;padding:9px 12px}.forward{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;padding:24px 0}.patient{padding:20px 0;border-top:1px solid var(--line)}.patient .button-row{margin-top:15px}.empty{padding:40px 10px;color:#000;line-height:1.6}.receipt{padding:20px;background:#e7f5ef;text-align:center;margin-top:20px;border-radius:8px}.receipt strong{display:block;font-size:2.5rem}.room-edit{padding:20px 0;border-bottom:1px solid var(--line)}hr{border:0;border-top:1px solid var(--line);margin:30px 0}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;line-height:1.8}details p{margin-top:15px;margin-bottom:5px}.login{max-width:440px;margin:10vh auto;background:white;border:1px solid var(--line);border-radius:16px;padding:38px}.login h1{margin:30px 0 16px}.login p{color:#000}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#123b49;color:white;padding:15px 24px;border-radius:10px;max-width:90%;z-index:10;display:none}#toast.show{display:block}.offline{color:#ce6500!important}.tv{background:#092b3c;color:white;min-height:100vh;padding:38px 50px;display:flex;flex-direction:column}.tv header{border-bottom:1px solid #335464;padding-bottom:25px}.tv header>div:last-child{display:flex;align-items:center;gap:30px}.tv #connection{font-size:.875rem;color:#a9cbd3}.clock{font-size:2rem;font-variant-numeric:tabular-nums}.tv-layout{display:grid;grid-template-columns:2.4fr 1fr;gap:48px;flex:1}.tv-current{display:flex;flex-direction:column;justify-content:center;padding:40px 0}.tv .eyebrow{color:#7ad5d0;font-size:1rem}.tv-current h1{font-size:clamp(3rem,6vw,7rem);line-height:1.1;overflow-wrap:anywhere;letter-spacing:-.025em;margin:20px 0 45px}.destination{background:#0b5865;border-left:6px solid #79d6d1;padding:28px 34px;border-radius:4px 14px 14px 4px}.destination h2{font-size:clamp(2rem,3vw,3.4rem);line-height:1.2;margin:0;overflow-wrap:anywhere}.destination p{color:#b8e2e5;font-size:1.1rem;margin-bottom:12px}.destination p:last-child:not(:first-child){margin-top:15px}.tv-history{border-left:1px solid #335464;padding-left:30px}.tv-history h2{color:#9dc4d0;font-size:1.1rem}.tv-history article{border-bottom:1px solid #335464;padding:24px 0}.tv-history strong{font-size:1.6rem;overflow-wrap:anywhere}.tv-history p{font-size:1.1rem;color:#bbdbe2;margin:10px 0}.tv-history small{color:#97bac5}.tv footer{display:flex;justify-content:space-between;align-items:center;gap:24px;color:#abc8d2;margin-top:30px}.tv footer>div{display:flex;gap:10px}.tv footer button{font-size:.875rem}@media(max-width:1000px){.shell{grid-template-columns:190px 1fr}main{padding:28px 24px}.two-column{grid-template-columns:1fr}.tv{padding:25px}.tv-layout{gap:24px}.tv-history{padding-left:20px}.tv footer{flex-wrap:wrap}}@media(max-width:650px){.shell{display:block}aside{padding:20px}nav{grid-template-columns:1fr 1fr;margin-top:10px}nav a{margin:0}.unit,.aside-bottom{display:none}main{padding:24px 16px}header{align-items:start}.today{display:none}.card{padding:22px}.room-bar{display:block}.room-bar>span{display:block;margin-top:12px}.tv-layout{grid-template-columns:1fr}.tv-history{border-left:0;padding-left:0}.tv header{flex-wrap:wrap}.tv-current h1{font-size:3rem}.login{margin:5vh 16px}.tv footer{font-size:.875rem}}
.call-highlight{position:fixed;inset:0;z-index:5;background:#063644;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5vh 5vw;overflow:auto}.call-highlight .eyebrow{color:#91ece2;font-size:clamp(1rem,2vw,1.6rem)}.call-highlight h1{font-size:clamp(3rem,8vw,9rem);line-height:1.08;overflow-wrap:anywhere;max-width:100%;margin:2vh 0 5vh}.highlight-destination{width:min(1100px,100%);padding:3vh 3vw;border:2px solid #65c9c5;border-radius:16px;background:#0b5865}.highlight-destination>p{color:#c5f0ef;font-size:clamp(1rem,2vw,1.8rem);margin:0 0 12px}.highlight-destination h2{font-size:clamp(2rem,5vw,5.5rem);line-height:1.12;overflow-wrap:anywhere;margin:0}.highlight-destination>p:last-child:not(:first-child){margin:16px 0 0}.call-highlight>button{margin-top:4vh}.call-highlight h1,.highlight-destination{animation:call-appear .3s ease-out}@keyframes call-appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.call-highlight h1,.highlight-destination{animation:none}}
/* Interface da central de atendimento */
:root{--teal:#087d87;--line:#e2e9f0;color:#000;background:#f4f7fb;font-family:Segoe UI,Arial,sans-serif}body{background:#f4f7fb}.shell{grid-template-columns:258px 1fr}aside{background:#fff;color:#000;border-right:1px solid #e1e9ef;padding:34px 22px;position:sticky;top:0;height:100vh}.brand{font-size:1.35rem;color:#087d87;letter-spacing:-.03em}.unit{color:#d4e7ef;margin:18px 0 32px;padding-bottom:24px;border-bottom:1px solid var(--line)}nav{gap:6px}.nav-label{font-size:.75rem;letter-spacing:.12em;font-weight:700;color:#d4e7ef;margin:20px 12px 8px}.nav-label:first-child{margin-top:0}nav button,nav a{color:#d4e7ef;font-weight:600;border-radius:9px;padding:14px 12px;display:flex;gap:12px;align-items:center}nav button:hover{background:#f0f6fa;filter:none}nav .active,nav .active:hover{background:#e5f5f5;color:#05727c;box-shadow:inset 3px 0 #087d87}.nav-icon{width:23px;font-size:1.25rem;line-height:1}nav a{margin-top:24px;border-top:1px solid var(--line);padding-top:24px;border-radius:0;color:#087d87}.aside-bottom{color:#d4e7ef;font-size:.8rem}.aside-bottom #connection{display:inline-block;color:#087d87;background:#e7f5f1;padding:3px 10px;border-radius:20px;margin-top:12px}.shell>main{max-width:1650px;width:100%;padding:36px 42px}.shell header{margin-bottom:28px}.shell h1{font-size:2.15rem;letter-spacing:-.045em}.shell .eyebrow{color:#000;font-size:.75rem;letter-spacing:.14em}.today{background:#fff;border:1px solid var(--line);padding:10px 16px;border-radius:8px;font-size:.94rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px}.metric{background:#fff!important;position:relative;padding:22px 24px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:12px;color:#000!important}.metric span{font-size:.94rem;color:#000}.metric strong{font-size:2.25rem;line-height:1.1;font-weight:650;letter-spacing:-.05em}.metric:after{content:'';position:absolute;width:7px;height:32px;right:24px;bottom:24px;border-radius:6px;background:#f2bd5c}.metric.attending:after{background:#58a3ee}.metric.finished:after{background:#42b6a0}.metric.absent:after{background:#e5908e}.two-column{grid-template-columns:minmax(310px,.8fr) minmax(380px,1.4fr);gap:24px}.card{border-radius:14px;box-shadow:0 5px 22px #18334b04;padding:28px}.card h2{font-size:1.35rem;font-weight:650;letter-spacing:-.025em;margin-bottom:20px}.card-intro{font-size:.94rem;color:#000;margin-top:-7px;margin-bottom:28px}.card .eyebrow{color:#087d87}.card label{color:#000;font-size:.875rem;font-weight:600;margin-bottom:20px}input,select{border-color:#d1dee7;border-radius:8px;background:#fcfdff;padding:13px;color:#000}button{border-radius:8px;padding:13px 18px;background:#087d87;font-size:.94rem;box-shadow:none}.secondary{background:#e9f5f6;color:#08717a}.quiet{background:#f0f3f7;color:#000}.absent-button{background:#fff1ed;color:#a34635;border:1px solid #f2d8cf}.small{font-size:.875rem}th{background:#f7f9fc;color:#000;border-bottom:1px solid var(--line);padding:16px 12px;font-size:.8rem}td{padding:20px 12px;font-size:.94rem}.badge{border-radius:20px;padding:6px 11px;font-size:.8rem;color:#000;background:#eef3f7}.badge.called{background:#fff3db;color:#966910}.badge.attending{background:#e8f2fc;color:#2872ac}.badge.finished{background:#e5f5ee;color:#238161}.badge.absent{background:#fcece8;color:#b35d45}.count{background:#edf5fa;color:#000;font-size:.875rem}.room-bar{background:#fff;border:1px solid var(--line);padding:20px 24px;border-radius:12px}.room-bar label{flex:1;max-width:600px}.room-bar>span{background:#fff4de;padding:9px 16px;border-radius:24px;color:#9a6a19;font-size:.94rem}.current{border-top:4px solid #087d87}.current h2{font-size:2rem;margin:20px 0 12px}.current>.eyebrow{margin-bottom:0}.current>p:not(.eyebrow){color:#000}.patient{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 0}.patient .button-row{margin:0}.patient h3{font-size:1.06rem;color:#000}.forward{background:#f7fafc;border:1px solid var(--line);border-radius:10px;padding:20px}.forward h3{color:#000;margin-bottom:18px}.report-filters{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:20px;padding:20px;background:#f7f9fc;border:1px solid var(--line);border-radius:10px;margin-bottom:25px}.report-filters label{margin-bottom:0}.report-note{color:#000;font-size:.875rem;margin:22px 0 0}.room-edit{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:20px;margin-top:18px}.login{box-shadow:0 12px 60px #16395212;padding:42px;border-radius:18px}.login button{width:100%}.login h1{font-size:1.85rem}.tv{background:linear-gradient(115deg,#072d43,#0b4154);padding:42px 52px}.tv .brand{color:#e5f8fa;font-size:1.55rem}.tv-current .destination{background:#0e5c6b;border:1px solid #388692;border-left:6px solid #8ce7dc;border-radius:12px}.tv-history{background:#ffffff07;border:1px solid #ffffff15;border-radius:16px;padding:28px}.tv-history article{border-color:#ffffff18}.tv footer .secondary{background:#ffffff12;color:#c7e9ed;border:1px solid #ffffff20}.call-highlight{background:radial-gradient(ellipse at top,#106678,#062d43 75%)}.call-highlight .highlight-destination{background:#ffffff09;border:1px solid #62bdb9;border-radius:18px}.call-highlight .eyebrow{background:#ffffff10;border:1px solid #ffffff20;padding:10px 20px;border-radius:30px;letter-spacing:.15em}.call-highlight>button{background:#ffffff12;color:#c7e9ed;border:1px solid #ffffff20}@media(max-width:1200px){.shell{grid-template-columns:220px 1fr}.shell>main{padding:30px 28px}.two-column{grid-template-columns:1fr}.patient{flex-wrap:wrap}.metrics{gap:12px}.metric{padding:20px 18px}.metric:after{right:18px}.metric span{font-size:.875rem}}@media(max-width:750px){.shell{display:block}aside{position:static;height:auto;padding:20px;border-right:0;border-bottom:1px solid var(--line)}nav{grid-template-columns:1fr 1fr}.nav-label{grid-column:1/-1;margin:14px 12px 0}nav a{margin-top:4px;padding-top:14px}.aside-bottom{display:none}.shell>main{padding:25px 18px}.metrics{grid-template-columns:1fr 1fr}.metric strong{font-size:2rem}.shell h1{font-size:1.7rem}.card{padding:22px}.two-column{grid-template-columns:minmax(0,1fr)}.report-filters{grid-template-columns:1fr;padding:15px}.tv{padding:24px}.tv-history{padding:22px}.room-bar{padding:20px}.patient .button-row{margin-top:5px}.room-bar>span{display:inline-block}.tv-current h1{font-size:3.2rem}}
@media(max-width:900px){.shell{display:block}aside{position:static;height:auto;padding:18px 20px;border-right:0;border-bottom:1px solid var(--line)}aside .unit,aside .nav-label,aside .aside-bottom{display:none}aside nav{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;gap:6px}aside nav button,aside nav a{font-size:.875rem;padding:11px 9px;gap:7px;margin:0;border:0;border-radius:8px}.nav-icon{font-size:1rem;width:18px}.shell>main{padding:26px 20px}}@media(max-width:450px){aside nav{grid-template-columns:1fr 1fr}.today{display:none}.metrics{gap:10px}.metric{padding:17px 14px}.metric:after{right:14px;height:24px}.metric span{font-size:.8rem}}
.tv footer{flex-wrap:wrap}.audio-status{flex-basis:100%;margin:0;font-size:.94rem;color:#c7e9ed;border:1px solid #ffffff20;background:#ffffff08;border-radius:8px;padding:12px 16px}
.risk-badge{display:inline-block;font-size:.8rem;font-weight:650;padding:7px 10px;border-radius:6px;margin:10px 0;border:1px solid transparent}.risk-red{background:#ffe1e0;color:#a2161b;border-color:#f5b6b7}.risk-orange{background:#ffebd6;color:#a14909;border-color:#f5c695}.risk-yellow{background:#fff6cc;color:#7c6200;border-color:#e9d988}.risk-green{background:#dcf2e4;color:#12683e;border-color:#a6d8b9}.risk-blue{background:#deedff;color:#205e9b;border-color:#abc9f1}.risk-unclassified{background:#eef2f6;color:#000;border-color:#d7e0e8}.classification{padding:14px;background:#f7fafc;border:1px solid var(--line);border-radius:8px;margin:14px 0}.classification label{margin-bottom:12px}.patient{display:block}.classification-note{font-size:.875rem;color:#000;line-height:1.55;margin-bottom:20px}.tv-patient-lists{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;margin-top:32px}.tv-waiting,.tv-attendances{padding:26px;border:1px solid #ffffff20;border-radius:14px;background:#ffffff06}.tv-patient-lists h2{font-size:1.5rem;margin:0}.tv-list-note{font-size:.94rem;color:#acd1dc;margin:16px 0}.tv-queues{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}.tv-room-queue h3{font-size:1.15rem;color:#8de0d8;border-bottom:1px solid #ffffff20;padding-bottom:12px;margin-top:14px}.tv-queue-patient{display:flex;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #ffffff12}.queue-position{display:grid;place-items:center;min-width:36px;height:36px;border-radius:8px;background:#ffffff15;font-size:1.1rem;font-weight:700}.tv-queue-patient strong,.tv-attendance strong{font-size:1.2rem;overflow-wrap:anywhere}.tv-queue-patient small,.tv-attendance small{color:#a8cad5}.tv-attendance{padding:18px 0;border-bottom:1px solid #ffffff20}.tv-attendance p{font-size:1.1rem;color:#8de0d8;margin:8px 0}.tv-layout{flex:none;min-height:48vh}@media(min-width:1000px){.tv-patient-lists{align-items:start}.tv-current{padding:24px 0}.tv-current h1{font-size:clamp(3rem,5vw,6rem);margin:16px 0 28px}.tv-history article{padding:15px 0}}@media(max-width:750px){.tv-patient-lists{grid-template-columns:1fr}.tv-queues{grid-template-columns:1fr}.tv-waiting,.tv-attendances{padding:22px}}
.exception-dialog{border:1px solid #d6e3e9;border-radius:16px;max-width:540px;width:calc(100% - 32px);padding:30px;color:#000;box-shadow:0 20px 80px #102d4933}.exception-dialog::backdrop{background:#0a293780}.exception-dialog p{color:#000}.exception-dialog h2{font-size:1.5rem}.exception-dialog textarea{font:inherit;width:100%;display:block;margin-top:8px;padding:14px;resize:vertical;border:1px solid #afc4cc;border-radius:8px}.exception-dialog textarea:focus{outline:3px solid #54bac9;outline-offset:2px}
/* TV em um único quadro, com páginas automáticas para filas longas */
body:has(.tv){height:100dvh;overflow:hidden}.tv{height:100dvh;min-height:0;overflow:hidden;padding:18px 26px;display:grid;grid-template-rows:auto minmax(0,.85fr) minmax(0,1fr) auto;gap:14px}.tv header{margin:0;padding:0 0 12px}.tv header .brand{font-size:1.2rem}.tv .clock{font-size:1.4rem}.tv-layout{min-height:0;height:100%;display:grid;grid-template-columns:2fr 1fr;gap:20px;overflow:hidden}.tv-current{min-height:0;padding:8px 0;justify-content:center;overflow:hidden}.tv-current .eyebrow{font-size:.875rem;margin:0}.tv-current h1{font-size:clamp(2rem,4vw,4.6rem);line-height:1.05;max-height:2.2em;margin:12px 0 18px;overflow:hidden}.tv-current .destination{padding:15px 22px}.destination h2{font-size:clamp(1.4rem,2.5vw,2.8rem);line-height:1.1;max-height:2.2em;overflow:hidden}.destination p{font-size:.94rem;margin-bottom:7px}.destination p:last-child:not(:first-child){margin-top:6px}.tv-history{padding:16px 20px;min-height:0;overflow:hidden}.tv-history h2{font-size:1rem;margin:0 0 8px}.tv-history article{padding:9px 0}.tv-history strong{font-size:1.1rem;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tv-history p{font-size:.94rem;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-history small{margin-top:0;font-size:.8rem}.tv-patient-lists{margin:0;min-height:0;height:100%;display:grid;grid-template-columns:1fr 1fr;gap:20px;overflow:hidden}.tv-waiting,.tv-attendances{padding:14px 20px;min-height:0;overflow:hidden;display:flex;flex-direction:column}.tv-patient-lists .section-head{margin:0 0 6px;flex-shrink:0}.tv-patient-lists h2{font-size:1.2rem}.tv-list-note{font-size:.8rem;margin:5px 0 9px;flex-shrink:0}.tv-list-rows{min-height:0;display:flex;flex-direction:column;flex:1;overflow:hidden}.tv-queue-patient,.tv-attendance{flex:1;min-height:0;padding:7px 0;overflow:hidden}.tv-queue-patient>div{min-width:0}.tv-queue-patient strong,.tv-attendance strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.1rem}.tv-queue-patient small,.tv-attendance small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8rem}.tv-attendance p{font-size:.94rem;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-position{width:30px;min-width:30px;height:30px;font-size:1rem}.tv footer{margin:0;display:flex;flex-wrap:nowrap;gap:14px;align-items:center}.tv footer>span{display:none}.audio-status{flex:1;flex-basis:auto;margin:0;padding:8px 12px;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv footer>div{flex-shrink:0}.tv footer button{padding:8px 12px;font-size:.8rem}.call-highlight{height:100dvh;overflow:hidden}@media(max-width:750px){.tv{padding:12px;gap:10px}.tv header{flex-wrap:nowrap;gap:10px}.tv header .brand{font-size:1rem}.tv header>div:last-child{gap:10px}.tv #connection{display:none}.tv-layout{grid-template-columns:1fr}.tv-history{display:none}.tv-current h1{font-size:clamp(2rem,7vw,3.5rem)}.tv-patient-lists{grid-template-columns:1fr 1fr;gap:10px}.tv-waiting,.tv-attendances{padding:12px}.tv-patient-lists h2{font-size:1rem}.tv-list-note{font-size:.75rem}.tv-queue-patient strong,.tv-attendance strong{font-size:1rem}.audio-status{display:none}.tv footer{justify-content:flex-end}.tv-current .destination{padding:12px 16px}}@media(max-height:600px){.tv{padding:10px 18px;gap:8px}.tv header{padding-bottom:7px}.tv-current h1{margin:6px 0 10px;font-size:2.4rem}.destination h2{font-size:1.4rem}.tv-current .destination{padding:8px 14px}.tv-history article{padding:5px 0}.tv-history article:nth-of-type(3){display:none}.tv-list-note{margin:4px 0 6px}.tv-waiting,.tv-attendances{padding:10px 14px}}
.workplace-link{display:inline-flex;align-items:center;text-decoration:none;font-weight:600;border-radius:8px;padding:8px 12px;font-size:.8rem;background:#ffffff12;color:#c7e9ed;border:1px solid #ffffff20}@media(max-width:550px){.tv footer>div{gap:6px;flex-wrap:wrap;justify-content:flex-end}.workplace-link,.tv footer button{padding:7px 9px;font-size:.75rem}}
.shell[data-area=room] #metrics{display:none}.professional-layout{grid-template-columns:minmax(360px,1.4fr) minmax(300px,.85fr)}.professional-layout>.current{order:2}.professional-layout>.card:not(.current){order:1;border-top:4px solid #087d87}.professional-layout .patient{padding:22px 0}.professional-layout .patient h3{font-size:1.2rem}.shell[data-area=room] header{margin-bottom:24px}.shell[data-area=room] .room-bar{margin-bottom:24px}@media(max-width:1200px){.professional-layout{grid-template-columns:minmax(0,1fr)}.professional-layout>.current{order:1}.professional-layout>.card:not(.current){order:0}}
/* Estação profissional compacta */
.shell[data-area=room]>main{padding:20px 26px}.shell[data-area=room] header{margin-bottom:16px}.shell[data-area=room] header h1{font-size:1.65rem}.shell[data-area=room] header .eyebrow{margin-bottom:6px}.shell[data-area=room] .room-bar{padding:12px 16px;margin-bottom:16px;gap:18px}.shell[data-area=room] .room-bar label{font-size:.875rem}.shell[data-area=room] input,.shell[data-area=room] select{padding:8px 10px;margin-top:5px}.professional-layout{gap:16px;grid-template-columns:minmax(310px,1.25fr) minmax(280px,1fr)}.professional-layout .card{padding:18px}.professional-layout h2{font-size:1.15rem;margin-bottom:12px}.professional-layout .current h2{font-size:1.4rem;margin:12px 0 8px}.professional-layout .current>p{margin-bottom:10px;font-size:.875rem}.professional-layout .current .ticket{font-size:1rem}.professional-layout .classification-note{font-size:.875rem;margin-bottom:12px}.professional-layout .classification{padding:10px;margin:8px 0}.professional-layout .classification label{margin-bottom:8px}.professional-layout .risk-badge{margin:5px 0;padding:5px 8px}.professional-layout .forward{padding:12px;margin:14px 0}.professional-layout .forward h3{margin-bottom:10px}.professional-layout .forward label{margin-bottom:10px}.professional-layout button{padding:9px 12px;font-size:.875rem}.professional-layout .button-row{gap:8px}.professional-layout .patient{padding:12px 0}.professional-layout .patient h3{font-size:1.06rem;margin-bottom:5px}.professional-layout .empty{padding:20px 0}.professional-layout .section-head{margin-bottom:10px}@media(min-width:650px) and (max-width:1200px){.professional-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.professional-layout>.current{order:2}.professional-layout>.card:not(.current){order:1}.professional-layout .button-row button{flex:1 1 120px}}@media(max-width:649px){.shell[data-area=room]>main{padding:16px 12px}.professional-layout{grid-template-columns:minmax(0,1fr)}.professional-layout .card{padding:16px}.shell[data-area=room] .room-bar{padding:12px}.shell[data-area=room] .room-bar>span{padding:5px 10px;margin-top:8px}}
.professional-stack{display:grid;gap:16px}.top-current{border-top:4px solid #087d87;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.65fr);gap:20px;align-items:center;padding:18px 22px}.top-current .eyebrow{margin:0 0 8px}.top-current h2{font-size:1.6rem;margin:0 0 8px}.top-current .ticket{margin:0;font-size:1rem}.top-current .risk-badge{margin:0 0 0 6px}.top-current .current-summary>p:last-child{margin-bottom:0}.current-controls{display:grid;gap:10px}.finish-prominent{background:#087b55;font-size:1.1rem;padding:16px 22px;box-shadow:0 4px 12px #087b5520;min-height:54px}.current-controls details{padding:0;border:0}.forward-details summary{font-size:.875rem;text-align:center;color:#000;cursor:pointer}.forward-details .forward{margin:10px 0 0;padding:12px}.professional-patient-list{padding:18px 22px}.professional-patient-list .section-head h2{margin:0}.professional-patient-list .classification-note{margin:12px 0;color:#000}.professional-patient-list .patient{padding:14px 0}.patient-identification{display:flex;justify-content:space-between;align-items:center;gap:16px}.patient-identification h3{font-size:1.15rem;margin-bottom:5px}.patient-identification .risk-badge{margin:0}.patient-actions{margin-top:12px!important}.patient-actions button{font-size:.875rem;padding:10px 14px}.patient-called,.patient-attending{background:#f1f8f8;border-radius:10px;padding:16px!important;margin-bottom:12px;border:1px solid #c9e5e4}.risk-details{border:0;padding:8px 0 0}.risk-details summary{font-size:.875rem;color:#000}.risk-details .classification{margin:10px 0 0;padding:12px}.professional-stack .classification label{margin-bottom:10px}.professional-stack .empty{padding:20px 0}@media(max-width:650px){.top-current{grid-template-columns:1fr;gap:12px;padding:16px}.professional-patient-list{padding:16px}.patient-identification{align-items:start;flex-wrap:wrap;gap:8px}.patient-actions button{flex:1 1 160px}.finish-prominent{font-size:1rem;padding:14px}.top-current h2{font-size:1.4rem}.top-current .risk-badge{margin:8px 0 0}}
.patient-actions .call-name-primary{background:#087d87;color:white;font-weight:700;box-shadow:0 3px 8px #087d8720}.patient-actions .start-attendance{background:#2455bc;color:white;border:1px solid #2455bc;font-weight:650}.patient-actions .absent-button{background:#bf383d;color:white;border:1px solid #bf383d;font-weight:650}.patient-actions .start-attendance:disabled{background:#e9effa;color:#000;border-color:#d2dcef;opacity:.65}.patient-actions .absent-button:disabled{background:#f9e9e9;color:#a47174;border-color:#edd4d5;opacity:.65}.patient-identification h3{font-size:1.25rem;font-weight:700;color:#000}
.finish-prominent{font-size:.94rem;min-height:40px;padding:10px 16px;background:#e5f3ed;color:#176449;border:1px solid #bcdccd;box-shadow:none}.triage-current .current-controls{display:flex;flex-direction:column}.triage-current .forward-details{order:-1;background:#f1f6fd;border:1px solid #c8d9f0;border-radius:10px;padding:12px}.triage-current .forward-details summary{text-align:left;font-weight:700;color:#2455a0;font-size:.94rem}.triage-current .forward{background:transparent;border:0;padding:0;margin:12px 0 0}.triage-current .forward label{margin-bottom:10px}.forward-prominent{background:#2455bc;color:white;border:1px solid #2455bc;font-weight:700;padding:12px 16px;width:100%}.triage-current .finish-prominent{align-self:stretch}@media(max-width:650px){.finish-prominent{font-size:.94rem;padding:10px 16px;min-height:40px}}
.top-current:not(.triage-current) .finish-prominent{background:#087b55;color:white;border:0;font-size:1.1rem;padding:16px 22px;box-shadow:0 4px 12px #087b5520;min-height:54px}.triage-current .finish-prominent{font-size:.94rem;min-height:40px;padding:10px 16px;background:#e5f3ed;color:#176449;border:1px solid #bcdccd;box-shadow:none}@media(max-width:650px){.top-current:not(.triage-current) .finish-prominent{font-size:1rem;padding:14px}}
.called-patient-actions{display:grid;grid-template-columns:1fr;gap:8px}.called-patient-actions .start-attendance{background:#2455bc;color:white;border:1px solid #2455bc;font-size:.94rem;font-weight:650;padding:11px 14px}.called-patient-actions .absent-button{background:#bf383d;color:white;border:1px solid #bf383d;font-size:.875rem;font-weight:650;padding:10px 12px}.triage-current .called-patient-actions{order:-2}
.triage-risk-panel{background:#f7fafc;border:1px solid #dbe5e9;border-radius:10px;padding:12px}.triage-risk-panel h3{font-size:.94rem;margin:0 0 10px;color:#000}.triage-risk-panel .classification{background:transparent;border:0;padding:0;margin:0}.triage-risk-panel label{font-size:.875rem;margin-bottom:10px}.triage-risk-panel button{width:100%}.triage-current .triage-risk-panel{order:-3}
.repeat-current{padding:10px 14px;font-size:.94rem}.triage-current .repeat-current{order:-4}
.logout-button{margin-top:24px;background:#f2f5f8;color:#000;text-align:left;border:1px solid #dde5ec;font-size:.94rem;padding:11px 14px}.logout-button:hover{background:#e9eff4}@media(max-width:900px){aside .logout-button{margin-top:12px;padding:8px 12px;font-size:.875rem}}
.access-codes{margin-bottom:24px}.access-codes code{font-family:Consolas,monospace;font-size:1rem;padding:5px 10px;background:#eaf3f7;border-radius:6px;color:#194c69}select:disabled{opacity:1;background:#edf5f7;border-color:#d4e3e9;color:#000}
.own-queue-count{display:inline-block;margin:0 0 16px;padding:7px 12px;border-radius:20px;background:#fff3db;color:#8b661b;font-size:.875rem;font-weight:600}

.tv{grid-template-rows:auto minmax(0,.7fr) minmax(0,1fr) auto;background:linear-gradient(120deg,#072b3d,#10495a)}.tv-layout{grid-template-columns:2.3fr 1fr}.tv-patient-lists{grid-template-columns:1.3fr 1fr}.tv-waiting,.tv-attendances{background:#ffffff09;border-color:#ffffff25}.tv-waiting{border-top:3px solid #65d5c9}.tv-attendances{border-top:3px solid #66aeee}.tv-queue-patient{gap:12px;align-items:center}.tv-queue-patient>div{flex:1}.waiting-time{flex:0 0 auto;min-width:88px;text-align:right;padding:7px 10px;background:#ffffff0c;border:1px solid #ffffff15;border-radius:8px}.waiting-time small{font-size:.75rem;color:#b9dce2;margin:0 0 4px}.waiting-time strong{font-size:1rem;color:#a0ebe2;font-variant-numeric:tabular-nums;white-space:nowrap}.tv-attendance p{color:#9cd3f8}@media(max-width:750px){.tv-layout{grid-template-columns:1fr}.tv-patient-lists{grid-template-columns:1.3fr 1fr}.waiting-time{min-width:68px;padding:5px 6px}.waiting-time strong{font-size:.85rem}.waiting-time small{font-size:.7rem}.tv-patient-lists .section-head h2{font-size:.94rem}.tv-queue-patient{gap:7px}.queue-position{min-width:25px;width:25px;height:25px;font-size:.875rem}.tv-queue-patient strong{font-size:.94rem}}@media(max-width:500px){.tv-patient-lists{grid-template-columns:1fr 1fr}.tv-queue-patient{position:relative;padding-bottom:25px}.waiting-time{position:absolute;bottom:2px;right:0;display:flex;gap:5px;align-items:center;padding:2px 5px;border:0;background:transparent}.waiting-time small{margin:0}}
/* Identificação do paciente em destaque em todas as áreas */
.patient-identification h3,.professional-patient-list .patient h3{font-size:1.35rem;font-weight:750;color:#000;line-height:1.25}.top-current h2{font-size:clamp(1.65rem,2.4vw,2.25rem);font-weight:750;line-height:1.15;color:#000}.table-wrap td:first-child>strong{display:block;font-size:1.15rem;font-weight:750;color:#000;line-height:1.3}.table-wrap td:first-child>small,.patient-identification small{font-size:.875rem;color:#000}.receipt{color:#000;font-size:1.15rem;font-weight:650}.receipt strong{font-size:1.75rem;color:#000;font-weight:500}.card details summary strong{font-size:1.15rem;font-weight:750;color:#000}.tv-queue-patient>div>strong,.tv-attendance>strong{font-size:1.3rem;font-weight:750;color:#fff;line-height:1.25}.tv-history strong{font-size:1.2rem;font-weight:750;color:#fff}.tv-current h1{font-weight:750;color:#fff}.tv-queue-patient>div>small,.tv-attendance>small{color:#a4c5ce}.waiting-time strong{font-size:1rem;color:#a0ebe2}@media(max-width:750px){.tv-queue-patient>div>strong,.tv-attendance>strong{font-size:1.1rem}.top-current h2{font-size:1.65rem}.patient-identification h3,.professional-patient-list .patient h3{font-size:1.2rem}}
.receipt .receipt-name{font-size:1.5rem;font-weight:750;color:#000}.receipt small{font-size:1rem;font-weight:500;margin-top:10px}
/* Chamada atual: a cor destaca o paciente */
.tv-current h1{background:#0c6975;border:1px solid #399ca4;border-left:6px solid #8ce7dc;border-radius:12px;padding:14px 20px;margin:10px 0 12px;max-height:3.3em;box-shadow:0 5px 18px #00192420}.tv-current .destination{background:transparent;border:0;border-radius:0;padding:0 6px;box-shadow:none}.tv-current .destination>p{color:#a5cbd5;font-size:.875rem;margin-bottom:5px}.tv-current .destination h2{color:#d3edf1;font-size:clamp(1.2rem,2vw,2rem)}.tv-current .destination>p:last-child:not(:first-child){color:#a5cbd5}.call-highlight h1{background:#0c6975;border:1px solid #399ca4;border-left:6px solid #8ce7dc;border-radius:18px;padding:3vh 4vw}.call-highlight .highlight-destination{background:transparent;border:0;padding:1vh 2vw}.call-highlight .highlight-destination h2{color:#d3edf1}@media(max-height:600px){.tv-current h1{padding:10px 16px;margin:6px 0 8px}.tv-current .destination{padding:0 4px}}@media(max-width:750px){.tv-current h1{padding:12px 16px}.tv-current .destination{padding:0 4px}}
/* Painel hospitalar inspirado na referência */
.tv{background:radial-gradient(ellipse at 45% 0,#0c455c 0,#041d31 75%);padding:22px 28px;gap:16px;grid-template-rows:auto minmax(0,.95fr) minmax(0,1fr) auto;color:#e8f9ff}.tv header{border-bottom:1px solid #2f6e84;padding-bottom:12px}.tv header .brand{color:#e3f8ff;font-size:1.3rem;text-transform:uppercase;letter-spacing:.015em;max-width:75%}.tv header .brand span{font-size:clamp(.9rem,1.35vw,1.45rem);line-height:1.25}.tv .clock{font-size:2rem;font-weight:700;letter-spacing:-.04em;color:#fff}.tv-layout{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:16px}.tv-current{position:relative;border:1px solid #2e91a6;border-radius:14px;background:linear-gradient(115deg,#074056,#08283e);padding:18px 22px;box-shadow:inset 0 0 22px #1cbbca0c,0 0 18px #13bbcf12;justify-content:center}.tv-current .eyebrow{color:#70e2e8;font-size:.875rem;letter-spacing:.09em}.tv-current h1{background:transparent;border:0;border-radius:0;padding:0;margin:10px 0 14px;color:white;box-shadow:none;font-size:clamp(2rem,4.5vw,5.4rem);font-weight:800;line-height:1.02;letter-spacing:-.03em;text-shadow:0 0 18px #97ecff16;max-height:2.1em}.tv-current .destination{padding:10px 14px;border-left:4px solid #58dbe1;border-radius:0 8px 8px 0;background:#22a6b915}.tv-current .destination>p{color:#7bc8d8;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;margin-bottom:5px}.tv-current .destination h2{color:#91edf0;font-size:clamp(1.3rem,2.4vw,2.9rem);font-weight:700}.tv-history{background:#072c43;border:1px solid #215a74;border-radius:14px;padding:16px 18px;box-shadow:inset 0 1px #61c2df15}.tv-history h2{font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;color:#8fe2ee;border-bottom:1px solid #215a74;padding-bottom:10px;margin-bottom:4px}.tv-history article{padding:10px 0;border-color:#245169}.tv-history strong{font-size:1.05rem;letter-spacing:.015em;text-transform:uppercase}.tv-history p{color:#8db9cc;font-size:.875rem}.tv-history small{color:#5cb9ba}.tv-patient-lists{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px}.tv-waiting,.tv-attendances{background:linear-gradient(130deg,#07334a,#08273d);border:1px solid #24617c;border-top:3px solid #3cc5d1;border-radius:14px;padding:16px 20px;box-shadow:inset 0 1px #5db6d515}.tv-attendances{border-top-color:#429bc8}.tv-patient-lists .section-head{padding-bottom:8px;border-bottom:1px solid #23526c}.tv-patient-lists h2{font-size:1rem;color:#b1f1f6;text-transform:uppercase;letter-spacing:.04em}.tv .count{background:#5de0e3;color:#073447;border-radius:50%;font-weight:800;min-width:30px;min-height:30px;display:grid;place-items:center;padding:4px}.tv-list-note{color:#7faec1;font-size:.75rem;margin:7px 0}.tv-list-rows{gap:0}.tv-queue-patient,.tv-attendance{border-color:#214c65;padding:8px 0}.queue-position{background:#164a64;color:#8ce8eb;border:1px solid #24657f;font-weight:750}.tv-queue-patient>div>strong,.tv-attendance>strong{font-size:1.2rem;text-transform:uppercase;letter-spacing:.01em}.tv-queue-patient>div>small,.tv-attendance>small{color:#d4e7ef;font-size:.8rem}.waiting-time{background:#08283c;border:1px solid #20536c;padding:6px 10px;min-width:84px}.waiting-time small{color:#000}.waiting-time strong{color:#f2cb69;font-weight:700;font-size:1rem}.tv-attendance p{color:#89e0d5;font-size:1rem}.tv footer{padding:0 2px}.audio-status{background:transparent;border:0;color:#000;padding:5px 0}.tv footer button,.workplace-link{background:#0b354b;border-color:#245c75;color:#9ed2e1;padding:7px 12px}.call-highlight{background:radial-gradient(ellipse at center,#0b4d64,#041d31 80%)}.call-highlight h1{background:#06384c;border:1px solid #34b6c6;border-left:6px solid #70e6e7;box-shadow:0 0 30px #21d1e520;color:white;font-weight:800}.call-highlight .highlight-destination h2{color:#91edf0}@media(max-width:750px){.tv{padding:12px;gap:10px}.tv header .brand{max-width:80%;font-size:1rem}.tv .clock{font-size:1.4rem}.tv-layout{grid-template-columns:1fr;gap:10px}.tv-current{padding:14px 18px}.tv-current h1{font-size:clamp(2rem,6vw,3.5rem);margin:8px 0 12px}.tv-current .destination h2{font-size:1.5rem}.tv-patient-lists{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px}.tv-waiting,.tv-attendances{padding:12px}.tv-patient-lists h2{font-size:.85rem}.tv-queue-patient>div>strong,.tv-attendance>strong{font-size:1rem}.waiting-time{min-width:64px;padding:5px 6px}.waiting-time strong{font-size:.875rem}}@media(max-height:600px){.tv{padding:10px 18px;gap:8px}.tv-current{padding:10px 16px}.tv-current h1{font-size:2.3rem;margin:6px 0 8px}.tv-current .destination{padding:7px 12px}.tv-current .destination h2{font-size:1.35rem}.tv-waiting,.tv-attendances{padding:10px 14px}.tv-list-note{margin:4px 0}.tv-history article{padding:6px 0}}
.tv-patient-lists{align-items:stretch}.tv-queue-patient,.tv-attendance{flex:0 0 auto;min-height:54px}.tv-current h1{background:#0c697530;border-radius:8px;padding:10px 14px;border-left:4px solid #69e0e4}.tv-current .destination{background:transparent;border-left:0;padding:4px 14px}.tv-current .destination h2{color:#a5dce4}@media(max-height:600px){.tv-current h1{padding:7px 12px}.tv-queue-patient,.tv-attendance{min-height:48px}}

.unit-logo{width:54px;height:54px;object-fit:contain;background:white;border-radius:8px;padding:4px;flex-shrink:0}.logo-preview{max-width:200px;max-height:100px;object-fit:contain;margin:0 0 20px}.display-settings{margin-bottom:24px}.tv button[hidden]{display:none!important}.tv:fullscreen #fullscreen{display:none!important}@media(max-height:600px){.unit-logo{width:36px;height:36px}}
/* TV: composição da referência, com dados reais */
.reference-tv{padding:0 1.8vw;gap:1.6vh;grid-template-columns:minmax(0,2.5fr) minmax(0,1fr);grid-template-rows:11vh minmax(0,1fr) minmax(0,1fr) 7vh;background:radial-gradient(ellipse at 55% 5%,#06465b,#001c2c 75%)}
.reference-tv header{grid-column:1/-1;border:1px solid #00607a;border-top:0;border-radius:0 0 16px 16px;padding:1vh 1vw;background:linear-gradient(135deg,#043e51,#002638);gap:1.3vw;overflow:hidden}
.reference-tv .municipal-brand{display:flex;align-items:center;gap:10px;width:29%;border-right:1px solid #188fa4;padding-right:12px;min-width:0}.municipal-brand strong{font-size:clamp(11px,1.15vw,22px);display:block;line-height:1.15}.municipal-brand small{color:#d6eaf4;font-size:clamp(8px,.7vw,13px);letter-spacing:.1em}.municipal-symbol{font-size:42px;color:#76e9ed}.reference-tv .unit-logo{background:transparent;padding:0;border-radius:0;width:5vw;height:8vh}
.reference-tv .hospital-brand{display:flex;gap:12px;align-items:center;flex:1;min-width:0}.hospital-brand>span{font-size:clamp(30px,4vw,70px);color:#e6fbff;line-height:1}.hospital-brand strong{display:block;font-size:clamp(14px,1.7vw,28px);line-height:1.05}.hospital-brand small{font-size:.55vw;letter-spacing:.17em;color:#bcdae7}.reference-tv .tv-date{text-align:right;width:13%;display:block!important}.tv-date strong{font-size:.9vw;color:#51edee;text-transform:uppercase}.tv-date small{color:white;text-transform:uppercase;font-size:.7vw}.reference-tv .clock{font-size:3.6vw;border-left:1px solid #168396;padding-left:1vw}.reference-tv #connection{font-size:.8vw;color:#40f4c5;max-width:70px;border-left:1px solid #168396;padding-left:1vw}
.reference-tv .tv-layout{display:contents}.reference-tv .tv-current{grid-column:1;grid-row:2;padding:1.5vh 2vw;border:1px solid #00b2cc;border-left:4px solid #19edf0;border-radius:14px;background:radial-gradient(ellipse at top left,#00526b,#002234 75%);box-shadow:-6px 0 20px #13eeee50;display:flex;flex-direction:column;justify-content:space-between}.call-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.reference-tv .eyebrow{font-size:1.55vw;color:#53f5ff;letter-spacing:.025em}.call-state{background:linear-gradient(#008979,#006b65);color:#b0fff0;border-radius:24px;padding:6px 13px;font-size:.9vw;white-space:nowrap;box-shadow:inset 0 0 10px #16c9a0}.reference-tv .tv-current h1{border:0;background:transparent;padding:0;margin:0;font-size:clamp(28px,6.6vw,110px);text-transform:uppercase;line-height:1.06;font-weight:900;letter-spacing:-.04em;max-height:2.12em}.reference-tv .destination{display:flex;align-items:center;gap:1.5vw;padding:0;min-width:0}.reference-tv .destination>div:not(.room-number){flex:1;min-width:0}.reference-tv .destination p{color:#64eff4;font-size:1.2vw;letter-spacing:.12em;margin:0}.reference-tv .destination h2{color:#72f1fa;font-size:clamp(20px,3.3vw,60px);margin:0;line-height:1.1}.reference-tv .destination small{color:#bddde7;font-size:.85vw}.care-symbol{font-size:4.8vw;color:#fff}.direction-arrow{display:grid;place-items:center;background:#16e6d5;color:#000;border-radius:50%;width:6vw;height:6vw;font-size:5vw;flex-shrink:0;box-shadow:0 0 18px #1ce3d840}.room-number{text-align:center;border:1px solid #00b6cd;border-radius:12px;padding:.5vh 1.3vw;background:#00364c}.room-number small{color:#4cf6ff!important;font-size:1vw!important}.room-number strong{display:block;font-size:4.5vw;line-height:1}
.reference-tv .tv-right{grid-column:2;grid-row:2/4;min-height:0;display:grid;grid-template-rows:.75fr 1fr;gap:1.6vh}.reference-tv .tv-history{display:block;padding:1vh 1vw;border-color:#006c8d;background:#00283c}.reference-tv .tv-history h2{font-size:1.1vw;padding-bottom:8px;color:white}.reference-tv .tv-history article{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:6px;padding:1.1vh 0}.reference-tv .tv-history article small,.reference-tv .tv-history article p{margin:0;font-size:.8vw;color:#c9e1ee}.reference-tv .tv-history strong{font-size:.85vw;margin:0}.tv-information{border:1px solid #00698e;border-radius:12px;overflow:hidden;background:#003048;min-height:0;padding-bottom:5px}.health-banner{height:38%;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:10px;background:radial-gradient(ellipse at top,#14799b,#023249);border-bottom:1px solid #067590}.health-banner>span{font-size:4vh;color:#b8f9ff}.health-banner strong{font-size:1.2vw;line-height:1.1}.health-banner small{font-size:.6vw;color:#87e4ed;letter-spacing:.13em}.tv-information h2{font-size:1vw;color:#a6f3f9;background:#07516a;margin:0;padding:6px 10px}.tv-information p{display:flex;align-items:center;gap:12px;font-size:.9vw;margin:5px 6px;padding:5px 8px;background:#ffffff09;border-radius:10px;line-height:1.3}.tv-information p>span{font-size:1.8vw;color:#bdedf6}
.reference-tv .tv-patient-lists{grid-column:1;grid-row:3;grid-template-columns:1.6fr 1fr;gap:1vw}.reference-tv .tv-waiting,.reference-tv .tv-attendances{padding:1vh 1.4vw;border:1px solid #006f8c;background:radial-gradient(ellipse at bottom right,#00405c,#00283a);border-radius:12px}.reference-tv .section-head h2{font-size:1.25vw;color:white;letter-spacing:0}.reference-tv .count{width:2.7vw;min-width:24px;height:2.7vw;min-height:24px;font-size:1.4vw;background:#ffb42e}.reference-tv .tv-attendances .count{background:#32c6f4}.reference-tv .tv-list-note{font-size:.72vw;margin:4px 0 5px}.reference-tv .tv-queue-patient{min-height:0;padding:5px 0;gap:10px}.reference-tv .tv-queue-patient>div>strong,.reference-tv .tv-attendance>strong{font-size:1.05vw}.reference-tv .tv-queue-patient small,.reference-tv .tv-attendance small{font-size:.8vw}.reference-tv .queue-position{width:26px;min-width:26px;height:24px;border-radius:5px;font-size:1vw}.reference-tv .waiting-time{border:0;background:transparent;padding:0;min-width:50px}.reference-tv .waiting-time small{display:none}.reference-tv .waiting-time strong{color:#ffbb27;font-size:1.1vw}.reference-tv .tv-attendance{min-height:0;padding:6px 0}.reference-tv .tv-attendance p{font-size:.85vw;margin:3px 0}.reference-tv footer{grid-column:1/-1;border:1px solid #00617d;border-radius:14px 14px 0 0;background:#003045;padding:5px 1vw;gap:10px}.reference-tv footer>span{display:block;font-size:1.1vw;flex:1}.reference-tv footer>small{font-size:.7vw;letter-spacing:.15em;color:#9bb8c5;margin:0}.reference-tv .audio-status{display:none}.reference-tv footer button{font-size:.8vw;padding:5px 8px}
@media(max-width:700px){.reference-tv{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.reference-tv .hospital-brand{display:none}.reference-tv .municipal-brand{width:50%}.reference-tv .tv-date{width:auto}.reference-tv .tv-history article{grid-template-columns:1fr}.reference-tv .tv-history article small{display:none}.reference-tv .tv-patient-lists{grid-template-columns:1fr 1fr}.reference-tv .care-symbol,.reference-tv .direction-arrow{display:none}.reference-tv .tv-current h1{font-size:6vw}.reference-tv footer>small{display:none}}
.developer-brand{display:block;color:#087d87;font-size:1.05rem;line-height:1.3;letter-spacing:.035em}.developer-label{font-size:.72rem;color:#000;margin:7px 0 16px}.admin-unit{display:block;font-size:.8rem;line-height:1.4;color:#000}.developer-credit{font-size:.68rem;font-weight:400;line-height:1.6;color:#000}.developer-credit strong{font-size:inherit;font-weight:550;letter-spacing:.025em}.login .login-credit{text-align:center;margin:24px 0 0;font-size:.68rem;color:#000}.reference-tv footer>.tv-developer-credit{font-size:clamp(7px,.65vw,12px);letter-spacing:.04em;color:#d4e7ef;font-weight:400}@media(max-width:900px){.shell .developer-credit{display:block}.shell .aside-bottom:has(.developer-credit){display:block;padding-top:15px}.developer-brand{font-size:.9rem}}@media(max-width:700px){.reference-tv footer>.tv-developer-credit{display:block;max-width:120px;line-height:1.3;font-size:7px}}
.admin-developer-heading{font-size:1.1rem;line-height:1.3;letter-spacing:.035em}.admin-developer-heading span{color:#087d87}
/* Marca 3K com relevo e cor */
.admin-developer-heading{display:flex;align-items:center;gap:12px;padding:12px 8px;margin:-8px -8px 8px;border-radius:12px;background:linear-gradient(135deg,#f0fbff,#e4f6f8);border:1px solid #d0ebef;box-shadow:0 5px 14px #084b6b08;letter-spacing:0}.admin-developer-heading .three-k-mark{font-size:3.1rem;font-weight:900;line-height:1;letter-spacing:-.065em;color:#087fa3;text-shadow:0 1px #96eff1,0 2px #086c91,0 3px #065876,0 4px #04435f,1px 6px 8px #0a466b24;flex-shrink:0}.admin-developer-heading .three-k-name{display:flex;flex-direction:column;gap:5px;min-width:0}.three-k-name strong{font-size:.87rem;font-weight:800;letter-spacing:.065em;color:#124669;line-height:1}.three-k-name small{margin:0;font-size:.72rem;font-weight:650;letter-spacing:.14em;color:#058b99;line-height:1.1}@media(max-width:900px){.admin-developer-heading{width:fit-content;min-width:230px}.admin-developer-heading .three-k-mark{font-size:2.8rem}}
.admin-developer-heading{padding:0;margin:0 0 12px;background:transparent;border:0;box-shadow:none;display:block;min-width:0;width:100%}.developer-logo{display:block;width:100%;max-width:230px;height:auto;border-radius:6px}.admin-developer-heading .developer-logo{object-fit:contain}@media(max-width:900px){.admin-developer-heading{width:200px;min-width:0}.developer-logo{max-width:200px}}
@media(max-width:700px){.reference-tv .hospital-brand{display:flex}.reference-tv .hospital-brand>span{display:none}.reference-tv .hospital-brand strong{font-size:12px}.reference-tv .hospital-brand small{font-size:6px}.reference-tv .municipal-brand{width:32%;padding-right:8px}.reference-tv .tv-date{display:none!important}.reference-tv .municipal-brand small{font-size:7px}}
/* Nomes completos na TV, sem reticências */
.reference-tv .hospital-brand strong,.reference-tv .municipal-brand strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.reference-tv .tv-current h1{font-size:clamp(24px,5.3vw,90px);max-height:none;overflow:visible;overflow-wrap:anywhere;white-space:normal;line-height:1.08}.reference-tv .tv-history strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:clamp(9px,.85vw,16px);line-height:1.15}.reference-tv .tv-queue-patient>div>strong,.reference-tv .tv-attendance>strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.15;font-size:clamp(10px,1vw,18px)}.reference-tv .tv-queue-patient,.reference-tv .tv-attendance{flex-shrink:0;min-height:46px}.reference-tv .tv-history article{padding:.7vh 0;min-height:32px}.reference-tv .tv-current{gap:8px}.reference-tv .destination h2{max-height:none;overflow:visible;overflow-wrap:anywhere;font-size:clamp(18px,2.8vw,48px)}@media(max-width:700px){.reference-tv .tv-current h1{font-size:5vw}.reference-tv .tv-history article{min-height:35px}.reference-tv .tv-history strong{font-size:9px}.reference-tv .tv-queue-patient>div>strong,.reference-tv .tv-attendance>strong{font-size:10px}}
.tv-links{margin-bottom:24px}.tv-links a{display:inline-block;padding:12px 16px;margin:0 10px 10px 0;border:1px solid #cfe4ea;border-radius:8px;background:#edf8fa;color:#087585;text-decoration:none;font-weight:600}.tv-links a:first-of-type{background:#087d87;color:white}
#print-report-sheet{display:none}@media print{@page{size:A4 landscape;margin:14mm}body{background:white!important;color:#111!important;height:auto!important;overflow:visible!important}body>*{display:none!important}body>#print-report-sheet{display:block!important;font:11pt Arial,sans-serif}#print-report-sheet header{display:block;margin-bottom:15px;padding-bottom:12px;border-bottom:2px solid #087d87}#print-report-sheet h1{font-size:18pt;color:#000}#print-report-sheet h2{font-size:14pt;margin-top:8px}#print-report-sheet p{margin:5px 0;font-size:10pt}#print-report-sheet .table-wrap{overflow:visible;margin-top:20px}#print-report-sheet table{width:100%;border-collapse:collapse;font-size:10pt}#print-report-sheet th,#print-report-sheet td{padding:10px 8px;border:1px solid #bbb;color:#111;background:white}#print-report-sheet td strong{font-size:10pt}#print-report-sheet small{font-size:9pt;color:#000}#print-report-sheet thead{display:table-header-group}#print-report-sheet tr{break-inside:avoid}#print-report-sheet footer{font-size:9pt;color:#000;margin-top:22px;border-top:1px solid #ccc;padding-top:8px}}
.reception-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}.citizen-search-card h2{font-size:1.8rem;color:#000}.citizen-search-bar{display:flex;gap:10px;align-items:stretch}.citizen-search-bar input{margin:0;flex:1;min-width:0}.citizen-search-card label[for]{margin:0 0 9px}.citizen-search-bar button{flex-shrink:0}.search-hint{font-size:.9rem;color:#000;margin:20px 0}.citizen-result{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid #e2edf1}.citizen-result h3{font-size:1.2rem;margin:0 0 6px;color:#000}.citizen-result button{flex-shrink:0}#different-citizen{margin-top:18px}.inline-citizen-registration{margin-top:20px;border-top:1px solid #e2edf1;padding-top:10px}.inline-citizen-registration #patient-form{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.inline-citizen-registration #patient-form label:first-of-type,.inline-citizen-registration #patient-form label:last-of-type{grid-column:1/-1}.selected-citizen{margin:24px 0;padding:20px;background:#eaf7f6;border:1px solid #cde8e6;border-radius:12px}.selected-citizen h3{font-size:1.45rem;color:#000;margin:0 0 8px}@media(max-width:1100px){.reception-workspace{grid-template-columns:1fr}}@media(max-width:550px){.citizen-result{align-items:start;flex-direction:column}.inline-citizen-registration #patient-form{grid-template-columns:1fr}.citizen-search-bar{flex-direction:column}}
.native-room-label{align-self:center;color:#000;font-size:.8rem;padding:8px 10px;border-radius:8px;background:#eef5f8}
.profile-wait{display:inline-block;margin-top:7px;padding:5px 9px;border-radius:7px;background:#fff3d9;color:#956315;font-size:.8rem;white-space:nowrap}.profile-wait strong{font-size:inherit;font-weight:700}.profile-wait.inactive-wait{background:#e8f4fa;color:#000}.table-wrap .profile-wait{margin:0}
.status-with-wait{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.status-with-wait .profile-wait{margin:0;background:#edf3f6;color:#000;border:1px solid #d9e5eb;padding:5px 9px;border-radius:8px;font-size:.8rem}.status-with-wait .profile-wait strong{font-weight:650;color:#000}
/* Filas por perfil */
.reception-workspace{grid-template-columns:1fr}.citizen-search-card{max-width:none}.citizen-search-bar{max-width:900px}.shell[data-area="reception"] #metrics{display:none}.queue-dashboard{min-width:0}.queue-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.queue-metric{display:flex;align-items:center;gap:14px;border:1px solid #e1eaf2;background:#fff;border-radius:12px;padding:14px 16px}.queue-metric>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#eaf1ff;color:#215fae;font-size:1.7rem;font-weight:750;flex-shrink:0}.queue-metric.waiting>span{background:#fff2ce;color:#a66e13}.queue-metric.attending>span{background:#def5eb;color:#15794c}.queue-metric.priority>span{background:#ffe6e8;color:#bb3446}.queue-metric small{font-size:.7rem;color:#000;text-transform:uppercase;font-weight:700;margin:0}.queue-metric strong{display:block;font-size:1.6rem;line-height:1.2;color:#000;margin-top:4px}.queue-toolbar{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}.queue-filters{display:flex;flex-wrap:wrap;gap:8px}.queue-filter{font-size:.78rem;padding:10px 12px;color:#000;background:#eef3f9;border:1px solid transparent}.queue-filter.priority,.queue-filter.urgent{color:#ae3f4e;background:#fff0f1}.queue-filter.attending{background:#e7f6ef;color:#287b59}.queue-filter.nonurgent{background:#eaf0ff;color:#3c61b4}.queue-filter.active{background:#087d87;color:white;border-color:#087d87}.queue-search-sort{display:flex;gap:12px;align-items:end}.queue-search-sort label{font-size:.75rem;margin:0;color:#000}.queue-search-sort input,.queue-search-sort select{font-size:.85rem;padding:10px 12px;min-width:150px;margin-top:5px}.queue-order-note{font-size:.75rem;color:#000;margin:14px 0 10px}.queue-table-wrap{overflow:auto;border-radius:12px;border:1px solid #e2eaf0}.queue-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem}.queue-table th{font-size:.68rem;text-transform:uppercase;letter-spacing:.025em;background:#f4f7fb;white-space:nowrap;padding:14px 10px;color:#000}.queue-table td{padding:12px 10px;border-bottom:1px solid #e3ebf1;font-size:.85rem;vertical-align:middle;background:white}.queue-table tr:last-child td{border-bottom:0}.queue-table td:first-child{border-left:4px solid #a4bac7}.queue-table .queue-risk-red td{background:#fff6f7}.queue-table .queue-risk-red td:first-child{border-left-color:#e0364c}.queue-table .queue-risk-orange td:first-child{border-left-color:#f09336}.queue-table .queue-risk-yellow td:first-child{border-left-color:#f0c03b}.queue-table .queue-risk-green td:first-child{border-left-color:#59ba94}.queue-table .queue-risk-blue td:first-child{border-left-color:#6ea9e9}.queue-number{display:grid;place-items:center;min-width:28px;height:28px;border-radius:7px;background:#e9f2f8;color:#000;font-weight:750}.queue-risk-red .queue-number{background:#e6384b;color:white}.queue-risk-yellow .queue-number{background:#ffda63}.queue-patient-name{font-size:.98rem;font-weight:750;color:#000;display:block;min-width:150px;overflow-wrap:anywhere}.priority-note{font-size:.72rem;color:#ac5c42}.queue-destination{display:inline-block;background:#edf4ff;color:#396ba3;border-radius:16px;padding:6px 10px;font-size:.78rem;min-width:100px}.queue-row-actions{display:flex;gap:7px;align-items:center}.queue-row-actions button{white-space:nowrap;font-size:.75rem;padding:10px 12px}.queue-row-actions small{font-size:.72rem;color:#000;min-width:130px}.queue-table .risk-badge{font-size:.72rem;white-space:nowrap;margin:0}.queue-empty{text-align:center;color:#000!important;padding:30px!important}.top-current{background:linear-gradient(115deg,#f0fcfc,#eef7fa);border:1px solid #bfe6ec;border-top:3px solid #36abbc;border-radius:14px}.top-current h2{color:#000}.top-current #next{min-height:68px;background:linear-gradient(120deg,#078e9d,#007585);font-size:1.15rem}.professional-patient-list{padding:20px}.professional-stack{gap:18px}.professional-patient-list .queue-table-wrap{max-height:48vh}.queue-table .profile-wait{font-size:.73rem}.queue-table .badge{font-size:.73rem}.queue-metrics .queue-metric.attending{background:white;color:inherit}@media(max-width:850px){.queue-metrics{grid-template-columns:repeat(2,1fr)}.queue-toolbar{display:block}.queue-search-sort{margin-top:14px}.queue-search-sort label{flex:1}.queue-search-sort input{width:100%}.queue-metric{padding:12px}.queue-table{min-width:850px}}@media(max-width:500px){.queue-search-sort{flex-direction:column;align-items:stretch}.queue-metric>span{width:32px;height:36px;font-size:1.2rem}.queue-metric{gap:8px}.queue-metric small{font-size:.62rem}}
/* Revisão de densidade: estações de trabalho */
.shell{grid-template-columns:210px minmax(0,1fr)}.shell>aside{padding:22px 16px}.shell>main{padding:22px 26px;max-width:1800px}.shell header{margin-bottom:18px;gap:16px}.shell h1{font-size:1.8rem}.shell .today{padding:7px 11px;font-size:.85rem}.shell .card{padding:18px 20px}.shell .card h2{margin-bottom:12px;font-size:1.2rem}.shell .card-intro{margin:0 0 14px;font-size:.85rem}.shell .card label{margin-bottom:12px}.shell input,.shell select{padding:10px 12px;margin-top:5px}.shell button{padding:10px 14px}.shell .metrics{gap:12px;margin-bottom:18px}.shell .metric{padding:14px 18px;gap:6px}.shell .metric strong{font-size:1.8rem}.shell .metric:after{height:24px;bottom:16px;right:16px}.shell .metric span{font-size:.8rem}.shell .two-column{gap:16px}.shell .room-edit{padding:14px;margin-top:12px}.shell hr{margin:18px 0}.shell .display-settings,.shell .access-codes,.shell .tv-links{margin-bottom:16px}.shell .room-bar{padding:12px 16px;margin-bottom:14px}.shell .room-bar label{margin:0}.shell .room-bar span{padding:6px 10px;font-size:.8rem}.shell .own-queue-count{margin-bottom:10px;padding:5px 10px;font-size:.8rem}
/* Pesquisa da recepção */
.reception-workspace{gap:16px}.shell .citizen-search-card{padding:16px 20px}.citizen-search-card>.eyebrow{margin:0 0 5px;font-size:.7rem}.shell .citizen-search-card h2{font-size:1.4rem;margin:0 0 6px}.shell .citizen-search-card>.card-intro{margin:0 0 12px;font-size:.82rem}.citizen-search-card label[for]{font-size:.8rem;margin:0 0 5px}.citizen-search-bar{max-width:none;gap:8px}.citizen-search-bar input{padding:11px 13px;min-height:42px;margin:0}.citizen-search-bar button{padding:10px 22px;min-height:42px}.citizen-search-card .search-hint{font-size:.78rem;margin:10px 0 0}.citizen-result{padding:12px 0}.selected-citizen{padding:12px 15px;margin:14px 0}.selected-citizen h3{font-size:1.25rem;margin-bottom:4px}.inline-citizen-registration{margin-top:14px;padding-top:12px}.inline-citizen-registration h2{margin:8px 0 12px!important}.inline-citizen-registration #patient-form label{margin-bottom:10px}
/* Filas et patient actif */
.queue-metrics{gap:10px;margin-bottom:12px}.queue-metric{padding:10px 12px;gap:10px}.queue-metric>span{width:38px;height:38px;border-radius:11px;font-size:1.35rem}.queue-metric strong{font-size:1.4rem;margin-top:2px}.queue-toolbar{gap:10px}.queue-filter{padding:8px 10px!important;font-size:.73rem}.queue-search-sort input,.queue-search-sort select{padding:8px 10px!important}.queue-order-note{margin:9px 0;font-size:.7rem}.queue-table th{padding:10px 9px}.queue-table td{padding:9px}.queue-row-actions button{padding:9px 10px!important}.shell .top-current{padding:14px 18px;gap:14px}.shell .top-current h2{font-size:1.65rem;margin:0 0 6px}.shell .top-current #next{min-height:48px;font-size:1rem}.top-current .current-summary .eyebrow{margin-bottom:5px}.professional-stack{gap:12px}.shell .professional-patient-list{padding:16px}.shell .top-current:not(.triage-current) .finish-prominent{min-height:44px;font-size:1rem;padding:11px 16px}.current-controls{gap:7px}.forward-details{padding:10px 0}.triage-current .forward-details{padding:10px}.triage-risk-panel{padding:10px}.shell .report-filters{padding:14px;gap:14px;margin-bottom:14px}.shell .report-note{margin-top:14px;font-size:.8rem}.shell .table-wrap th{padding:11px 9px}.shell .table-wrap td{padding:12px 9px}.shell .empty{padding:22px 8px}.shell details{padding:12px 0}.shell .tv-links a{padding:9px 12px;margin-bottom:8px;font-size:.86rem}.shell .logo-preview{max-height:75px;margin-bottom:12px}.shell .unit{margin:12px 0 18px;padding-bottom:16px}.shell nav button,.shell nav a{padding:10px 9px}.shell .nav-label{margin:16px 9px 7px}.shell .logout-button{margin-top:16px}.shell .aside-bottom{padding-top:20px}
/* Navigation compacte sur petites fenêtres */
@media(max-width:900px){.shell{display:block}.shell>aside{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 16px}.shell>aside>.brand{font-size:1rem;grid-column:1}.shell>aside .admin-developer-heading{width:125px}.shell>aside .developer-logo{max-width:125px}.shell>aside nav{display:flex;flex-wrap:wrap;margin:0;gap:5px}.shell>aside nav .nav-label{display:none}.shell>aside nav button,.shell>aside nav a{padding:8px;font-size:.77rem;gap:5px;min-height:36px}.shell>aside .logout-button{margin:0;min-height:36px;font-size:.75rem;padding:8px}.shell>aside .aside-bottom:has(.developer-credit){grid-column:1/-1;padding:0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.65rem}.shell>aside .aside-bottom br{display:none}.shell>aside .developer-credit{font-size:.6rem;line-height:1.2}.shell>aside #connection{margin:0;padding:2px 8px}.shell>main{padding:18px}.queue-search-sort{margin-top:10px}.shell .professional-patient-list .queue-table-wrap{max-height:none}}
@media(max-width:600px){.shell>aside{grid-template-columns:1fr auto}.shell>aside nav{grid-row:2;grid-column:1/-1}.shell>aside .logout-button{grid-column:2;grid-row:1}.shell>main{padding:14px}.shell header{margin-bottom:12px}.shell h1{font-size:1.5rem}.shell .card{padding:14px}.shell .citizen-search-card{padding:14px}.shell .top-current h2{font-size:1.4rem}.queue-metrics{gap:8px}.queue-metric{padding:9px}.queue-metric>span{width:30px;height:32px;font-size:1.15rem}.citizen-search-bar{flex-direction:row}.citizen-search-bar button{padding:10px 12px}.queue-search-sort{flex-direction:row;align-items:end}.queue-search-sort label{min-width:0}.queue-search-sort input,.queue-search-sort select{min-width:0;width:100%}}
.environment-result{margin:0 8px 8px 0}.shell #environment-editor .card-intro{font-size:.78rem}.shell #environment-results{margin-top:8px}
/* Menu lateral: preservar navegação e saída */
@media(min-width:901px){.shell>aside{height:100dvh;position:sticky;top:0;overflow-y:auto;display:flex;flex-direction:column;gap:0}.shell>aside nav{flex:0 0 auto}.shell>aside .logout-button{flex-shrink:0;margin-top:16px;width:100%}.shell>aside .aside-bottom{margin-top:auto;padding-top:18px;flex-shrink:0}.shell>aside .developer-logo{max-height:95px;width:100%;object-fit:contain}.shell>aside .unit{margin:8px 0 14px;padding-bottom:12px}.shell>aside .nav-label{margin:12px 9px 5px}.shell>aside nav a{margin-top:12px;padding-top:12px}.shell>aside nav button{min-height:38px}}
@media(max-width:900px){.shell>aside{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.shell>aside>.brand{grid-column:1;grid-row:1}.shell>aside .logout-button{grid-column:2;grid-row:1;position:static;margin:0;white-space:nowrap}.shell>aside nav{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:6px;width:100%;min-width:0}.shell>aside nav button,.shell>aside nav a{flex:0 1 auto;min-height:38px;padding:9px 11px}.shell>aside .aside-bottom:has(.developer-credit){grid-column:1/-1;grid-row:3}.shell>aside .admin-developer-heading{width:130px}}
#patient-form{display:block!important}#patient-form fieldset{border:1px solid #d9e7ed;border-radius:10px;margin:0 0 14px;padding:14px}#patient-form legend{font-size:.85rem;font-weight:700;color:#277386;padding:0 7px}.patient-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}.patient-fields label{min-width:0}.patient-fields .patient-field-name,.patient-fields .patient-field-socialName,.patient-fields .patient-field-address{grid-column:span 2}.patient-documents .patient-fields{margin-top:12px}.patient-save-actions{margin-top:16px}#patient-form .patient-save-actions button{grid-column:auto}.inline-citizen-registration #patient-form label:first-of-type,.inline-citizen-registration #patient-form label:last-of-type{grid-column:auto}.inline-citizen-registration #patient-form .patient-fields .patient-field-name,.inline-citizen-registration #patient-form .patient-fields .patient-field-socialName,.inline-citizen-registration #patient-form .patient-fields .patient-field-address{grid-column:span 2}@media(max-width:650px){.patient-fields{grid-template-columns:1fr 1fr}.patient-fields .patient-field-name,.patient-fields .patient-field-socialName,.patient-fields .patient-field-address{grid-column:1/-1}}@media(max-width:450px){.patient-fields{grid-template-columns:1fr}.inline-citizen-registration #patient-form .patient-fields label{grid-column:1!important}}
/* Acesso inicial */
body:has(.login-page){background:#eef5f7}.login-page{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);padding:0;color:#000}.login-intro{position:relative;background:radial-gradient(ellipse at 15% 10%,#136779,transparent 65%),linear-gradient(145deg,#073c51,#062b40);color:#effcff;padding:48px clamp(28px,5vw,88px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;gap:38px}.login-intro:after{content:'';position:absolute;width:450px;height:450px;border:1px solid #67d3d51a;border-radius:50%;right:-260px;bottom:-120px;box-shadow:0 0 0 60px #69d6d509,0 0 0 120px #69d6d505;pointer-events:none}.login-product{display:flex;align-items:center;gap:14px;font-size:1.5rem;font-weight:700;letter-spacing:-.025em}.login-cross{color:#89ece6;background:#ffffff0b;border:1px solid #ffffff1a;border-radius:14px;display:grid;place-items:center;width:52px;height:52px;font-size:2rem}.login-product small{margin-top:5px;color:#9fcdd7;font-size:.63rem;letter-spacing:.2em;font-weight:500}.login-pill{font-size:.64rem;font-weight:600;letter-spacing:.16em;display:inline-block;color:#93e5e3;border:1px solid #6ad6d244;background:#66d7d00a;border-radius:30px;padding:8px 12px}.login-intro h1{font-size:clamp(1.9rem,3.2vw,3.5rem);font-weight:650;line-height:1.15;letter-spacing:-.045em;color:#f4ffff;margin:22px 0 18px;max-width:650px}.login-intro-copy>p{font-size:1rem;line-height:1.7;color:#accdd7;max-width:460px;margin-bottom:30px}.login-features{display:grid;gap:14px}.login-features>span{font-size:.85rem;color:#d2e7ed;display:flex;align-items:center;gap:12px}.login-features b{color:#80d5d5;font-size:.65rem;font-weight:600;display:grid;place-items:center;width:28px;height:28px;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px}.login-maker{display:flex;align-items:center;gap:14px;z-index:1}.login-maker img{width:112px;height:65px;object-fit:contain;background:white;padding:5px;border-radius:8px}.login-maker>span{font-size:.72rem;color:#000;line-height:1.6}.login-access{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px clamp(24px,4vw,70px);background:radial-gradient(ellipse at top,#fff,#f1f7f9)}.login-access-card{max-width:410px;width:100%;padding:36px 32px;background:#fff;border:1px solid #e0ebf0;border-radius:20px;box-shadow:0 16px 60px #1a52690a}.login-access-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d3ecef;border-radius:13px;background:#ebf8f8;color:#087d87;font-size:1.7rem;margin-bottom:25px}.login-kicker{font-size:.65rem;letter-spacing:.16em;font-weight:700;color:#087d87;margin-bottom:10px}.login-access h2{font-size:1.8rem;letter-spacing:-.04em;color:#000;line-height:1.2;margin:0 0 12px}.login-description{font-size:.9rem;line-height:1.6;color:#000;margin-bottom:26px}.login-access label{font-size:.8rem;color:#000;margin-bottom:18px}.login-access input{background:#f8fbfc;border:1px solid #d4e3eb;border-radius:10px;padding:15px;margin-top:8px;font-size:.95rem}.login-access button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 18px;border-radius:10px;background:#087d87;font-size:.94rem}.login-access button span{font-size:1.2rem}.login-help{display:flex;gap:9px;border-top:1px solid #e7eef2;margin-top:25px;padding-top:18px}.login-help>span{color:#000;font-size:1.1rem}.login-help p{font-size:.72rem;color:#000;line-height:1.6;margin:0}.login-copyright{font-size:.62rem;color:#d4e7ef;text-align:center;margin:24px 0 0;line-height:1.5}.login-copyright strong{font-weight:600;letter-spacing:.025em}@media(max-width:850px){.login-page{grid-template-columns:1fr}.login-intro{padding:24px;gap:20px}.login-product{font-size:1.2rem}.login-cross{width:40px;height:40px;font-size:1.5rem}.login-intro-copy{display:none}.login-maker{position:absolute;right:24px;top:22px}.login-maker img{width:78px;height:45px}.login-maker>span{display:none}.login-access{padding:28px 20px;justify-content:start}.login-access-card{padding:26px;max-width:440px}.login-access-icon{margin-bottom:18px}.login-access h2{font-size:1.65rem}.login-description{margin-bottom:22px}}@media(max-height:650px) and (min-width:851px){.login-intro{padding-top:28px;padding-bottom:28px;gap:20px}.login-intro h1{font-size:2.2rem}.login-intro-copy>p{margin-bottom:18px;font-size:.9rem}.login-features{gap:8px}.login-access{padding:22px}.login-access-card{padding:24px 28px}.login-access-icon{margin-bottom:16px}.login-help{margin-top:18px;padding-top:14px}.login-copyright{margin-top:14px}}
.login-settings{margin-bottom:16px}.login-image-preview{display:block;max-width:320px;width:100%;max-height:180px;object-fit:cover;border-radius:10px;margin:12px 0 18px}.hospital-access .login-intro{isolation:isolate}.login-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hospital-access .login-intro:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#04374ee8 0%,#04374e8c 45%,#032c43e6 100%);z-index:-1}.hospital-access .login-product{align-items:flex-start;font-size:clamp(1.25rem,2vw,2rem);text-transform:uppercase;line-height:1.15;letter-spacing:-.015em}.hospital-access .login-product>span:last-child{overflow-wrap:anywhere}.hospital-access .login-product small{font-size:.58rem;font-weight:400;letter-spacing:.14em;line-height:1.5;margin-top:12px}.login-unit-logo{width:64px;height:64px;object-fit:contain;flex-shrink:0}.hospital-access .login-intro-copy h1{font-size:clamp(1.8rem,2.8vw,3.1rem)}.hospital-access .login-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hospital-access .login-features>span{flex-direction:column;align-items:flex-start;gap:8px;font-size:.75rem}.hospital-access .login-access-icon{font-size:1.5rem}.hospital-access .login-copyright{max-width:410px}@media(max-width:850px){.hospital-access .login-product{font-size:1.15rem;align-items:center}.hospital-access .login-product small{font-size:.53rem;margin-top:6px}.hospital-access .login-intro{min-height:150px;padding:24px}.hospital-access .login-features{display:none}.login-unit-logo{width:48px;height:48px}}
.justification-dialog{box-sizing:border-box;width:min(510px,calc(100vw - 32px));max-width:none;padding:26px;border:1px solid #d4e3e9;border-radius:18px;background:#fff;color:#000;box-shadow:0 22px 80px #10364635;max-height:calc(100dvh - 40px);overflow-y:auto}.justification-dialog::backdrop{background:#102f4666;backdrop-filter:blur(3px)}.justification-dialog form{margin:0}.justification-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:24px}.justification-symbol{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:12px;border:1px solid #f4dfaf;background:#fff5dd;color:#a7731b;font-size:1.35rem;font-weight:700}.justification-dialog .justification-heading h2{margin:0 0 7px;font-size:1.3rem;line-height:1.25;letter-spacing:-.025em;color:#000}.justification-heading p{font-size:.86rem;line-height:1.5;color:#000;margin:0}.justification-dialog label{display:block!important;text-align:left;font-size:.86rem;font-weight:650;line-height:1.4;color:#000;margin:0 0 8px!important}.justification-dialog textarea{box-sizing:border-box;display:block;width:100%;min-height:115px;resize:vertical;padding:12px 14px;margin:0;border:1px solid #cbdde5;border-radius:10px;font:inherit;font-size:.92rem;line-height:1.5;background:#f8fbfc;color:#000}.justification-dialog textarea::placeholder{color:#000}.justification-dialog textarea:focus{outline:3px solid #77cbd431;border-color:#279eac}.justification-dialog .justification-help{font-size:.72rem;color:#000;line-height:1.5;margin:9px 0 22px}.justification-dialog .justification-actions{justify-content:flex-end;gap:10px;padding-top:16px;border-top:1px solid #e7eef2}.justification-dialog .justification-actions button{padding:12px 18px;font-size:.88rem;min-height:44px;border-radius:9px}.justification-dialog .justification-actions .quiet{background:#edf3f6;color:#000}@media(max-width:480px){.justification-dialog{padding:20px}.justification-dialog .justification-heading h2{font-size:1.15rem}.justification-dialog .justification-actions button{flex:1}}

/* Card de identificação: avaliação inicial no perfil de enfermagem. */
.shell main>header.nursing-heading-card{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:22px 26px 22px 92px;min-height:106px;box-sizing:border-box;border:1px solid #cce5e9;border-left:4px solid #1394a1;border-radius:16px;background:linear-gradient(112deg,#e9f8f8 0%,#f8fcfd 64%,#edf5fb 100%);box-shadow:0 5px 18px #234e6508;overflow:hidden}.shell main>header.nursing-heading-card:before{content:'✚';position:absolute;left:23px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:48px;border:1px solid #c6e6e8;border-radius:14px;background:#d6eff0;color:#078393;font-size:27px}.nursing-heading-card .eyebrow{margin:0 0 7px;color:#000;font-size:.68rem;letter-spacing:.14em;font-weight:700}.shell main>header.nursing-heading-card h1{margin:0;color:#000;font-size:clamp(1.35rem,2.25vw,1.9rem);line-height:1.2;letter-spacing:-.035em;overflow-wrap:anywhere}.shell main>header.nursing-heading-card .today{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #d4e4ee;border-radius:10px;background:#ffffffc9;color:#000;font-size:.8rem;white-space:nowrap}.nursing-heading-card .today:before{content:'◷';font-size:1.05rem;color:#118e9c}@media(max-width:650px){.shell main>header.nursing-heading-card{padding:18px 16px 18px 72px;gap:12px;flex-wrap:wrap;min-height:96px}.shell main>header.nursing-heading-card:before{left:15px;width:40px;height:40px;font-size:23px}.shell main>header.nursing-heading-card .today{padding:6px 10px;font-size:.72rem}.shell main>header.nursing-heading-card h1{font-size:1.35rem}}

/* Contraste dos campos de pesquisa e cadastro. */
.shell input::placeholder,.shell textarea::placeholder,.login input::placeholder,.justification-dialog textarea::placeholder{color:#000;opacity:1}
/* Menu lateral: letras pretas sobre superfície clara. */
.shell>aside{background:#f2f7f8;color:#000;border-right:1px solid #d5e2e7}
.shell>aside .brand,.shell>aside .unit,.shell>aside .aside-bottom,.shell>aside .aside-bottom strong,.shell>aside .aside-bottom span,.shell>aside small,.shell>aside #connection,.shell>aside nav button,.shell>aside nav a{color:#000!important;opacity:1}
.shell>aside nav button,.shell>aside nav a{font-weight:600}
.shell>aside nav .active{background:#d0ecee;color:#000!important;box-shadow:inset 3px 0 #087d87}
.shell>aside nav button:hover,.shell>aside nav a:hover{background:#e0eef0;color:#000!important}
.shell>aside nav a{border-color:#c6dce1}
.shell>aside #logout{color:#000!important;background:#e2ecef;border:1px solid #c5d8df;opacity:1}

/* Texto de leitura em preto nas áreas claras de todos os perfis. */
.shell main{color:#000}.shell main h1,.shell main h2,.shell main h3,.shell main label,.shell main th,.shell main td,.shell main input,.shell main select,.shell main textarea,.shell main .today,.shell main .empty,.shell main .own-queue-count,.justification-dialog label,.justification-dialog textarea,.justification-dialog .justification-help{color:#000}
.shell input::placeholder,.shell textarea::placeholder,.login input::placeholder,.justification-dialog textarea::placeholder{color:#000;opacity:1}

/* Acabamento: texto secundário sem cinza ou transparência. */
.shell main .card-intro,.shell main .search-hint,.shell main .report-note,.shell main .classification-note,.shell main .queue-order-note,.shell main .queue-row-actions small,.shell main .patient-identification small,.shell main .developer-credit,.shell main .developer-label,.shell main .admin-unit,.shell main .today,.shell main .queue-metric small,.shell main .queue-table th,.login-description,.login-help p,.login-help>span,.login-maker>span,.login .login-credit,.hospital-access .login-copyright{color:#000!important;opacity:1!important}
.shell>aside .nav-label,.shell>aside .developer-credit,.shell>aside .developer-label,.shell>aside .admin-unit{color:#000!important;opacity:1!important}
/* Menu lateral em tons de verde. */
.shell>aside{background:linear-gradient(180deg,#edf7ee 0%,#e1f0e5 100%);border-right:1px solid #bdd9c5;color:#000}
.shell>aside .brand{color:#17623b!important}
.shell>aside nav button,.shell>aside nav a{color:#000!important;border-radius:10px}
.shell>aside nav .active,.shell>aside nav .active:hover{background:#b9dfc4;color:#000!important;box-shadow:inset 4px 0 #217a46;border:1px solid #a0ccae}
.shell>aside nav button:hover,.shell>aside nav a:hover{background:#d0e8d7;color:#000!important}
.shell>aside nav a{border-color:#b8d5c1}
.shell>aside #logout{background:#d1e7d8;border:1px solid #aacbb5;color:#000!important}
.shell>aside #logout:hover{background:#bbdcca}
.shell>aside .aside-bottom{border-top:1px solid #bdd9c5}
/* Tipografia mais leve nos nomes e acessos das equipes. */
.shell>aside nav button,.shell>aside nav a{font-family:'Segoe UI',Arial,sans-serif;font-weight:400;letter-spacing:0;line-height:1.4}
.shell>aside nav .active{font-weight:500}
.shell>aside .unit,.shell>aside .nav-label{font-weight:400;letter-spacing:.02em}
.shell main>header h1,.shell main>header.nursing-heading-card h1{font-family:'Segoe UI',Arial,sans-serif;font-weight:600;letter-spacing:-.02em}

.tv-current .call-ticket-code,.call-highlight .call-ticket-code{display:inline-flex;align-items:center;align-self:flex-start;gap:9px;padding:5px 12px;margin:0 0 10px;border:1px solid #4cb9b8;border-radius:8px;background:#103d4c;color:#fff;font-size:clamp(.9rem,1.4vw,1.25rem);line-height:1.2}.call-ticket-code strong{font-weight:700}.call-highlight .call-ticket-code{align-self:center;margin:0 0 18px;font-size:clamp(1.2rem,2vw,2rem)}

.patient-fields .required-marker{font-weight:600;color:#000}.patient-field-age input{background:#f0f6f2;color:#000}.patient-field-ethnicity{min-width:0}

#login-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}#login-settings>label:first-child{grid-column:1/-1}.institution-location{display:block;color:#000;margin-top:7px;font-size:.8rem;line-height:1.4}.municipal-brand strong{overflow-wrap:anywhere}.municipal-brand small:empty,.hospital-brand small:empty{display:none}@media(max-width:650px){#login-settings{grid-template-columns:1fr}}

.shell>aside .unit{display:block;font-size:.85rem;line-height:1.4;overflow-wrap:anywhere}.shell>aside .unit .developer-label{display:none}.shell>aside .institution-location{font-size:.75rem}.municipal-brand>div{min-width:0}

.license-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.license-facts>div:first-child{grid-column:1/-1}.license-install-id{font:600 .9rem Consolas,monospace;overflow-wrap:anywhere}.license-facts small{color:#000;margin-bottom:5px}#unit-license textarea{display:block;width:100%;border:1px solid #adcbb5;border-radius:8px;padding:12px;font:12px Consolas,monospace;color:#000}.license-banner{background:#fff0cc;border:1px solid #dbbd68;border-radius:9px;padding:12px 16px;margin-bottom:15px;color:#000}.license-banner[hidden]{display:none}

/* Cadastro: filiação e campos condicionais */
.parent-patient-field{display:flex;flex-direction:column;gap:5px}.parent-patient-field>label:first-child{display:flex;flex-direction:column;gap:6px}.parent-patient-field .parent-unknown{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:400}.parent-unknown input[type=checkbox]{width:14px;height:14px;min-height:0;margin:0;accent-color:#00766b}.patient-field-ethnicity[hidden]{display:none!important}.patient-fields input:disabled{background:#edf3f1;color:#33443e}

/* Falta ao chamado: decisão da recepção */
.reception-absence-alert{display:flex;align-items:center;gap:6px;margin-top:5px;color:#9a3b10;font-size:12px;font-weight:600}.absence-blink-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#a6470c;color:#fff;font-weight:700;animation:absence-attention 1.6s ease-in-out infinite}.reception-row-actions{display:flex;flex-wrap:wrap;gap:5px;min-width:130px;max-width:230px}.withdraw-button{background:#fff1f0;color:#9b1c25;border:1px solid #e5b5b6}.withdraw-button:hover{background:#fce0df;color:#7c1019}.reception-pending-note{font-size:12px;color:#7c4418}.reception-decision-dialog h2{margin-top:0}.reception-decision-error{color:#9b1c25}.reception-decision-dialog label{display:flex;flex-direction:column;gap:6px}.reception-decision-dialog select{width:100%}@keyframes absence-attention{0%,100%{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.absence-blink-icon{animation:none;outline:2px solid #edb875;outline-offset:2px}}

.existing-attendance-notice{margin:12px 0;padding:12px 15px;border:1px solid #9fcbbc;border-radius:10px;background:#edf8f3;color:#153e30}.existing-attendance-notice p{margin:6px 0;font-size:13px}

.reception-workspace #register[hidden]{display:none!important}
