/* ====== NeoTS Painel - Final Layout v14 (Address Row Fix) ====== */
:root {
  --neots-bg-card: #161b22; 
  --neots-border: rgba(255, 255, 255, 0.12);
  --neots-border-hover: rgba(34, 211, 238, 0.4);
  --neots-primary: #22d3ee;
  --neots-primary-glow: rgba(34, 211, 238, 0.15);
  --neots-success: #2ea043;
  --neots-danger: #f85149;
  --neots-warning: #d29922;
  --neots-text: #f0f6fc;
  --neots-text-muted: #8b949e;
  --neots-input-bg: #0d1117;
}

.neots-wrap { 
    max-width: 1200px; margin: 0 auto; padding: 30px 20px; 
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; 
    width: 100%; box-sizing: border-box; 
}

/* Header & Tabs */
.neots-header-row { display: flex; flex-direction: column; gap: 20px; margin-bottom: 30px; }
.neots-title { font-size: 26px; margin: 0; color: var(--neots-text); font-weight: 700; letter-spacing: -0.5px; }

.neots-tabs { display: flex; gap: 10px; border-bottom: 1px solid var(--neots-border); padding-bottom: 10px; flex-wrap: wrap; }
.neots-tab-btn { background: transparent; border: none; color: var(--neots-text-muted); padding: 8px 16px; font-size: 14px; font-weight: 600; cursor: pointer; border-radius: 6px; transition: all 0.2s; }
.neots-tab-btn:hover { color: var(--neots-text); background: rgba(255,255,255,0.05); }
.neots-tab-btn.active { background: var(--neots-primary-glow); color: var(--neots-primary); }
.neots-tab-btn.logout { margin-left: auto; color: var(--neots-danger); }
.neots-tab-btn.logout:hover { background: rgba(248, 81, 73, 0.1); }

/* === GRID (Espaçamento Corrigido - v11) === */
.neots-grid { 
    display: grid;
    grid-template-columns: 1fr; 
    gap: 40px; 
    width: 100%;
}

/* Card Principal (Serviços) */
.neots-card { 
    background: var(--neots-bg-card); 
    border: 1px solid var(--neots-border); 
    border-radius: 12px; 
    padding: 24px; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.2); 
    display: flex; flex-direction: column; gap: 20px; 
    margin-bottom: 20px;
}
.neots-card:hover { border-color: var(--neots-border-hover); }

/* Header do Card */
.neots-card-top { display: flex; justify-content: space-between; align-items: flex-start; padding-bottom: 16px; border-bottom: 1px solid var(--neots-border); }
.neots-card-title { font-size: 18px; font-weight: 700; color: var(--neots-text); display: flex; align-items: center; gap: 10px; }
.neots-card-status { margin-top: 6px; font-size: 13px; color: var(--neots-text-muted); font-weight: 500; display:flex; align-items:center; gap:8px; }

.neots-refresh-btn {
    background: none; border: none; color: var(--neots-text-muted);
    cursor: pointer; font-size: 16px; margin-left: 5px; transition: 0.3s;
}
.neots-refresh-btn:hover { color: var(--neots-primary); }
.neots-refresh-btn.spinning { animation: neots-spin 1s infinite linear; }
@keyframes neots-spin { 100% { transform: rotate(360deg); } }

