:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#ecf4ff;background:#0b1828;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:#71d5ff}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}.hidden{display:none!important}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at top,#16324c,#0b1828 65%)}.site-header{max-width:1150px;width:100%;margin:auto auto 0;padding:22px 22px 10px;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none}.brand strong{display:block;font-size:1.2rem}.brand small{display:block;color:#a7c4da}.brand-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#1c4667;color:#70d6ff;font-size:29px}.header-actions{display:flex;gap:10px}.text-button{background:none;color:#b3d0e4;border:0;padding:8px}.text-button:hover{color:white}.public-wrap{max-width:1000px;width:100%;margin:0 auto;flex:1;padding:22px}.home-hero{background:linear-gradient(140deg,#162e45,#0f2032);padding:36px;border:1px solid #25465e;border-radius:24px;box-shadow:0 30px 70px #04111c66}.eyebrow{letter-spacing:.15em;color:#61cafa;font-size:.76rem;font-weight:800}.hero-text h1{font-size:clamp(1.8rem,4vw,3rem);margin:12px 0}.hero-text p{color:#b8ccdf;font-size:1.05rem;line-height:1.5}.search-line{background:#fff;border-radius:13px;display:flex;gap:12px;align-items:center;padding:8px 10px 8px 18px;color:#557}.search-line input{flex:1;min-width:0;border:0;outline:0;color:#183047}.primary{border:0;background:#028bd0;color:white;border-radius:10px;font-weight:700;padding:13px 17px}.primary:hover{background:#037db8}.home-hero h3{margin:32px 0 15px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick-grid button{display:flex;flex-direction:column;gap:12px;align-items:center;padding:24px 8px;border-radius:14px;background:#1f3c56;color:white;border:1px solid #335974;font-size:26px}.quick-grid strong{font-size:14px}.quick-grid button:hover,.option-btn:hover{border-color:#36bbf5;background:#275173}footer{text-align:center;color:#738ca4;padding:24px;font-size:.82rem}.chat-area{min-height:70vh;background:#12283e;border:1px solid #29465d;border-radius:20px;display:flex;flex-direction:column;overflow:hidden}.chat-heading{padding:16px 22px;border-bottom:1px solid #35516a;display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-heading h2{margin:0 0 5px;font-size:1.15rem}.chat-heading p{margin:0;color:#adc5da;font-size:.85rem}.chat-heading select{background:#25435c;color:white;border:1px solid #42637d;border-radius:9px;padding:10px;max-width:220px}.messages{padding:24px;min-height:260px;max-height:55vh;overflow-y:auto;display:flex;flex-direction:column;gap:15px}.bubble{white-space:pre-wrap;max-width:86%;line-height:1.5;padding:15px;border-radius:15px}.bubble.user{align-self:flex-end;background:#d8f7df;color:#183222}.bubble.bot{align-self:flex-start;background:#29445e;color:white}.suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 15px}.option-btn{border:1px solid #4a7595;background:#27445f;border-radius:10px;color:#effaff;padding:11px 13px;text-align:left}.chat-composer{display:flex;gap:10px;padding:16px;background:#1a344b}.chat-composer input{flex:1;min-width:0;border-radius:10px;border:1px solid #4a6e8a;padding:12px;color:#122638}.rich-block{align-self:flex-start;width:min(100%,600px);background:#21415a;border-radius:15px;padding:16px;display:flex;flex-direction:column;gap:12px}.rich-actions{display:flex;justify-content:space-between;gap:8px}.media-image,.media-video{max-width:100%;max-height:340px;border-radius:10px;object-fit:contain}.media-image{cursor:zoom-in}.file-link{display:block;padding:10px;background:#102a40;border-radius:8px}.auth{max-width:520px;padding:45px 20px;margin:auto}.panel{background:#162d42;border:1px solid #30516b;border-radius:18px;padding:27px}.panel h1{margin-top:0}.panel p{color:#b1c7d9}.panel form{display:flex;flex-direction:column;gap:15px}.panel label{display:flex;flex-direction:column;gap:6px;color:#c9dced;font-size:.9rem}.panel input,.panel textarea,.panel select,.admin input,.admin textarea,.admin select{width:100%;background:#0e2133;color:#f0f7ff;padding:11px;border:1px solid #3a5c76;border-radius:9px}.warning{background:#612f35;padding:12px;border-radius:9px;color:#ffe7e7!important}.success{background:#174b3a;padding:12px;border-radius:9px;color:#c7ffdf!important}.admin{max-width:1240px;margin:auto;padding:20px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.admin-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.admin-nav a{padding:11px 14px;border-radius:9px;background:#1b3951;text-decoration:none;color:white}.admin-nav a.active{background:#047fb9}.admin-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}.admin-card{background:#152c41;border:1px solid #2b4e68;border-radius:14px;padding:22px;margin-bottom:18px}.admin-card h2{margin-top:0}.admin form{display:grid;gap:13px}.admin label{display:block;color:#c0d7e8;font-size:.9rem}.admin label input,.admin label select,.admin label textarea{margin-top:5px}.admin textarea{min-height:96px;resize:vertical}.data-table{width:100%;border-collapse:collapse}.data-table td,.data-table th{border-bottom:1px solid #335168;padding:11px 8px;text-align:left;vertical-align:top}.data-table th{color:#90bad5}.tiny{color:#94b4cb;font-size:.84rem}.actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.secondary{background:#25445c;border:1px solid #46718e;color:white;border-radius:8px;padding:9px 12px}.danger{background:#752d3a;border:0;color:white;border-radius:8px;padding:9px 12px}.filterline{display:flex;gap:12px;align-items:center}.checkrow{display:flex;gap:8px;align-items:center}.checkrow input{width:auto}.muted{color:#aac3d7}.tag{background:#194a63;color:#b7e8ff;border-radius:6px;padding:5px 8px;font-size:.77rem}@media(max-width:680px){.site-header{padding:15px}.public-wrap{padding:10px}.home-hero{padding:22px}.quick-grid{grid-template-columns:repeat(2,1fr)}.search-line{flex-wrap:wrap}.search-line input{flex-basis:65%}.search-line button{width:100%}.chat-heading{flex-direction:column;align-items:stretch}.messages{max-height:60vh}.admin-grid{grid-template-columns:1fr}.admin{padding:10px}.admin-header{flex-direction:column;align-items:flex-start}.data-table{font-size:.8rem}}

