/*
 * Tecnoinfo - visual do ServiceDesk (osTicket) alinhado ao site.
 * Carregado pela camada externa (servicedesk-tema/injetor.php). Nao edita arquivos do osTicket:
 * atualizacoes do osTicket mantem este visual.
 */

@font-face{font-family:"Red Hat Display";font-style:normal;font-display:swap;font-weight:300 900;src:url(fonts/red-hat-display-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Red Hat Display";font-style:normal;font-display:swap;font-weight:300 900;src:url(fonts/red-hat-display-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Red Hat Text";font-style:normal;font-display:swap;font-weight:300 700;src:url(fonts/red-hat-text-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Red Hat Text";font-style:normal;font-display:swap;font-weight:300 700;src:url(fonts/red-hat-text-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --tnf-navy-950:#051525;--tnf-navy-900:#071b2f;--tnf-navy-800:#0b2640;--tnf-navy-700:#123558;
  --tnf-blue:#0098da;--tnf-blue-600:#007bb5;--tnf-blue-700:#006a9e;--tnf-sky:#7fd0f5;--tnf-sky-50:#eaf5fb;
  --tnf-ink:#0f1d2c;--tnf-ink-2:#435365;--tnf-ink-3:#5f6e7e;
  --tnf-line:#dde5ec;--tnf-line-2:#c9d5df;--tnf-bg-alt:#f3f6f9;
  --tnf-wa:#1f9e55;--tnf-wa-600:#17844a;
  --tnf-ok:#1e7a46;--tnf-ok-bg:#eaf6ef;--tnf-warn:#8a5a00;--tnf-warn-bg:#fff6e0;--tnf-err:#b42318;--tnf-err-bg:#fdecea;
  --tnf-wrap:1200px;--tnf-gut:28px;--tnf-radius:8px;
  --tnf-f-head:"Red Hat Display","Segoe UI",Arial,sans-serif;
  --tnf-f-body:"Red Hat Text","Segoe UI",Arial,sans-serif;
  --tnf-shadow:0 1px 2px rgba(7,27,47,.06),0 8px 24px rgba(7,27,47,.08);
  --tnf-shadow-lg:0 2px 4px rgba(7,27,47,.06),0 18px 48px rgba(7,27,47,.14);
}

/* ======================================================================
   Base da area do cliente
   ====================================================================== */
body.tnf-sd{margin:0;background:var(--tnf-bg-alt);color:var(--tnf-ink);font:400 16px/1.55 var(--tnf-f-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body.tnf-sd input,body.tnf-sd select,body.tnf-sd textarea,body.tnf-sd button{font-family:var(--tnf-f-body);color:var(--tnf-ink)}
body.tnf-sd a,body.tnf-sd .link{color:var(--tnf-blue-700);text-decoration:none;margin:0}
body.tnf-sd a:hover,body.tnf-sd .link:hover{border-bottom:0;margin:0;text-decoration:underline}
body.tnf-sd h1,body.tnf-sd h2,body.tnf-sd h3,body.tnf-sd h4{font-family:var(--tnf-f-head);color:var(--tnf-ink);letter-spacing:-.01em;margin:0}
.tnf-ic{width:18px;height:18px;flex:none}
body.tnf-sd .tnf-sprite{display:none}
.tnf-wrap{max-width:var(--tnf-wrap);margin:0 auto;padding:0 var(--tnf-gut);box-sizing:border-box}
.tnf-skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--tnf-ink);padding:12px 18px;z-index:200}
.tnf-skip:focus{left:12px;top:12px}
body.tnf-sd *:focus-visible{outline:3px solid rgba(0,152,218,.45);outline-offset:2px}

/* botoes do site */
.tnf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:6px;border:2px solid transparent;font:700 1rem/1 var(--tnf-f-head);letter-spacing:.01em;text-decoration:none!important;cursor:pointer;transition:background .18s,border-color .18s,color .18s;box-sizing:border-box}
.tnf-btn-primary,body.tnf-sd .tnf-btn-primary{background:var(--tnf-blue-600);color:#fff}
.tnf-btn-primary:hover,body.tnf-sd .tnf-btn-primary:hover{background:var(--tnf-blue-700);color:#fff}
.tnf-eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 .8rem/1.4 var(--tnf-f-head);letter-spacing:.12em;text-transform:uppercase;color:var(--tnf-blue-700);margin-bottom:14px}
.tnf-eyebrow::before{content:"";width:28px;height:2px;background:currentColor;display:block}

/* ---------- barra superior ---------- */
.tnf-topbar{background:var(--tnf-navy-950);color:#b9c6d3;font-size:.86rem}
.tnf-topbar .tnf-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:42px}
body.tnf-sd .tnf-topbar a{color:#dbe6f0;text-decoration:none;display:inline-flex;align-items:center;gap:7px}
body.tnf-sd .tnf-topbar a:hover{color:#fff;text-decoration:none}
.tnf-topbar .tnf-ic{width:15px;height:15px;color:var(--tnf-sky)}
.tnf-topbar-links{display:flex;align-items:center;gap:26px}
body.tnf-sd .tnf-topbar .tnf-client{font-weight:600;color:#fff;padding-left:22px;border-left:1px solid #22384f}

/* ---------- cabecalho ---------- */
.tnf-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--tnf-line);transition:box-shadow .2s}
.tnf-header.scrolled{box-shadow:0 6px 20px rgba(7,27,47,.08)}
.tnf-header .tnf-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;height:84px}
body.tnf-sd .tnf-brand{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;line-height:1}
body.tnf-sd .tnf-brand:hover{text-decoration:none}
.tnf-brand .tnf-logo{height:42px;width:auto;display:block}
.tnf-brand small{font:500 .72rem/1 var(--tnf-f-body);color:var(--tnf-ink-3);letter-spacing:.02em;margin-top:6px;padding-left:2px}
.tnf-nav{display:flex;align-items:center;gap:30px}
body.tnf-sd .tnf-nav > a{color:var(--tnf-ink);text-decoration:none;font:600 .97rem/1 var(--tnf-f-head);position:relative;padding:8px 0}
.tnf-nav > a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--tnf-blue);transform:scaleX(0);transform-origin:left;transition:transform .2s}
body.tnf-sd .tnf-nav > a:hover{text-decoration:none}
.tnf-nav > a:hover::after{transform:scaleX(1)}
body.tnf-sd .tnf-nav .tnf-btn{min-height:46px;padding:0 20px;font-size:.95rem;color:#fff}
.tnf-nav > a.tnf-btn::after{display:none}
.tnf-menu-toggle{display:none;background:none;border:0;padding:10px;margin-right:-10px;color:var(--tnf-ink);cursor:pointer}
.tnf-menu-toggle .tnf-ic{width:28px;height:28px}

/* ---------- faixa de titulo ---------- */
.tnf-hero{background:var(--tnf-navy-800);color:#c5d2de;position:relative;overflow:hidden;padding:56px 0 132px}
.tnf-hero::after{content:"";position:absolute;right:-8%;top:-60%;width:42%;height:220%;border-radius:50% 0 0 50%/50% 0 0 50%;border:1px solid rgba(127,208,245,.16);pointer-events:none}
.tnf-hero::before{content:"";position:absolute;right:-2%;top:-40%;width:30%;height:180%;border-radius:50% 0 0 50%/50% 0 0 50%;border:1px solid rgba(127,208,245,.08);pointer-events:none}
.tnf-hero .tnf-wrap{position:relative;z-index:1}
.tnf-hero .tnf-eyebrow{color:var(--tnf-sky)}
body.tnf-sd .tnf-hero h1{color:#fff;font-weight:800;font-size:clamp(2rem,4vw,3rem);line-height:1.08;max-width:20em}
.tnf-hero p{margin:16px 0 0;max-width:40em;font-size:1.1rem;line-height:1.6;color:#c5d2de}
.tnf-crumbs{font-size:.88rem;color:#93a6b8;margin-bottom:22px}
body.tnf-sd .tnf-crumbs a{color:#c5d2de}
body.tnf-sd .tnf-crumbs a:hover{color:#fff}

/* ======================================================================
   Estrutura do osTicket (#container, #header, #nav, #content)
   ====================================================================== */
body.tnf-sd #container{box-sizing:border-box;width:auto;max-width:calc(var(--tnf-wrap) - 2 * var(--tnf-gut));margin:-92px auto 80px;background:#fff;border-radius:14px;box-shadow:var(--tnf-shadow-lg);position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:hidden}
body.tnf-sd #container > .error_bar,body.tnf-sd #container > .warning_bar,body.tnf-sd #container > .notice_bar{grid-column:1 / -1;grid-row:1;margin:0;padding:14px 40px;font-size:.95rem;border:0;border-bottom:1px solid var(--tnf-line)}
body.tnf-sd #container > .error_bar{background:var(--tnf-err-bg);color:var(--tnf-err)}
body.tnf-sd #container > .warning_bar{background:var(--tnf-warn-bg);color:var(--tnf-warn)}
body.tnf-sd #container > .notice_bar{background:var(--tnf-ok-bg);color:var(--tnf-ok)}
body.tnf-sd #container > .clear{display:none}
body.tnf-sd #container > hr{grid-column:1 / -1;grid-row:2;margin:0;border:0;border-top:1px solid var(--tnf-line)}

/* abas do portal */
body.tnf-sd #nav{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;align-items:stretch;gap:4px 30px;margin:0;padding:0 40px;height:auto;min-height:64px;background:#fff;border:0;border-bottom:1px solid var(--tnf-line);box-shadow:none;list-style:none;box-sizing:border-box}
body.tnf-sd #nav li{display:flex;margin:0;padding:0;list-style:none}
body.tnf-sd #nav li a{display:inline-flex;align-items:center;height:auto;min-height:64px;line-height:1.2;padding:0;margin:0;border-radius:0;background:none!important;color:var(--tnf-ink-2);font:600 .98rem/1.2 var(--tnf-f-head);border-bottom:3px solid transparent;box-sizing:border-box;text-decoration:none}
body.tnf-sd #nav li a:hover{color:var(--tnf-ink);background:none;text-decoration:none;border-bottom-color:var(--tnf-line-2)}
body.tnf-sd #nav li a.active{color:var(--tnf-ink);border-bottom-color:var(--tnf-blue)}

/* usuario (Entrar / Perfil / Sair) */
body.tnf-sd #header{grid-column:2;grid-row:2;height:auto;padding:0 40px 0 12px;display:flex;align-items:center;justify-content:flex-end;background:#fff;border-bottom:1px solid var(--tnf-line);position:static}
body.tnf-sd #header #logo{display:none}
body.tnf-sd #header .pull-right{float:none;text-align:right}
body.tnf-sd #header p{width:auto;margin:0;padding:0;font-size:.95rem;color:var(--tnf-ink-2);line-height:1.4}
body.tnf-sd #header p:empty,body.tnf-sd #header p + p:not(:has(a)){display:none}
body.tnf-sd #header p a{font-weight:600}
body.tnf-sd .tnf-usuario{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--tnf-ink);margin-right:4px;vertical-align:middle}
body.tnf-sd .tnf-usuario .tnf-ic{width:18px;height:18px;color:var(--tnf-blue-600)}
body.tnf-sd #header p a.tnf-usuario-link{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;margin-left:8px;border:1.5px solid var(--tnf-line-2);border-radius:999px;color:var(--tnf-ink);font:700 .88rem/1 var(--tnf-f-head);vertical-align:middle}
body.tnf-sd #header p a.tnf-usuario-link:hover{border-color:var(--tnf-blue-600);color:var(--tnf-blue-700);text-decoration:none}
body.tnf-sd #header p a.tnf-sair{color:var(--tnf-ink-3)}
body.tnf-sd.tnf-visitante #header p a[href*="login.php"]{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1.5px solid var(--tnf-line-2);border-radius:6px;color:var(--tnf-ink);font:700 .92rem/1 var(--tnf-f-head)}
body.tnf-sd.tnf-visitante #header p a[href*="login.php"]:hover{border-color:var(--tnf-blue-600);color:var(--tnf-blue-700);text-decoration:none}

/* conteudo */
body.tnf-sd #content{grid-column:1 / -1;grid-row:3;margin:0;padding:40px 40px 48px;min-height:0;min-width:0;height:auto!important;box-sizing:border-box}
body.tnf-sd #content > h1:first-child,body.tnf-sd #content > h1{font-size:1.55rem;font-weight:800;color:var(--tnf-ink);margin:0 0 10px;line-height:1.2}
body.tnf-sd #content h2{font-size:1.25rem;font-weight:800;margin:0 0 10px}
body.tnf-sd #content h3{font-size:1.08rem;font-weight:700;margin:0 0 6px}
body.tnf-sd #content p{margin:0 0 14px;color:var(--tnf-ink-2)}
body.tnf-sd #content hr{border:0;border-top:1px solid var(--tnf-line);margin:22px 0}
body.tnf-sd #content > br{display:none}
body.tnf-sd .faded{color:var(--tnf-ink-3)}

/* titulo repetido: a faixa superior ja mostra o nome da pagina */
body.tnf-sd-entrar #content > h1:first-of-type,
body.tnf-sd-consultar #content > h1:first-of-type,
body.tnf-sd-senha #content > h1:first-of-type,
body.tnf-sd-abrir #content > h1:first-of-type,
body.tnf-sd-perfil #content > h1:first-of-type{display:none}
body.tnf-sd-entrar #content > h1:first-of-type + p,
body.tnf-visitante.tnf-sd-abrir #content > h1:first-of-type + p{display:none}

/* ======================================================================
   Mensagens
   ====================================================================== */
body.tnf-sd #msg_notice,body.tnf-sd #msg_warning,body.tnf-sd #msg_error,body.tnf-sd #msg_info,body.tnf-sd .warning-banner,body.tnf-sd .notice-banner,body.tnf-sd .error-banner,body.tnf-sd .info-banner{height:auto;line-height:1.5;margin:0 0 22px;padding:14px 18px;border:0;border-left:4px solid;border-radius:6px;background-image:none;font-size:.97rem}
body.tnf-sd #msg_notice,body.tnf-sd .notice-banner{background:var(--tnf-ok-bg);border-color:var(--tnf-ok);color:var(--tnf-ok)}
body.tnf-sd #msg_warning,body.tnf-sd .warning-banner{background:var(--tnf-warn-bg);border-color:#d69a00;color:var(--tnf-warn)}
body.tnf-sd #msg_error,body.tnf-sd .error-banner{background:var(--tnf-err-bg);border-color:var(--tnf-err);color:var(--tnf-err)}
body.tnf-sd #msg_info,body.tnf-sd .info-banner{background:var(--tnf-sky-50);border-color:var(--tnf-blue);color:var(--tnf-navy-700)}
body.tnf-sd #msg_info .icon-2x{display:none}
body.tnf-sd .error,body.tnf-sd font.error{color:var(--tnf-err);font-size:.9rem}

/* ======================================================================
   Campos e botoes
   ====================================================================== */
body.tnf-sd #content input[type=text],body.tnf-sd #content input[type=email],body.tnf-sd #content input[type=password],
body.tnf-sd #content input[type=tel],body.tnf-sd #content input[type=number],body.tnf-sd #content input[type=date],
body.tnf-sd #content input[type=datetime-local],body.tnf-sd #content input[type=search],body.tnf-sd #content input:not([type]),
body.tnf-sd #content select,body.tnf-sd #content textarea{box-sizing:border-box;max-width:100%;min-height:48px;padding:10px 14px;border:1.5px solid var(--tnf-line-2);border-radius:6px;background:#fff;font:400 1rem/1.4 var(--tnf-f-body);color:var(--tnf-ink);box-shadow:none;transition:border-color .15s,box-shadow .15s}
body.tnf-sd #content textarea{min-height:140px;width:100%}
body.tnf-sd #content select{padding-right:36px;appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23435365' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center}
body.tnf-sd #content input:focus,body.tnf-sd #content select:focus,body.tnf-sd #content textarea:focus{outline:0;border-color:var(--tnf-blue-600);box-shadow:0 0 0 4px rgba(0,152,218,.15)}
body.tnf-sd #content input::placeholder,body.tnf-sd #content textarea::placeholder{color:#8795a3}
body.tnf-sd #content label{font-weight:600;color:var(--tnf-ink);font-size:.95rem}
body.tnf-sd #content em{color:var(--tnf-ink-3);font-style:normal;font-size:.92rem}
body.tnf-sd #content input[type=checkbox],body.tnf-sd #content input[type=radio]{width:18px;height:18px;accent-color:var(--tnf-blue-600);vertical-align:-3px;margin-right:6px}

body.tnf-sd #content input[type=submit],body.tnf-sd #content button[type=submit],body.tnf-sd #content .btn,body.tnf-sd #content button.button,
body.tnf-sd #content input[type=button],body.tnf-sd #content input[type=reset],body.tnf-sd #content button:not([type]),
body.tnf-sd #content a.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;margin:0 8px 8px 0;border-radius:6px;border:2px solid var(--tnf-blue-600);background:var(--tnf-blue-600);color:#fff;font:700 1rem/1 var(--tnf-f-head);letter-spacing:.01em;cursor:pointer;box-shadow:none;text-shadow:none;width:auto;max-width:none;transition:background .18s,border-color .18s,color .18s;-webkit-appearance:none;appearance:none}
body.tnf-sd #content input[type=submit]:hover,body.tnf-sd #content button[type=submit]:hover,body.tnf-sd #content .btn:hover,body.tnf-sd #content button.button:hover,body.tnf-sd #content a.button:hover{background:var(--tnf-blue-700);border-color:var(--tnf-blue-700);color:#fff;text-decoration:none}
body.tnf-sd #content input[type=button],body.tnf-sd #content input[type=reset]{background:#fff;border-color:var(--tnf-line-2);color:var(--tnf-ink)}
body.tnf-sd #content input[type=button]:hover,body.tnf-sd #content input[type=reset]:hover{background:#fff;border-color:var(--tnf-ink);color:var(--tnf-ink)}
body.tnf-sd #content input[type=submit][disabled],body.tnf-sd #content button[disabled]{opacity:.65;cursor:wait}
body.tnf-sd #content p.buttons,body.tnf-sd #reply > p:last-of-type{text-align:left!important;margin:26px 0 0}

/* ======================================================================
   Pagina inicial nova
   ====================================================================== */
body.tnf-sd-inicio-novo #landing_page,body.tnf-sd-inicio-novo #landing_page + .clear,body.tnf-sd-inicio-novo #landing_page ~ div:empty{display:none}
.tnf-inicio{display:grid;gap:28px}
.tnf-acoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body.tnf-sd .tnf-acao{display:flex;flex-direction:column;gap:8px;padding:28px 26px;border:1px solid var(--tnf-line);border-radius:12px;background:#fff;color:var(--tnf-ink);text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s}
body.tnf-sd .tnf-acao:hover{border-color:var(--tnf-blue);box-shadow:var(--tnf-shadow);transform:translateY(-2px);text-decoration:none}
.tnf-acao-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:var(--tnf-sky-50);color:var(--tnf-blue-700);margin-bottom:10px}
body.tnf-sd .tnf-acao-ic .tnf-ic{width:26px;height:26px}
.tnf-acao strong{font:800 1.2rem/1.25 var(--tnf-f-head)}
.tnf-acao-txt{color:var(--tnf-ink-2);font-size:.97rem;line-height:1.55;flex:1}
.tnf-acao-link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font:700 .98rem/1 var(--tnf-f-head);color:var(--tnf-blue-700)}
.tnf-acao-link .tnf-ic{width:18px;height:18px;transition:transform .18s}
.tnf-acao:hover .tnf-acao-link .tnf-ic{transform:translateX(3px)}
body.tnf-sd .tnf-acao-principal{background:var(--tnf-navy-800);border-color:var(--tnf-navy-800);color:#fff}
body.tnf-sd .tnf-acao-principal:hover{border-color:var(--tnf-blue)}
.tnf-acao-principal .tnf-acao-ic{background:rgba(127,208,245,.14);color:var(--tnf-sky)}
.tnf-acao-principal .tnf-acao-txt{color:#c5d2de}
.tnf-acao-principal .tnf-acao-link{color:var(--tnf-sky)}
.tnf-contato{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;padding:24px 26px;border-radius:12px;background:var(--tnf-bg-alt)}
body.tnf-sd .tnf-contato h2{font-size:1.15rem;margin:0 0 4px}
body.tnf-sd .tnf-contato p{margin:0;color:var(--tnf-ink-2)}
.tnf-contato-links{display:flex;flex-wrap:wrap;gap:10px}
body.tnf-sd .tnf-chip{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--tnf-line-2);border-radius:6px;padding:11px 16px;font:700 .92rem/1 var(--tnf-f-head);color:var(--tnf-ink);text-decoration:none;background:#fff}
body.tnf-sd .tnf-chip:hover{border-color:var(--tnf-blue-600);color:var(--tnf-blue-700);text-decoration:none}
.tnf-chip .tnf-ic{width:16px;height:16px}

/* ======================================================================
   Login, link de acesso e senha
   ====================================================================== */
body.tnf-sd #clientLogin{display:block;margin:6px 0 0;padding:0;border:0;border-radius:0;box-shadow:none;background:none}
body.tnf-sd #clientLogin > div[style*="table-row"]{display:grid!important;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:40px;align-items:start}
body.tnf-sd #clientLogin .login-box{display:block;width:auto;padding:28px;border:1px solid var(--tnf-line);border-radius:12px;box-shadow:none;background:#fff}
body.tnf-sd #clientLogin .login-box > div{margin:0 0 14px}
body.tnf-sd #clientLogin .login-box input[type=text],body.tnf-sd #clientLogin .login-box input[type=password]{display:block;width:100%;margin:6px 0 0}
body.tnf-sd #clientLogin .login-box label{display:block}
body.tnf-sd #clientLogin .login-box p{margin:6px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
body.tnf-sd #clientLogin .login-box p input[type=submit]{margin:0;min-width:160px}
body.tnf-sd #clientLogin .login-box p a{padding:0!important;font-weight:600}
body.tnf-sd #clientLogin strong{display:block;font-size:.92rem;color:var(--tnf-err);font-weight:600}
body.tnf-sd #clientLogin strong:empty,body.tnf-sd #clientLogin div:has(> strong:empty):not(.login-box){display:none}
body.tnf-sd #clientLogin .login-box > strong:empty{display:none}
body.tnf-sd #clientLogin > div[style*="table-row"] > div:not(.login-box):not(.instructions){display:none!important}
body.tnf-sd #clientLogin .instructions{display:block;padding:24px 26px;border-radius:12px;background:var(--tnf-bg-alt);color:var(--tnf-ink-2);line-height:1.6}
body.tnf-sd #clientLogin .instructions a{font-weight:700}
body.tnf-sd .tnf-login-ajuda p{margin:0 0 12px;color:var(--tnf-ink-2)}
body.tnf-sd .tnf-login-ajuda p:last-child{margin:0}
body.tnf-sd .tnf-login-ajuda strong{display:block;color:var(--tnf-ink)!important;font:700 1rem/1.3 var(--tnf-f-head)!important;margin:0 0 4px}
body.tnf-sd-entrar #clientLogin ~ p,body.tnf-visitante.tnf-sd-abrir #clientLogin ~ p,body.tnf-sd-consultar #clientLogin ~ p{display:none}
body.tnf-sd-consultar #content > h1:first-of-type + p{display:none}
.tnf-nw{white-space:nowrap}
body.tnf-sd #clientLogin + br + p,body.tnf-sd #clientLogin ~ p{margin:26px 0 0;padding-top:18px;border-top:1px solid var(--tnf-line);font-size:.95rem;color:var(--tnf-ink-3)}
body.tnf-sd-senha #clientLogin > div[style*="width:50%"]{display:block!important;width:auto!important;max-width:440px;padding:28px;border:1px solid var(--tnf-line);border-radius:12px}
body.tnf-sd-senha #clientLogin > div > strong{color:var(--tnf-ink);font-size:1rem;margin-bottom:12px}
body.tnf-sd-senha #clientLogin > div > br{display:none}
body.tnf-sd-senha #clientLogin input[type=text]{width:100%;margin-top:6px}

/* ======================================================================
   Abrir chamado (formulario)
   ====================================================================== */
body.tnf-sd #ticketForm{max-width:860px}
body.tnf-sd #ticketForm > table{width:100%!important;table-layout:auto;border-collapse:collapse}
body.tnf-sd #ticketForm > table > tbody > tr > td{display:block;width:auto!important;padding:6px 0!important;border:0}
body.tnf-sd #ticketForm > table > tbody:first-child > tr > td{display:table-cell;padding:4px 18px 4px 0!important;color:var(--tnf-ink-2)}
body.tnf-sd #ticketForm > table > tbody:first-child > tr > td:first-child{width:1%!important;font-weight:600;color:var(--tnf-ink);white-space:nowrap}
body.tnf-sd #ticketForm hr{margin:18px 0 12px}
body.tnf-sd #ticketForm .form-header b,body.tnf-sd #ticketForm .form-header h3{display:block;font:800 1.08rem/1.3 var(--tnf-f-head);color:var(--tnf-ink);margin:0 0 4px}
body.tnf-sd #ticketForm .form-header > div{color:var(--tnf-ink-3);font-size:.95rem}
body.tnf-sd #ticketForm label{display:block}
body.tnf-sd #ticketForm label > span.required,body.tnf-sd #ticketForm label > span{font-weight:600}
body.tnf-sd #ticketForm label br{display:none}
body.tnf-sd #ticketForm label input[type=text],body.tnf-sd #ticketForm label select,body.tnf-sd #ticketForm label textarea,body.tnf-sd #ticketForm td > input[type=text]{display:block;width:100%;margin-top:8px}
body.tnf-sd #ticketForm #topicId{width:100%;max-width:520px}
body.tnf-sd #ticketForm td > font.error{display:block;margin-top:6px}
body.tnf-sd #ticketForm .captchaRow td{display:flex!important;flex-wrap:wrap;align-items:center;gap:12px}
body.tnf-sd #ticketForm .captcha{float:none;margin:0;width:auto;height:auto;background:none}
body.tnf-sd #ticketForm .captcha img{display:block;border-radius:6px;border:1px solid var(--tnf-line)}
body.tnf-sd #ticketForm #captcha{width:140px}

/* editor de texto e anexos */
body.tnf-sd .redactor-box,body.tnf-sd .redactor-editor,body.tnf-sd .redactor-layer{border-radius:6px}
body.tnf-sd .redactor-box{border:1.5px solid var(--tnf-line-2)!important;margin-top:8px;overflow:hidden;background:#fff}
body.tnf-sd .redactor-toolbar{background:var(--tnf-bg-alt);box-shadow:none;border-bottom:1px solid var(--tnf-line)}
body.tnf-sd .redactor-layer,body.tnf-sd .redactor-editor{border:0!important;font:400 1rem/1.6 var(--tnf-f-body);min-height:140px}
body.tnf-sd .filedrop .dropzone{border:1.5px dashed var(--tnf-line-2);border-radius:8px;background:var(--tnf-bg-alt);color:var(--tnf-ink-2);padding:14px 16px}
body.tnf-sd .filedrop .dropzone a{font-weight:700}

/* ======================================================================
   Meus chamados
   ====================================================================== */
body.tnf-sd .search.well{margin:0 0 22px;padding:18px 20px;border-radius:12px;background:var(--tnf-bg-alt)}
body.tnf-sd .search.well > .flush-left{display:block}
body.tnf-sd #ticketSearchForm{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
body.tnf-sd #ticketSearchForm input[type=text]{flex:1 1 260px;min-width:0}
body.tnf-sd #ticketSearchForm input[type=submit]{margin:0}
body.tnf-sd #ticketSearchForm .pull-right{float:none;margin-left:auto;display:flex;align-items:center;gap:10px;color:var(--tnf-ink-2);font-size:.95rem}
body.tnf-sd #content > h1[style]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px!important;font-size:1.35rem}
body.tnf-sd #content > h1 a{color:var(--tnf-ink)}
body.tnf-sd #content > h1 .refresh{font-size:.85em;color:var(--tnf-ink-3);margin-right:6px}
body.tnf-sd .states small{font:600 .95rem/1 var(--tnf-f-body);display:flex;align-items:center;gap:6px}
body.tnf-sd .states a.state{padding:8px 12px;border-radius:6px;color:var(--tnf-ink-2)}
body.tnf-sd .states a.state.active{background:var(--tnf-sky-50);color:var(--tnf-blue-700)}
body.tnf-sd .states a.state:hover{text-decoration:none;color:var(--tnf-ink)}
body.tnf-sd .states i,body.tnf-sd .states span{display:none}
body.tnf-sd #ticketTable{width:100%!important;border:1px solid var(--tnf-line);border-collapse:separate;border-spacing:0;border-radius:12px;overflow:hidden;font-size:.97rem}
body.tnf-sd #ticketTable caption{caption-side:top;text-align:left;padding:0 0 10px;background:none;border:0;color:var(--tnf-ink-3);font-weight:600;font-size:.9rem}
body.tnf-sd #ticketTable th{height:auto;line-height:1.3;padding:14px 16px;background:var(--tnf-bg-alt);border:0;border-bottom:1px solid var(--tnf-line);font-weight:700;color:var(--tnf-ink);white-space:nowrap}
body.tnf-sd #ticketTable th a{color:var(--tnf-ink);font:700 .9rem/1.3 var(--tnf-f-head)}
body.tnf-sd #ticketTable th i{color:var(--tnf-ink-3);font-size:.8em}
body.tnf-sd #ticketTable td{padding:14px 16px;border:0;border-bottom:1px solid var(--tnf-line);vertical-align:middle;color:var(--tnf-ink-2)}
body.tnf-sd #ticketTable tbody tr:last-child td{border-bottom:0}
body.tnf-sd #ticketTable tbody tr:hover td{background:#fafcfd}
body.tnf-sd #ticketTable td a.Icon{padding-left:0;background:none;font-weight:700;color:var(--tnf-blue-700)}
body.tnf-sd #ticketTable td .truncate{max-width:none!important;max-height:none!important;line-height:1.45}
body.tnf-sd #ticketTable td b{color:var(--tnf-ink)}
body.tnf-sd #ticketTable + div{margin-top:14px;color:var(--tnf-ink-3);font-size:.93rem}

/* ======================================================================
   Detalhes do chamado
   ====================================================================== */
body.tnf-sd #ticketInfo{width:100%!important;border-collapse:separate;border-spacing:0}
body.tnf-sd #ticketInfo > tbody > tr > td{padding:0 0 20px;vertical-align:top}
body.tnf-sd #ticketInfo > tbody > tr > td[width="50%"]:first-child{padding-right:10px}
body.tnf-sd #ticketInfo > tbody > tr > td[width="50%"] + td{padding-left:10px}
body.tnf-sd #ticketInfo h1{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:0 0 18px;margin:0;border-bottom:1px solid var(--tnf-line);font-size:1.45rem;font-weight:800;line-height:1.25;color:var(--tnf-ink)}
body.tnf-sd #ticketInfo h1 > a{color:var(--tnf-ink-3);font-size:.8em}
body.tnf-sd #ticketInfo h1 small{font:700 .95rem/1 var(--tnf-f-head);color:var(--tnf-blue-700);background:var(--tnf-sky-50);padding:6px 10px;border-radius:6px}
body.tnf-sd #ticketInfo h1 .pull-right{margin-left:auto;display:flex;gap:8px;float:none}
body.tnf-sd .action-button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border:1.5px solid var(--tnf-line-2);border-radius:6px;background:#fff;color:var(--tnf-ink)!important;font:700 .88rem/1 var(--tnf-f-head);text-decoration:none!important}
body.tnf-sd .action-button:hover{border-color:var(--tnf-blue-600);color:var(--tnf-blue-700)!important}
body.tnf-sd .infoTable{background:var(--tnf-bg-alt);border-radius:12px;border-collapse:separate;border-spacing:0;padding:8px 6px}
body.tnf-sd .infoTable .headline,body.tnf-sd table.custom-data .headline{background:none;border:0;padding:10px 12px 8px;font:800 .82rem/1.2 var(--tnf-f-head);letter-spacing:.08em;text-transform:uppercase;color:var(--tnf-blue-700)}
body.tnf-sd .infoTable th,body.tnf-sd table.custom-data th{padding:7px 12px;color:var(--tnf-ink-3);font-weight:600;font-size:.93rem;background:none;width:38%}
body.tnf-sd .infoTable td,body.tnf-sd table.custom-data td{padding:7px 12px;color:var(--tnf-ink);font-size:.97rem}
body.tnf-sd table.custom-data{background:var(--tnf-bg-alt);border-radius:12px;margin-top:0}

/* conversa */
body.tnf-sd #ticketThread{border:0;padding-top:6px}
body.tnf-sd #ticketThread::before{border-left:2px solid var(--tnf-line);margin-left:23px}
body.tnf-sd .thread-entry{margin-bottom:22px}
body.tnf-sd .thread-entry::before,body.tnf-sd .thread-entry::after{display:none}
body.tnf-sd .thread-entry > .avatar{width:44px;border-radius:50%;overflow:hidden}
body.tnf-sd .thread-entry > .avatar img{width:44px;height:44px;border-radius:50%;display:block}
body.tnf-sd .thread-entry .header{padding:12px 18px;border:1px solid var(--tnf-line);border-bottom:0;border-radius:12px 12px 0 0;font-size:.95rem;color:var(--tnf-ink-2)}
body.tnf-sd .thread-entry .header b{color:var(--tnf-ink)}
body.tnf-sd .thread-entry.message .header{background:var(--tnf-sky-50);border-color:#cfe6f3}
body.tnf-sd .thread-entry.response .header{background:var(--tnf-bg-alt)}
body.tnf-sd .thread-entry.note .header{background:var(--tnf-warn-bg)}
body.tnf-sd .thread-entry.avatar .header::before,body.tnf-sd .thread-entry.avatar .header::after{display:none}
body.tnf-sd .thread-entry .header .title{margin-left:10px}
body.tnf-sd .thread-entry .thread-body{font-family:var(--tnf-f-body);font-size:15px!important;overflow-wrap:anywhere;overflow-x:auto;padding:16px 18px;border:1px solid var(--tnf-line);border-top:0;border-radius:0 0 12px 12px;background:#fff;color:var(--tnf-ink);line-height:1.65}
body.tnf-sd .thread-entry.message .thread-body{border-color:#cfe6f3}
body.tnf-sd .thread-body .attachments{margin:14px -18px -16px;top:0;padding:12px 18px;background:var(--tnf-bg-alt);border-top:1px solid var(--tnf-line);border-radius:0 0 12px 12px}
body.tnf-sd .thread-body .attachments a{font-weight:600}
body.tnf-sd .thread-event{margin-left:60px;padding:0 2px 20px;color:var(--tnf-ink-3);font-size:.93rem}
body.tnf-sd .thread-event .type-icon::after{border-color:#fff}
body.tnf-sd .thread-event .description{width:auto}

/* responder */
body.tnf-sd #reply{margin-top:12px;padding:26px;border:1px solid var(--tnf-line);border-radius:12px;background:var(--tnf-bg-alt)}
body.tnf-sd #reply h2{margin:0 0 6px;padding:0;border:0;font-size:1.2rem}
body.tnf-sd #reply textarea{width:100%!important}

/* ======================================================================
   Perfil e demais formularios em tabela
   ====================================================================== */
body.tnf-sd #content form table:not(.infoTable):not(#ticketTable):not(.custom-data){width:100%!important;max-width:860px}
body.tnf-sd #content form table td{padding:6px 12px 6px 0;vertical-align:middle}

/* ======================================================================
   Carregando / camada de fundo do osTicket
   ====================================================================== */
body.tnf-sd #loading{border-radius:12px;border:0;box-shadow:var(--tnf-shadow-lg);font-family:var(--tnf-f-body)}
body.tnf-sd #loading h4{font-family:var(--tnf-f-head);color:var(--tnf-ink)}
body.tnf-sd > #footer{display:none}

/* ======================================================================
   Rodape e WhatsApp
   ====================================================================== */
.tnf-footer{background:var(--tnf-navy-950);color:#9fb0c1;font-size:.95rem;padding:72px 0 36px;line-height:1.55}
.tnf-footer-grid{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2.6fr));gap:48px;padding-bottom:48px;border-bottom:1px solid #1a2c3f}
.tnf-footer-brand .tnf-logo{height:40px;width:auto;margin-bottom:20px;display:block}
.tnf-footer-brand p{max-width:24em;margin:0 0 22px;color:#9fb0c1}
.tnf-social{display:flex;gap:10px}
body.tnf-sd .tnf-social a{width:40px;height:40px;border-radius:6px;border:1px solid #243a51;display:grid;place-items:center;color:#dbe6f0}
body.tnf-sd .tnf-social a:hover{background:#fff;color:var(--tnf-navy-900);border-color:#fff}
.tnf-social .tnf-ic{width:19px;height:19px}
body.tnf-sd .tnf-footer h4{font:700 .82rem/1 var(--tnf-f-head);letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:6px 0 20px}
.tnf-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
body.tnf-sd .tnf-footer a{color:#b9c6d3}
body.tnf-sd .tnf-footer a:hover{color:#fff;text-decoration:none}
.tnf-footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:28px;font-size:.88rem;color:#7d90a3}
body.tnf-sd .tnf-wa-float{position:fixed;right:24px;bottom:24px;z-index:120;display:flex;align-items:center;gap:10px;background:var(--tnf-wa);color:#fff;text-decoration:none;border-radius:40px;padding:0 20px 0 16px;height:56px;box-shadow:0 6px 18px rgba(0,0,0,.2);font:700 .95rem/1 var(--tnf-f-head);transition:background .18s,transform .18s}
body.tnf-sd .tnf-wa-float:hover{background:var(--tnf-wa-600);color:#fff;transform:translateY(-2px);text-decoration:none}
.tnf-wa-float .tnf-ic{width:26px;height:26px}

/* ======================================================================
   Responsivo
   ====================================================================== */
/* encerramento do chamado: bloco proprio depois da ultima conversa (montado pela camada externa) */
body.tnf-sd .tnf-enc{position:relative;z-index:1;margin:2px 0 22px 60px;background:#fff;border:1px solid #cfe5d7;border-radius:12px;box-shadow:var(--tnf-shadow);overflow:hidden}
body.tnf-sd .tnf-enc-topo{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--tnf-ok-bg);border-bottom:1px solid #cfe5d7}
body.tnf-sd .tnf-enc-ic{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--tnf-ok);color:#fff;display:inline-flex;align-items:center;justify-content:center}
body.tnf-sd .tnf-enc-ic svg{width:17px;height:17px;display:block}
body.tnf-sd .tnf-enc-tit{margin:0;font:700 1.12rem/1.25 var(--tnf-f-head);color:var(--tnf-ink)}
body.tnf-sd .tnf-enc-selo{margin-left:auto;padding:5px 12px;border-radius:999px;background:#fff;border:1px solid #b9dcc6;color:var(--tnf-ok);font:700 .82rem/1.3 var(--tnf-f-head);white-space:nowrap}
body.tnf-sd .tnf-enc-dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px 28px;margin:0;padding:16px 18px}
body.tnf-sd .tnf-enc-dados > div{min-width:0}
body.tnf-sd .tnf-enc-dados dt{padding:0;margin:0 0 4px;font:700 .72rem/1.3 var(--tnf-f-head);letter-spacing:.08em;text-transform:uppercase;color:var(--tnf-ink-3)}
body.tnf-sd .tnf-enc-dados dd{padding:0;margin:0;font-weight:600;color:var(--tnf-ink);overflow-wrap:anywhere}
body.tnf-sd .tnf-enc-msg{margin:0 18px;padding:14px 0 18px;border-top:1px solid var(--tnf-line)}
body.tnf-sd .tnf-enc-rotulo{margin:0 0 8px;font:700 .72rem/1.3 var(--tnf-f-head);letter-spacing:.08em;text-transform:uppercase;color:var(--tnf-ok)}
body.tnf-sd .tnf-enc .thread-entry,body.tnf-sd .tnf-enc .thread-entry.avatar,body.tnf-sd .tnf-enc .thread-entry.response.avatar{margin:0}
body.tnf-sd .tnf-enc .thread-entry > .avatar,body.tnf-sd .tnf-enc .thread-entry .header{display:none}
body.tnf-sd .tnf-enc .thread-entry .thread-body{padding:0;border:0;border-radius:0;background:none}
body.tnf-sd .tnf-enc .thread-body .attachments{margin:14px 0 0;border:1px solid var(--tnf-line);border-radius:10px}

@media (max-width:1120px){
  .tnf-nav{gap:22px}
  .tnf-topbar .tnf-hide-md{display:none}
  .tnf-footer-grid{grid-template-columns:1fr 1fr}
  .tnf-acoes{grid-template-columns:1fr 1fr}
  .tnf-acoes .tnf-acao-principal{grid-column:1 / -1}
}
@media (max-width:980px){
  .tnf-menu-toggle{display:block}
  .tnf-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--tnf-line);box-shadow:0 12px 24px rgba(7,27,47,.1);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--tnf-gut) 24px}
  .tnf-nav.open{display:flex}
  body.tnf-sd .tnf-nav > a{padding:16px 0;border-bottom:1px solid var(--tnf-line)}
  .tnf-nav > a::after{display:none}
  body.tnf-sd .tnf-nav .tnf-btn{margin-top:18px;min-height:52px}
  body.tnf-sd #container{grid-template-columns:minmax(0,1fr);margin-left:var(--tnf-gut);margin-right:var(--tnf-gut)}
  body.tnf-sd #header{grid-column:1;grid-row:2;justify-content:flex-start;padding:14px 28px;border-bottom:1px solid var(--tnf-line)}
  body.tnf-sd #header .pull-right{text-align:left}
  body.tnf-sd #nav{grid-row:3;padding:0 28px;gap:0 22px;overflow-x:auto;flex-wrap:nowrap}
  body.tnf-sd #nav li a{min-height:56px;white-space:nowrap}
  body.tnf-sd #content{grid-row:4;padding:32px 28px 40px}
  body.tnf-sd #clientLogin > div[style*="table-row"]{grid-template-columns:1fr;gap:20px}
}
@media (max-width:680px){
  .tnf-topbar{display:none}
  .tnf-header .tnf-wrap{height:72px}
  .tnf-brand .tnf-logo{height:36px}
  .tnf-brand small{display:none}
  .tnf-wrap{padding:0 16px}
  .tnf-hero{padding:40px 0 112px}
  .tnf-hero p{font-size:1.02rem}
  .tnf-crumbs{margin-bottom:16px}
  body.tnf-sd #container{margin:-80px 12px 56px;border-radius:12px}
  body.tnf-sd #header{padding:12px 18px}
  body.tnf-sd #nav{padding:0 18px}
  body.tnf-sd #content{padding:26px 18px 32px}
  .tnf-acoes{grid-template-columns:1fr}
  body.tnf-sd .tnf-acao{padding:22px 20px}
  .tnf-footer-grid{grid-template-columns:1fr}
  body.tnf-sd .tnf-wa-float span{display:none}
  body.tnf-sd .tnf-wa-float{padding:0;width:58px;height:58px;justify-content:center;border-radius:50%}
  body.tnf-sd #ticketTable{display:block;overflow-x:auto;white-space:nowrap}
  body.tnf-sd #ticketSearchForm .pull-right{flex-direction:column;align-items:stretch;width:100%;margin-left:0;gap:6px}
  body.tnf-sd #ticketSearchForm select{width:100%}
  body.tnf-sd #ticketSearchForm input[type=submit]{width:100%}
  body.tnf-sd #ticketInfo,body.tnf-sd #ticketInfo > tbody,body.tnf-sd #ticketInfo > tbody > tr,body.tnf-sd #ticketInfo > tbody > tr > td{display:block;width:auto!important}
  body.tnf-sd #ticketInfo > tbody > tr > td[width="50%"]{padding:0 0 14px!important}
  body.tnf-sd #ticketInfo h1{overflow-wrap:anywhere}
  body.tnf-sd .thread-entry .header .title{display:block;max-width:100%!important;margin:4px 0 0}
  body.tnf-sd #ticketInfo h1 .pull-right{margin-left:0}
  body.tnf-sd .thread-entry.avatar{margin-left:0}
  body.tnf-sd .thread-entry.response.avatar{margin-right:0}
  body.tnf-sd .thread-entry > .avatar{display:none}
  body.tnf-sd #ticketThread::before{display:none}
  body.tnf-sd .thread-event{margin-left:0}
  body.tnf-sd .tnf-enc{margin-left:0}
  body.tnf-sd .thread-body .attachment-info{display:block;width:auto;margin-right:0}
  body.tnf-sd .tnf-enc-topo{flex-wrap:wrap}
  body.tnf-sd #reply{padding:18px}
  body.tnf-sd #ticketForm > table > tbody:first-child > tr > td{display:block;padding:2px 0!important}
  body.tnf-sd #content input[type=submit],body.tnf-sd #content input[type=button],body.tnf-sd #content input[type=reset]{width:100%;margin-right:0}
  body.tnf-sd-perfil #content form table,body.tnf-sd-perfil #content form tbody,body.tnf-sd-perfil #content form tr,body.tnf-sd-perfil #content form td{display:block;width:auto!important;height:auto!important;box-sizing:border-box}
  body.tnf-sd-perfil #content form td{padding:4px 0!important}
  body.tnf-sd-perfil #content form input[type=text],body.tnf-sd-perfil #content form input[type=email],body.tnf-sd-perfil #content form input[type=password],body.tnf-sd-perfil #content form input[type=tel],body.tnf-sd-perfil #content form select{width:100%}
  body.tnf-sd .tnf-usuario{width:100%;margin:0 0 6px}
  body.tnf-sd #header p a.tnf-usuario-link{margin:0 8px 0 0}
}

/* ======================================================================
   Login da equipe tecnica (scp)
   ====================================================================== */
body.tnf-equipe-login{margin:0;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;box-sizing:border-box;background:var(--tnf-navy-800);font:400 16px/1.5 var(--tnf-f-body);color:var(--tnf-ink);position:relative;overflow-x:hidden}
body.tnf-equipe-login::before{content:"";position:fixed;z-index:0;top:-25%;bottom:-25%;left:-18%;width:70%;background:var(--tnf-navy-900);border-radius:0 50% 50% 0/0 50% 50% 0;pointer-events:none}
body.tnf-equipe-login::after{content:"";position:fixed;z-index:0;right:-10%;top:-40%;width:44%;height:180%;border-radius:50% 0 0 50%/50% 0 0 50%;border:1px solid rgba(127,208,245,.14);pointer-events:none}
body.tnf-equipe-login #brickwall{display:none}
body.tnf-equipe-login{text-align:left;height:auto}
body.tnf-equipe-login #login{width:auto;margin:0}
body.tnf-equipe-login #loginBox{position:relative;z-index:1;width:100%;max-width:420px;margin:0;padding:40px 36px 32px;box-sizing:border-box;background:#fff!important;border:0;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.35);text-align:left;top:auto;left:auto;transform:none}
body.tnf-equipe-login #loginBox::after,body.tnf-equipe-login #loginBox::before{display:none}
body.tnf-equipe-login #blur,body.tnf-equipe-login #background{display:none}
body.tnf-equipe-login #logo{margin:0 0 6px;padding:0;height:auto;text-align:left}
body.tnf-equipe-login #logo a{display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-decoration:none;border:0}
body.tnf-equipe-login #logo .valign-helper{display:none}
body.tnf-equipe-login #logo .tnf-logo{height:44px;width:auto;display:block}
body.tnf-equipe-login .tnf-login-sub{font:800 1.35rem/1.2 var(--tnf-f-head);color:var(--tnf-ink);letter-spacing:-.01em}
body.tnf-equipe-login #login-message{margin:6px 0 22px;padding:0;font:400 .97rem/1.5 var(--tnf-f-body);color:var(--tnf-ink-2);text-align:left}
body.tnf-equipe-login .banner:empty,body.tnf-equipe-login .banner small:empty{display:none}
body.tnf-equipe-login .banner:has(small:empty){display:none}
body.tnf-equipe-login #login fieldset{width:auto;border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
body.tnf-equipe-login #login input[type=text],body.tnf-equipe-login #login input[type=password]{box-sizing:border-box;width:100%;height:50px;margin:0;padding:0 14px;border:1.5px solid var(--tnf-line-2);border-radius:6px;background:#fff;font:400 1rem/1 var(--tnf-f-body);color:var(--tnf-ink);box-shadow:none}
body.tnf-equipe-login #login input:focus{outline:0;border-color:var(--tnf-blue-600);box-shadow:0 0 0 4px rgba(0,152,218,.15)}
body.tnf-equipe-login #login h3{display:block!important;margin:0;font:600 .92rem/1.2 var(--tnf-f-body);order:3}
body.tnf-equipe-login #login h3 a{color:var(--tnf-blue-700);text-decoration:none}
body.tnf-equipe-login #login h3 a.hidden{display:none}
body.tnf-equipe-login #login button.submit{float:none;order:2;width:100%;height:52px;margin:6px 0 0;border:0;border-radius:6px;background:var(--tnf-blue-600);color:#fff;font:700 1rem/1 var(--tnf-f-head);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:none;text-shadow:none}
body.tnf-equipe-login #login button.submit:hover{background:var(--tnf-blue-700)}
body.tnf-equipe-login #login button.submit[disabled]{opacity:.7}
body.tnf-equipe-login #loading{border-radius:10px;border:0;box-shadow:none;background:rgba(255,255,255,.96)}
body.tnf-equipe-login #loading h1{font:700 1rem/1.4 var(--tnf-f-head);color:var(--tnf-ink)}
body.tnf-equipe-login .external-auth{margin-top:10px}
body.tnf-equipe-login #company{position:static;left:auto;bottom:auto;width:auto;margin:26px 0 0;padding:18px 0 0;border-top:1px solid var(--tnf-line);background:none;text-align:left}
body.tnf-equipe-login #company .content{display:block;padding:0;border-radius:0;font-size:.85rem;color:var(--tnf-ink-3);background:none;box-shadow:none;text-shadow:none}
body.tnf-equipe-login #poweredBy{display:none}
body.tnf-equipe-login .dialog,body.tnf-equipe-login input,body.tnf-equipe-login button{font-family:var(--tnf-f-body)}
@media (max-width:480px){
  body.tnf-equipe-login #loginBox{padding:30px 22px 24px}
}

/* ======================================================================
   Aviso de limite de tentativas
   ====================================================================== */
body.tnf-aviso{margin:0;min-height:100vh;display:grid;place-items:center;padding:24px;box-sizing:border-box;background:var(--tnf-navy-800);font:400 16px/1.55 var(--tnf-f-body);color:var(--tnf-ink)}
.tnf-aviso-card{max-width:460px;width:100%;background:#fff;border-radius:14px;padding:36px 32px;box-shadow:0 24px 60px rgba(0,0,0,.35);box-sizing:border-box}
.tnf-aviso-card h1{font:800 1.5rem/1.2 var(--tnf-f-head);margin:0 0 10px}
.tnf-aviso-card p{color:var(--tnf-ink-2);margin:0 0 22px}

/* ---------- app no celular: notificacoes e convite para instalar (tecnoinfo-app.js) ---------- */
html body .tnf-app-sino{display:inline-flex;align-items:center;gap:6px;margin:0 6px 0 0;padding:7px 12px;border:1px solid #dde5ec;border-radius:999px;background:#fff;color:#435365;font:600 13.5px/1 "Red Hat Text","Segoe UI",Arial,sans-serif;cursor:pointer;vertical-align:middle;white-space:nowrap;box-shadow:none;height:auto;min-height:0;text-shadow:none}
html body .tnf-app-sino:hover{border-color:#c9d5df;color:#0f1d2c;background:#fff}
html body .tnf-app-sino.tnf-app-ativo{color:#1e7a46;border-color:#b9dcc6;background:#eaf6ef}
html body .tnf-app-sino svg{flex:0 0 auto}
html body .tnf-app-painel{position:absolute;right:16px;z-index:100000;width:min(340px,calc(100vw - 32px));box-sizing:border-box;background:#fff;border:1px solid #dde5ec;border-radius:14px;box-shadow:0 16px 48px rgba(7,27,47,.2);font:400 14px/1.5 "Red Hat Text","Segoe UI",Arial,sans-serif;color:#0f1d2c;text-align:left;white-space:normal}
html body .tnf-app-painel[hidden]{display:none}
html body .tnf-app-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 10px 16px;border-bottom:1px solid #dde5ec}
html body .tnf-app-topo strong{font:700 15px/1.3 "Red Hat Display","Segoe UI",Arial,sans-serif;color:#0f1d2c}
html body .tnf-app-corpo{padding:14px 16px 16px}
html body .tnf-app-msg{margin:0 0 12px;color:#0f1d2c}
html body .tnf-app-msg:last-child{margin-bottom:0}
html body .tnf-app-ok{color:#1e7a46;font-weight:700}
html body .tnf-app-dica{margin:0;color:#435365;font-size:13.5px}
html body .tnf-app-dica svg,html body .tnf-app-convite-txt svg{vertical-align:-3px}
html body .tnf-app-erro{margin:10px 0 0;color:#b42318;font-size:13.5px}
html body .tnf-app-acoes{display:flex;flex-wrap:wrap;gap:8px}
html body .tnf-app-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;height:auto;padding:0 16px;margin:0;border:0;border-radius:8px;background:#007bb5;color:#fff;font:700 14px/1 "Red Hat Display","Segoe UI",Arial,sans-serif;cursor:pointer;box-shadow:none;text-shadow:none;width:auto}
html body .tnf-app-btn:hover{background:#006a9e;color:#fff}
html body .tnf-app-btn:disabled{opacity:.6;cursor:default}
html body .tnf-app-btn.tnf-app-sec{background:#fff;color:#435365;box-shadow:inset 0 0 0 1px #c9d5df}
html body .tnf-app-btn.tnf-app-sec:hover{background:#f3f6f9;color:#0f1d2c}
html body .tnf-app-fechar{flex:0 0 auto;width:34px;height:34px;min-height:0;margin:0;padding:0;border:0;border-radius:8px;background:none;color:#5f6e7e;font:400 24px/1 Arial,sans-serif;cursor:pointer;box-shadow:none}
html body .tnf-app-fechar:hover{background:#f3f6f9;color:#0f1d2c}
html body .tnf-app-convite{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:99999;display:flex;align-items:center;gap:12px;max-width:560px;margin:0 auto;padding:12px 8px 12px 14px;box-sizing:border-box;background:#fff;border:1px solid #dde5ec;border-radius:14px;box-shadow:0 16px 48px rgba(7,27,47,.22);font:400 13.5px/1.45 "Red Hat Text","Segoe UI",Arial,sans-serif;color:#0f1d2c;text-align:left}
html body .tnf-app-convite img{flex:0 0 40px;width:40px;height:40px;border-radius:10px}
html body .tnf-app-convite-txt{flex:1 1 auto;min-width:0}
html body .tnf-app-convite-txt > strong{display:block;font:700 14.5px/1.3 "Red Hat Display","Segoe UI",Arial,sans-serif;color:#0f1d2c}
html body .tnf-app-convite-txt > span{display:block;color:#435365}
html body .tnf-app-convite-txt > span strong{color:#0f1d2c}
html body .tnf-app-convite .tnf-app-btn{flex:0 0 auto;min-height:38px;padding:0 14px}
html.tnf-app-com-convite body .tnf-wa-float{bottom:calc(var(--tnf-convite-alt,116px) + env(safe-area-inset-bottom))}