/* Status Dot */
.neots-dot { width: 9px; height: 9px; border-radius: 50%; background-color: #484f58; display:inline-block; }
.neots-dot.online { background-color: var(--neots-success); box-shadow: 0 0 6px rgba(46, 160, 67, 0.4); }
.neots-dot.offline { background-color: var(--neots-danger); }

/* Badge de Expiração */
.neots-expire-badge { font-size: 12px; background: rgba(255,255,255,0.06); padding: 5px 10px; border-radius: 6px; color: var(--neots-text-muted); border: 1px solid var(--neots-border); display: flex; align-items: center; white-space: nowrap; }
.neots-expire-badge strong { color: var(--neots-text); font-weight: 700; margin: 0 4px; }

/* Botões */
.neots-power-controls { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:nowrap; }
.neots-power-left{ display:flex; gap:10px; flex-wrap:wrap; }
.neots-power-right{ margin-left:auto; display:flex; }
.neots-btn { padding: 9px 16px; border-radius: 8px; border: 1px solid var(--neots-border); background: rgba(255,255,255,0.04); color: var(--neots-text); cursor: pointer; font-size: 13px; font-weight: 600; transition: all 0.2s ease; display: inline-flex; align-items: center; gap: 8px; }
.neots-btn:hover:not(:disabled) { background: rgba(255,255,255,0.09); border-color: rgba(255,255,255,0.25); }
.neots-btn:disabled { opacity: 0.5; cursor: not-allowed; filter: grayscale(1); }

.neots-btn-start:hover:not(:disabled) { background: rgba(46, 160, 67, 0.15); border-color: var(--neots-success); color: #56d364; }
.neots-btn-stop:hover:not(:disabled) { background: rgba(248, 81, 73, 0.15); border-color: var(--neots-danger); color: #ff7b72; }
.neots-btn-restart:hover:not(:disabled) { background: rgba(210, 153, 34, 0.15); border-color: var(--neots-warning); color: #e3b341; }

/* Config TS */
.neots-ts { background: rgba(0,0,0,0.15); border-radius: 10px; padding: 18px; border: 1px solid var(--neots-border); }
.neots-ts-title { font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--neots-primary); margin-bottom: 14px; font-weight: 700; opacity: 0.9; }
.neots-ts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 18px; }

.neots-input-group { display: flex; flex-direction: column; gap: 5px; }
.neots-label-small { font-size: 12px; color: var(--neots-text-muted); font-weight: 500; margin-left: 2px; }
.neots-input { width: 100%; background: var(--neots-input-bg); border: 1px solid #30363d; color: var(--neots-text); padding: 10px 12px; border-radius: 6px; font-size: 13px; outline: none; transition: 0.2s; }
.neots-input:focus { border-color: var(--neots-primary); box-shadow: 0 0 0 1px var(--neots-primary); }
.neots-input::placeholder { color: #484f58; }
.neots-input:disabled { opacity:0.6; cursor:not-allowed; }

.neots-box { padding: 12px 16px; background: rgba(0,0,0,0.2); border-radius: 8px; border: 1px solid var(--neots-border); color: var(--neots-text); }

/* Address Row (New in v14) */
.neots-address-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    width: 100%;
}

/* Modal */
.neots-modal { position: fixed; inset: 0; background: rgba(1, 4, 9, 0.85); backdrop-filter: blur(2px); display: flex; align-items: center; justify-content: center; z-index: 9999; }
.neots-modal-card { width: min(600px, 94vw); background: #161b22; border: 1px solid #30363d; border-radius: 12px; box-shadow: 0 20px 40px rgba(0,0,0,0.6); overflow: hidden; animation: neots-fade-in 0.15s ease-out; }
.neots-modal-head { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; background: #0d1117; border-bottom: 1px solid #30363d; }
.neots-modal-title { color: var(--neots-text); font-size: 16px; font-weight: 600; }
.neots-modal-close { background: none; border: none; color: var(--neots-text-muted); font-size: 20px; line-height: 1; cursor: pointer; transition: color 0.2s; }
.neots-modal-close:hover { color: var(--neots-text); }
.neots-modal-body { padding: 30px; color: var(--neots-text); font-size: 14px; line-height: 1.6; }

@keyframes neots-fade-in { from { opacity: 0; transform: scale(0.98); } to { opacity: 1; transform: scale(1); } }

/* Scrollbar */
.neots-scroll-box::-webkit-scrollbar { width: 6px; }
.neots-scroll-box::-webkit-scrollbar-track { background: rgba(0,0,0,0.2); border-radius: 4px; }
.neots-scroll-box::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
.neots-scroll-box::-webkit-scrollbar-thumb:hover { background: #475569; }

/* Context Menu */
.neots-context-menu {
    position: absolute; background: #1e293b; border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px; box-shadow: 0 4px 15px rgba(0,0,0,0.5); z-index: 9999;
    min-width: 150px; padding: 5px 0; display: none;
}
.neots-ctx-item {
    padding: 8px 15px; font-size: 13px; color: #e2e8f0; cursor: pointer; transition: 0.1s; display: flex; align-items: center; gap: 8px;
}
.neots-ctx-item:hover { background: rgba(34, 211, 238, 0.1); color: #22d3ee; }

/* Tools */
.neots-tools-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 15px; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 15px; }
.neots-tool-btn { 
    background: rgba(255,255,255,0.03); border: 1px solid var(--neots-border); color: #94a3b8; 
    padding: 8px; border-radius: 8px; cursor: pointer; font-size: 12px; font-weight: 600;
    display: flex; flex-direction: column; align-items: center; gap: 5px; transition: 0.2s;
}
.neots-tool-btn:hover { background: rgba(34, 211, 238, 0.1); color: var(--neots-primary); border-color: var(--neots-primary); }
.neots-tool-icon { font-size: 18px; }

/* Tree & Log */
.neots-tree { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 13px; color: #e2e8f0; line-height: 1.8; }
.neots-tree ul { list-style: none; padding-left: 20px; margin: 0; position: relative; }
.neots-tree ul li { position: relative; }
.neots-tree ul ul::before { content: ''; position: absolute; top: 0; left: -12px; bottom: 0; width: 1px; background: rgba(255,255,255,0.1); }
.neots-tree li::before { content: ''; position: absolute; top: 12px; left: -20px; width: 15px; height: 1px; background: rgba(255,255,255,0.1); }
.neots-tree-row:hover { background: rgba(255,255,255,0.05); border-radius: 4px; }

.neots-log-line { font-family: monospace; font-size: 12px; padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,0.05); color: #cbd5e1; }
.neots-log-time { color: #64748b; margin-right: 8px; }

/* === PLANOS (ESTILO DA LANDING PAGE) === */
.neots-lp-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); 
    gap: 30px; 
    margin-top: 30px; 
}
.neots-lp-card { 
    display: flex; flex-direction: column; 
    border-radius: 24px; 
    background-color: rgba(2, 6, 23, 0.7); 
    border: 1px solid rgba(51, 65, 85, 0.8); 
    padding: 24px; 
    box-shadow: 0 0 50px rgba(15, 23, 42, 0.9); 
    transition: transform 0.2s;
}
.neots-lp-card:hover { transform: translateY(-5px); }
.neots-lp-card.featured { 
    border-color: rgba(6, 182, 212, 0.8); 
    background-color: rgba(2, 6, 23, 0.8); 
    box-shadow: 0 0 60px rgba(34, 211, 238, 0.2); 
}

.neots-lp-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.neots-lp-title { font-size: 18px; font-weight: 600; color: #f8fafc; margin: 0; }
.neots-lp-badge { 
    border-radius: 9999px; padding: 4px 12px; font-size: 11px; font-weight: 600; 
    text-transform: uppercase; letter-spacing: 0.16em; 
}
.neots-lp-badge.amber { border: 1px solid rgba(251, 191, 36, 0.4); background: rgba(245, 158, 11, 0.1); color: #fcd34d; }
.neots-lp-badge.emerald { border: 1px solid rgba(52, 211, 153, 0.6); background: rgba(16, 185, 129, 0.1); color: #6ee7b7; }

.neots-lp-table-wrap { overflow: hidden; border-radius: 16px; border: 1px solid rgba(51, 65, 85, 0.8); margin-bottom: 16px; }
.neots-lp-table { width: 100%; text-align: left; font-size: 14px; border-collapse: collapse; }
.neots-lp-table thead { background-color: rgba(15, 23, 42, 0.8); color: #94a3b8; font-size: 12px; text-transform: uppercase; letter-spacing: 0.18em; }
.neots-lp-table th { padding: 12px 16px; font-weight: 600; background: #161b22; }
.neots-lp-table tbody { background-color: rgba(2, 6, 23, 0.6); }
.neots-lp-table tr { border-top: 1px solid rgba(30, 41, 59, 0.8); transition: background-color 0.2s; }
.neots-lp-table tr:hover { background-color: rgba(15, 23, 42, 0.8); }
.neots-lp-table td { padding: 12px 16px; color: #f1f5f9; }

.neots-price-cyan { color: #67e8f9; font-weight: 600; }
.neots-price-emerald { color: #6ee7b7; font-weight: 600; }

.neots-lp-btn-action {
    display: inline-block; width: 100%; text-align: center;
    border-radius: 12px; padding: 6px 12px; font-size: 12px; font-weight: 600; 
    cursor: pointer; text-decoration: none; transition: 0.2s;
    background: transparent;
}
.neots-lp-btn-action.cyan { 
    border: 1px solid rgba(34, 211, 238, 0.6); background-color: rgba(6, 182, 212, 0.1); color: #a5f3fc; 
}
.neots-lp-btn-action.cyan:hover { background-color: rgba(34, 211, 238, 0.2); box-shadow: 0 0 20px rgba(34, 211, 238, 0.4); }

.neots-lp-btn-action.emerald { 
    border: 1px solid rgba(52, 211, 153, 0.6); background-color: rgba(16, 185, 129, 0.1); color: #a7f3d0; 
}
.neots-lp-btn-action.emerald:hover { background-color: rgba(52, 211, 153, 0.2); box-shadow: 0 0 20px rgba(52, 211, 153, 0.4); }

.neots-lp-desc { font-size: 12px; color: #94a3b8; line-height: 1.5; margin-top: 10px; }

@media(max-width: 768px) {
  .neots-ts-grid { grid-template-columns: 1fr; }
  .neots-address-row { grid-template-columns: 1fr; }
  .neots-btn { flex: 1; justify-content: center; }
  .neots-header-row { align-items:center; }
  .neots-tabs { justify-content: center; }
}
/* === Evita scroll no fundo quando modal aberto === */
body.neots-lock-scroll{overflow:hidden;}

/* ====== NeoTS Painel - Mobile Responsivo (v15) ====== */
/* Objetivo: ficar bom no celular sem quebrar desktop. */

.neots-wrap { overflow-x: hidden; }

.neots-scroll-x { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.neots-scroll-x > table { min-width: 700px; }

/* Evita inputs estourando a tela em iOS */
.neots-input, .neots-select, input, select, textarea { max-width: 100%; }

@media (max-width: 980px) {
  .neots-wrap { padding: 22px 14px; }
  .neots-grid { gap: 24px; }
  .neots-card { padding: 18px; border-radius: 12px; }
  .neots-ts { padding: 14px; }
  .neots-ts-grid { gap: 12px; }
}

@media (max-width: 720px) {
  /* Header / Tabs */
  .neots-title { font-size: 22px; }
  .neots-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; }
  .neots-tab-btn { flex: 0 0 auto; padding: 8px 12px; }

  /* Card header vira coluna */
  .neots-card-top { flex-direction: column; align-items: flex-start; gap: 10px; }
  .neots-card-status { flex-wrap: wrap; }

  /* Expiração e status quebram linha */
  .neots-expire-badge { width: 100%; justify-content: center; white-space: normal; line-height: 1.3; }

  /* Botões: stack */
  .neots-power-controls { flex-direction: column; }
  .neots-btn { width: 100%; justify-content: center; }

  /* Grid do TS: 1 coluna */
  .neots-ts-grid { grid-template-columns: 1fr; }

  /* IP/DNS: 1 coluna */
  .neots-address-row { grid-template-columns: 1fr; gap: 12px; }

  /* Tools: 2 colunas */
  .neots-tools-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }

  /* Tabelas/linhas longas: rolagem horizontal */
  .neots-lp-table-wrap,
  .neots-scroll-box,
  .neots-tree { overflow-x: auto; -webkit-overflow-scrolling: touch; }

  /* Modal ocupa tela melhor no mobile */
  .neots-modal-card { width: 96vw; border-radius: 14px; }
  .neots-modal-body { padding: 18px; }
}

@media (max-width: 420px) {
  .neots-wrap { padding: 18px 12px; }
  .neots-card { padding: 16px; }
  .neots-card-title { font-size: 16px; }
  .neots-btn { padding: 10px 14px; font-size: 13px; }
  .neots-tool-btn { padding: 10px; }
}


/* =====================================================
 * Mensagens automáticas - seletor de dias (dropdown)
 * ===================================================== */
.neots-am-days{ position:relative; display:inline-block; width:100%; }
.neots-am-days-btn{
  height:36px;
  padding:0 12px;
  border-radius:10px;
  border:1px solid rgba(148,163,184,0.25);
  background:rgba(15,23,42,0.65);
  color:#e2e8f0;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  min-width:140px;
}
.neots-am-days-btn:hover{ border-color:rgba(148,163,184,0.45); }
.neots-am-caret{ opacity:0.85; font-size:12px; }
.neots-am-days-pop{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:99999;
  background:rgba(2,6,23,0.98);
  border:1px solid rgba(148,163,184,0.25);
  border-radius:14px;
  padding:10px;
  box-shadow:0 18px 40px rgba(0,0,0,0.45);
  min-width:220px;
}
.neots-am-days-pop-inner{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.neots-am-day{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,0.18);
  background:rgba(15,23,42,0.55);
  color:#e2e8f0;
  font-size:12px;
  user-select:none;
}
.neots-am-day input{ margin:0; }
.neots-am-day:hover{ border-color:rgba(148,163,184,0.40); }

/* =====================================================
 * Selects (evita dropdown branco no Chrome/Windows)
 * ===================================================== */
.neots-select, .neots-modal select, select.neots-select{
  background:rgba(15,23,42,0.65) !important;
  color:#e2e8f0 !important;
  border:1px solid rgba(148,163,184,0.25) !important;
  border-radius:10px !important;
  color-scheme: dark;
}
.neots-select:focus, .neots-modal select:focus{
  outline:none;
  border-color:rgba(56,189,248,0.55) !important;
  box-shadow:0 0 0 3px rgba(56,189,248,0.15);
}
.neots-select option, .neots-modal select option{
  background:#0b1220 !important;
  color:#e2e8f0 !important;
}


/* Badge simples (para Sorteios/Presença) */
.neots-badge { display:inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 0.2px; background: rgba(255,255,255,0.08); color: #e9eefb; }
.neots-badge.ok { background: var(--neots-input-bg); color: var(--neots-success); border: 1px solid var(--neots-border); }
.neots-badge.bad { background: rgba(239, 68, 68, 0.16); color: #fecaca; border: 1px background: rgba(239, 68, 68, 0.16); color: #fecaca; border: 1px solid rgba(239, 68, 68, 0.32); }

.neots-table-wrap { width:100%; overflow:auto; border-radius: 14px; }
.neots-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; font-size: 12px; }
/* =========================================================
   Presença (Attendance) - layout refinado (alinhamento)
   ========================================================= */
.neots-att-box { padding-top: 18px; }
.neots-att-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}
.neots-att-title {
  font-weight: 800;
  color: var(--neots-text);
  font-size: 16px;
  line-height: 1.2;
}
.neots-att-header-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.neots-att-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: stretch;
  margin-top: 8px;
}
@media (max-width: 980px){
  .neots-att-grid{ grid-template-columns: 1fr; }
}

.neots-att-col{
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.neots-att-channels{
  height: 360px;
  max-height: 360px;
}
@media (max-width: 980px){
  .neots-att-channels{ height: 260px; max-height: 260px; }
}

.neots-att-loading{
  padding: 12px;
  text-align: center;
}

.neots-att-help{
  margin-top: 2px;
}

.neots-att-notes{
  height: 44px;
  min-height: 44px;
  resize: none;
}

.neots-att-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  border-top: 1px solid rgba(255,255,255,0.10);
  padding-top: 14px;
  margin-top: 14px;
}
.neots-att-hint{
  margin-right: auto;
  font-size: 13px;
  font-weight: 700;
  color: var(--neots-primary);
  white-space: nowrap;
}
@media (max-width: 980px){
  .neots-att-hint{ white-space: normal; }
}

.neots-att-footer-actions{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.neots-att-primary{
  padding-left: 20px;
  padding-right: 20px;
}

/* Botões utilitários do painel (para manter padrão e alinhar) */
.neots-btn-ghost{
  background: transparent;
  border-color: rgba(255,255,255,0.18);
  color: var(--neots-text);
}
.neots-btn-ghost:hover:not(:disabled){
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.28);
}

.neots-btn-primary{
  background: var(--neots-primary-glow);
  border-color: var(--neots-primary);
  color: var(--neots-primary);
}
.neots-btn-primary:hover:not(:disabled){
  background: rgba(34, 211, 238, 0.22);
  border-color: rgba(34, 211, 238, 0.70);
}

.neots-att-history-box{ padding-top: 18px; }
.neots-att-history-title{ margin-bottom: 10px; display:block; }
.neots-att-history{ min-height: 100px; }


/* Confirm overlay (não fecha o modal principal) */
.neots-confirm-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,0.55);
  padding:18px;
}
.neots-confirm-card{
  width:min(460px, 100%);
  background:#0b1220;
  border:1px solid rgba(148,163,184,0.25);
  border-radius:14px;
  box-shadow:0 20px 60px rgba(0,0,0,0.5);
  padding:16px 16px 14px 16px;
}
.neots-confirm-title{
  font-weight:800;
  color:#fff;
  margin-bottom:8px;
  font-size:15px;
}
.neots-confirm-text{
  color:#cbd5e1;
  font-size:13px;
  line-height:1.45;
  margin-bottom:14px;
}
.neots-confirm-actions{
  display:flex;
  gap:10px;
  justify-content:center;
}


/* Attendance history table: improve readability */
.neots-att-history .neots-compact-table th,
.neots-att-history .neots-compact-table td{
  vertical-align: middle;
}

/* ==========================================================
   CARDS INTERNOS (Estilo das caixas de Config/Programar)
   ========================================================== */
.neots-panel-box {
    /* Estrutura base da caixa */
    background: #1e293b; /* Cor fallback */
    border: 1px solid #334155;
    border-radius: 12px; /* Arredondamento igual ao print */
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    position: relative;
    display: flex;
    flex-direction: column;
}

/* Ajuste específico para quando usamos o fundo azul escuro */
.neots-att-col .neots-panel-box {
    height: 100%; /* Garante que preencha a altura da coluna */
    box-sizing: border-box;
}

/* Títulos dentro das caixas (Padronização) */
.neots-panel-title {
    font-weight: 700;
    color: #fff;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Garante contraste dos inputs dentro dos cards escuros */
.neots-panel-box .neots-input,
.neots-panel-box .neots-select {
    background: #161b22; 
    border-color: #30363d;
}
.neots-panel-box .neots-input:focus,
.neots-panel-box .neots-select:focus {
    border-color: var(--neots-primary);
}

/* === Programar Presença: Observação fixa (sem redimensionar) === */
#neots-sch-notes { resize: none !important; }
textarea.neots-sch-notes { resize: none !important; }

/* === Presença: Card "Como funciona" (igual ao card de Filtros de Cargos) === */
.neots-att-helpbox{
  background:#0b1220 !important;
  border:1px solid rgba(255,255,255,0.06) !important;
  border-radius:10px;
  padding:14px 16px !important;
  color:#e5e7eb;
  font-size:13px;
  line-height:1.5;
}
.neots-att-helpbox > div:first-child{
  color:#ffffff !important;
  font-weight:800;
  margin-bottom:6px;
}
.neots-att-helpbox b,
.neots-att-helpbox strong{
  color:#ffffff !important;
}

/* === Programar: padronizar fundo azul dos selects/inputs === */
.neots-panel-box select.neots-input,
.neots-panel-box .neots-select,
.neots-panel-box input[type="time"].neots-input,
.neots-panel-box input[type="text"].neots-input {
  background: #0b1220 !important;
  border-color: #1e293b !important;
  color: #e5e7eb;
}

/* === Programar: Nome/Observação com fundo azul (campos específicos) === */
#neots-sch-title,
#neots-sch-notes{
  background:#0b1220 !important;
  border-color:#1e293b !important;
  color:#e5e7eb !important;
}
#neots-sch-title::placeholder,
#neots-sch-notes::placeholder{
  color:rgba(203,213,225,.45) !important;
}

/* === Registrar Presença: campos de escrita com fundo azul === */
#neots-att-title,
#neots-att-notes{
  background:#0b1220 !important;
  border-color:#1e293b !important;
  color:#e5e7eb !important;
}
#neots-att-title::placeholder,
#neots-att-notes::placeholder{
  color:rgba(203,213,225,.45) !important;
}

/* === Programar: Observação sem scrollbar e com mesma altura do Nome === */
#neots-sch-notes{
  height: 42px !important;       /* mesma altura padrão dos inputs */
  min-height: 42px !important;
  max-height: 42px !important;
  overflow: hidden !important;   /* remove barra de rolagem */
  line-height: 20px;             /* mantém texto bem centralizado */
  padding-top: 10px;             /* garante alinhamento visual */
  padding-bottom: 10px;
}

/* === Programar: remover scrollbar VISUAL da Observação === */
#neots-sch-notes{
  overflow-y: hidden !important;
  overflow-x: hidden !important;
}

/* Chrome / Edge / Safari */
#neots-sch-notes::-webkit-scrollbar{
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

/* Firefox */
#neots-sch-notes{
  scrollbar-width: none !important;
}

/* === Registrar Presença: alinhar altura do card "Como funciona" (somente este card) === */
#neots-att-helpbox{
  min-height: 150px;
}

/* === Programar: alinhar altura do card "Como funciona" (somente este card) === */
#neots-sch-tutorial{
  min-height: 130px;
}