.command-entry{padding:16px;margin:12px 0;border:1px solid #36556d;border-radius:12px;background:#102437}.command-prefix{display:flex;align-items:center;border:1px solid #36556d;border-radius:8px;overflow:hidden;margin-top:6px}.command-prefix span{padding:0 12px;font-size:22px;color:#80d6ff}.command-prefix input{border:0!important;flex:1;min-width:0}.command-entry .remove-command{margin-top:8px}.add-command{width:100%;margin-top:8px;font-size:15px}

.server-commands{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 20px;border-top:1px solid #35516a}.server-commands .tiny{margin-right:6px}.server-commands .option-btn{padding:7px 10px;font-size:.85rem}.admin .command-entry input[type=file]{background:#203b53;border-style:dashed}.admin .data-table .actions form{display:inline}.admin .data-table .actions{flex-wrap:nowrap}

/* Visualização de imagens na própria tela */
body.lightbox-open{overflow:hidden}
.rtvon-lightbox{display:none;position:fixed;inset:0;background:rgba(4,12,22,.97);z-index:99999;align-items:center;justify-content:center;padding:65px 16px 20px}
.rtvon-lightbox.visible{display:flex}
.rtvon-lightbox img{max-width:100%;max-height:calc(100vh - 92px);object-fit:contain;border-radius:6px}
.rtvon-lightbox-top{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 24px;color:white}
.rtvon-lightbox-close{color:white;border:1px solid #5a748b;background:#213b52;padding:9px 13px;border-radius:9px}
@media(max-width:680px){.rtvon-lightbox-top{padding:12px}.rtvon-lightbox{padding:65px 10px 12px}}

.rtv-notices{display:grid;gap:10px;margin:20px 0}.rtv-notice{padding:14px 18px;background:#214357;border:1px solid #34647b;border-radius:12px;white-space:pre-line}.rtv-notice.urgent{background:#513525;border-color:#ad7045}.rtv-notice p{margin:7px 0 0;line-height:1.5}.rtv-home-extra{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.rtv-links{display:flex;gap:8px;flex-wrap:wrap}.rtv-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.rtv-video-card{background:#1d3950;padding:12px;border-radius:12px;min-width:0}.rtv-video-card strong{display:block;font-size:.85rem;margin-bottom:7px}.rtv-gallery-video{width:100%;max-height:250px;background:black;border-radius:9px}.rtv-bubble-actions{display:flex;gap:8px;margin-top:9px}.rtv-small{font-size:.7rem;border:1px solid #48718e;background:#18364d;color:#c8eafb;border-radius:5px;padding:4px 7px}.rtv-autocomplete{display:grid;gap:3px;z-index:20;position:relative;background:#18344a;border-radius:9px;max-height:180px;overflow:auto}.rtv-auto-item{text-align:left;color:#ecf4ff;background:#203f55;border:0;border-radius:5px;padding:10px 12px}.rtv-auto-item:hover{background:#2b5774}.rtv-vote{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px;background:#203a50;border-radius:9px}.rtv-admin-item{padding:12px;border-bottom:1px solid #36556d}.rtv-admin-item p{white-space:pre-line}.rtv-admin-item .actions{margin-top:8px}@media(max-width:680px){.rtv-home-extra{grid-template-columns:1fr}.rtv-gallery{grid-template-columns:1fr 1fr}}

/* RTVon 1.6 – chat familiar, mídias e administração compacta */
.chat-area{background:#0b1919;border-color:#274d48;border-radius:16px;box-shadow:0 12px 38px #0004}.chat-heading{background:#1c403b;border-bottom-color:#31594f}.messages{background-color:#10231e;background-image:radial-gradient(#ffffff06 1px, transparent 1px);background-size:24px 24px;gap:9px}.bubble{position:relative;font-size:14px;max-width:82%;box-shadow:0 1px 1px #0003;border-radius:9px;padding:10px 12px}.bubble.user{background:#d9fdd3;color:#173225;border-top-right-radius:2px}.bubble.bot{background:#28443e;color:#edf9f3;border-top-left-radius:2px}.rich-block{background:#294c44;border-radius:9px}.chat-composer{background:#1b3935}.server-commands,.suggestions{background:#16312e;border-color:#35554e}.rtv-typing{font-size:12px!important;color:#bfe2d6!important;font-style:italic;opacity:.9}.rtv-link{color:#83ddff;overflow-wrap:anywhere;text-decoration:underline}.rtv-open-link{display:inline-block;margin-left:8px;vertical-align:middle}.rtv-command-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.rtv-command-toolbar .rtv-collapse{font-size:12px;padding:6px 9px}.command-entry.rtv-collapsed>*:not(.rtv-command-toolbar){display:none!important}.rtv-notice-server{display:block;color:#c1dce9;margin-top:7px}.rtv-vote{gap:9px}.rtv-vote strong{width:100%;font-size:13px}@media(max-width:680px){.chat-area{border-radius:11px}.messages{max-height:65vh}.bubble{max-width:90%}}

/* RTVon 1.7 - Indicadores administrativos */
.rtv-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:18px}
.rtv-stats>div{background:#23445c;border:1px solid #416782;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}
.rtv-stats strong{font-size:27px;color:#f4fbff}.rtv-stats small{opacity:.8}.rtv-stats span{font-weight:600}
.rtv-notices:not(:empty){display:grid;gap:12px;margin:14px 0}.rtv-notice{border:1px solid #417b91;border-radius:12px;padding:14px;background:#183e51}.rtv-notice.urgent{border-color:#e5aa51;background:#4a3528}.rtv-notice p{white-space:pre-wrap;margin:7px 0 0}


/* RTVon 1.8 - avisos neon e títulos sem ações */
.rtv-notices{display:grid;gap:14px;margin:20px 0}
.rtv-notice{position:relative;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,#10384b,#163a46);border:2px solid #49d6ff;box-shadow:0 0 0 1px rgba(73,214,255,.18),0 0 10px rgba(73,214,255,.22),0 0 24px rgba(73,214,255,.16);animation:rtvNoticePulse 1.9s ease-in-out infinite;overflow:hidden}
.rtv-notice::before{content:'AVISO';display:inline-block;margin-bottom:8px;padding:4px 9px;border-radius:999px;background:#0ed0ff;color:#08202b;font-size:.72rem;font-weight:800;letter-spacing:.08em}
.rtv-notice strong,.rtv-notice b{display:block;font-size:1.02rem;color:#f5fdff;margin-bottom:6px}
.rtv-notice p{white-space:pre-wrap;margin:8px 0 0;color:#dceefa;line-height:1.55}
.rtv-notice.urgent{background:linear-gradient(135deg,#4a231f,#5b2f25);border-color:#ffb15c;box-shadow:0 0 0 1px rgba(255,177,92,.22),0 0 12px rgba(255,177,92,.28),0 0 28px rgba(255,177,92,.2)}
.rtv-notice.urgent::before{content:'URGENTE';background:#ffb15c;color:#3b1e00}
@keyframes rtvNoticePulse{0%,100%{transform:translateY(0);box-shadow:0 0 0 1px rgba(73,214,255,.18),0 0 10px rgba(73,214,255,.22),0 0 22px rgba(73,214,255,.14)}50%{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(73,214,255,.28),0 0 16px rgba(73,214,255,.32),0 0 36px rgba(73,214,255,.24)}}
.rtv-heading-bubble{font-weight:700}
.rtv-heading-bubble .rtv-bubble-actions{display:none!important}

/* RTVon 1.9 */
.chat-area{min-height:0;height:min(690px,calc(100dvh - 150px));min-height:420px}
.messages{flex:1;min-height:0;max-height:none;overflow-y:auto}
.rtv-notice{padding-right:53px}
.rtv-notice-close{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.4);color:white;background:rgba(0,0,0,.24);cursor:pointer;font-weight:700}
.rtv-notice-close:hover{background:rgba(0,0,0,.5)}
.rtv-universal-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:12px}
.rtv-universal-list .option-btn{text-align:left;font-size:.84rem}
.rtv-unknown-rank{padding:12px 0 20px}
.rtv-unknown-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.rtv-unknown-rank-item{padding:13px;border-radius:10px;background:#1e3e54;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.rtv-unknown-rank-item b{color:#73d4ff;font-size:.8rem}
.rtv-unknown-controls{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:end;margin-bottom:16px}
.rtv-unknown-search{display:flex!important;flex-direction:row!important;align-items:end;gap:8px!important;flex-wrap:wrap}
.rtv-unknown-search label{min-width:170px}
.rtv-pages{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.rtv-current{border-color:#68cfff;background:#0d6592}
@media(max-width:680px){.chat-area{height:calc(100dvh - 115px);min-height:380px}.rtv-unknown-search{width:100%}.rtv-unknown-search label{flex:1}}

/* RTVon Assist - Chat em tela cheia com controles fixos, sem alterar a tela inicial */
body:has(#chat:not(.hidden)) .app-shell{height:100dvh;min-height:100dvh;overflow:hidden}
body:has(#chat:not(.hidden)) .site-header{max-width:100%;width:100%;flex:0 0 auto;margin:0;padding:12px 24px 8px}
body:has(#chat:not(.hidden)) .public-wrap{max-width:none;width:100%;margin:0;padding:8px 16px;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
body:has(#chat:not(.hidden)) #chat.chat-area{box-sizing:border-box;width:100%;max-width:none;min-height:0!important;height:100%!important;max-height:none;flex:1 1 auto;display:flex;flex-direction:column;border-radius:16px;overflow:hidden}
body:has(#chat:not(.hidden)) .chat-heading{flex-shrink:0}
body:has(#chat:not(.hidden)) .messages{flex:1 1 auto;min-height:0!important;max-height:none!important;height:auto;overflow-y:auto;overscroll-behavior:contain}
body:has(#chat:not(.hidden)) .server-commands,
body:has(#chat:not(.hidden)) .suggestions,
body:has(#chat:not(.hidden)) .chat-composer{flex:0 0 auto}
body:has(#chat:not(.hidden)) footer{display:none}
@media(max-width:680px){
body:has(#chat:not(.hidden)) .site-header{padding:9px 10px 5px}
body:has(#chat:not(.hidden)) .public-wrap{padding:5px}
body:has(#chat:not(.hidden)) #chat.chat-area{border-radius:9px}
body:has(#chat:not(.hidden)) .messages{padding:12px}
}


/* RTVon ajuste: visual de app de conversa estilo celular */
.public-wrap{display:flex;flex-direction:column}
.chat-area{
  width:min(100%,560px);
  margin:0 auto;
  min-height:calc(100vh - 120px);
  height:calc(100vh - 120px);
  max-height:calc(100vh - 120px);
}
.messages{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
}
.chat-composer{margin-top:auto}
@media(max-width:680px){
  .chat-area{
    width:100%;
    min-height:calc(100vh - 88px);
    height:calc(100vh - 88px);
    max-height:calc(100vh - 88px);
  }
}

/* RTVon 2.0 — manter proporções aprovadas */
body:has(#chat:not(.hidden)) .public-wrap{max-width:100%!important;width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;padding:6px 12px 10px!important}
body:has(#chat:not(.hidden)) #chat.chat-area{width:100%!important;max-width:580px!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important;height:calc(100dvh - 120px)!important;margin:0 auto!important;overflow:hidden!important}
body:has(#chat:not(.hidden)) #chat .messages{flex:1 1 auto!important;max-height:none!important;min-height:0!important;overflow-y:auto!important}
body:has(#chat:not(.hidden)) .site-header{max-width:620px!important;margin:0 auto!important}
@media(max-width:680px){body:has(#chat:not(.hidden)) #chat.chat-area{max-width:100%!important;height:calc(100dvh - 95px)!important}}

.rtv-media-entry{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0;padding:6px 10px;border-radius:8px;background:#162f41}.rtv-media-entry button{font-size:12px;padding:6px 10px}.rtv-guide-help{margin:12px 0 20px;padding:15px;background:#173c47;border:1px solid #326274;border-radius:10px}.admin-card label small{display:block;font-size:12px;font-weight:400;color:#a7c5d8;line-height:1.5;margin:4px 0 6px}
