/* ══════════════════════════════════════════════════════════════
   INOVAWEB — Kanban de Demandas
   Tudo escopado em .iwk-app para NÃO conflitar com o tema.
   ══════════════════════════════════════════════════════════════ */

/* As variáveis valem para o quadro E para elementos que ficam no <body>. */
.iwk-app, .iwk-modal-back, .iwk-toasts, .iwk-update-notice, .iwk-tabloader, .iwk-filter-layer{
  /* Tokens (herdados da identidade INOVAWEB) */
  --iwk-bg:        #000000;
  --iwk-bg1:       #060606;
  --iwk-bg2:       #0b0b0b;
  --iwk-bg3:       #101010;
  --iwk-surface:   #0d0d0d;
  --iwk-card:      #101010;
  --iwk-line:      rgba(255,255,255,.08);
  --iwk-line2:     rgba(255,255,255,.045);
  --iwk-line-gold: rgba(229,160,43,.22);

  --iwk-gold:      #e5a02b;
  --iwk-gold-l:    #f7c773;
  --iwk-gold-d:    #b87916;
  --iwk-amber:     #f59e0b;
  --iwk-glow:      rgba(229,160,43,.10);

  --iwk-white:     #f5f5f4;
  --iwk-ink:       #e7e7e5;
  --iwk-sub:       rgba(245,245,244,.58);
  --iwk-muted:     rgba(245,245,244,.38);
  --iwk-dim:       rgba(245,245,244,.22);

  --iwk-green:     #4ade80;
  --iwk-red:       #ef4444;
  --iwk-blue:      #60a5fa;

  --iwk-radius:    10px;
  --iwk-f-sans:    'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --iwk-f-mono:    'Geist Mono', 'JetBrains Mono', ui-monospace, monospace;
}

/* Base do container do quadro */
.iwk-app{
  font-family: var(--iwk-f-sans);
  color: var(--iwk-ink);
  background: var(--iwk-bg);
  border: 1px solid var(--iwk-line);
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  min-height: 520px;
}
.iwk-modal-back, .iwk-toasts, .iwk-update-notice, .iwk-filter-layer{ font-family: var(--iwk-f-sans); color: var(--iwk-ink); line-height: 1.5; -webkit-font-smoothing: antialiased; }

/* Reset local — app + modais + toasts */
.iwk-app *, .iwk-app *::before, .iwk-app *::after,
.iwk-modal-back *, .iwk-modal-back *::before, .iwk-modal-back *::after,
.iwk-toasts *, .iwk-toasts *::before, .iwk-toasts *::after,
.iwk-update-notice *, .iwk-update-notice *::before, .iwk-update-notice *::after,
.iwk-filter-layer *, .iwk-filter-layer *::before, .iwk-filter-layer *::after{ box-sizing: border-box; }
.iwk-app *, .iwk-modal-back *, .iwk-toasts *, .iwk-update-notice *, .iwk-filter-layer *{ margin: 0; }

.iwk-app button, .iwk-modal-back button, .iwk-toasts button, .iwk-update-notice button, .iwk-filter-layer button{ font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
.iwk-app input, .iwk-app textarea, .iwk-app select,
.iwk-modal-back input, .iwk-modal-back textarea, .iwk-modal-back select{ font-family: inherit; color: inherit; }
.iwk-app a, .iwk-modal-back a{ color: inherit; text-decoration: none; }
.iwk-app h1,.iwk-app h2,.iwk-app h3,.iwk-app h4,
.iwk-modal-back h1,.iwk-modal-back h2,.iwk-modal-back h3,.iwk-modal-back h4{ font-weight: 600; letter-spacing: -.02em; }

.iwk-app ::-webkit-scrollbar{ width: 8px; height: 8px; }
.iwk-app ::-webkit-scrollbar-track{ background: transparent; }
.iwk-app ::-webkit-scrollbar-thumb{ background: rgba(229,160,43,.25); border-radius: 8px; }
.iwk-app ::-webkit-scrollbar-thumb:hover{ background: rgba(229,160,43,.45); }

.iwk-mono{ font-family: var(--iwk-f-mono); }

/* Loader */
.iwk-boot-loader{
  display:flex; align-items:center; justify-content:center; gap:12px;
  min-height:520px; color:var(--iwk-sub); font-family:var(--iwk-f-mono); font-size:.8rem;
}
.iwk-spin{
  width:16px; height:16px; border-radius:50%;
  border:2px solid var(--iwk-line); border-top-color:var(--iwk-gold);
  animation: iwk-spin .7s linear infinite;
}
@keyframes iwk-spin{ to{ transform: rotate(360deg); } }

/* ─────────────── TOPBAR ─────────────── */
.iwk-topbar{
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  padding:16px 20px;
  border-bottom:1px solid var(--iwk-line);
  background:
    radial-gradient(ellipse 60% 120% at 0% 0%, rgba(229,160,43,.06), transparent 60%),
    var(--iwk-bg1);
}
.iwk-brand{ display:flex; align-items:center; gap:10px; }
.iwk-brand-dot{
  width:9px; height:9px; border-radius:50%; background:var(--iwk-gold);
  box-shadow:0 0 10px var(--iwk-gold);
}
.iwk-brand-name{ font-weight:700; font-size:.95rem; letter-spacing:-.01em; color:var(--iwk-white); }
.iwk-brand-tag{
  font-family:var(--iwk-f-mono); font-size:.6rem; letter-spacing:.08em; color:var(--iwk-gold);
  padding:3px 8px; border:1px solid var(--iwk-line-gold); border-radius:4px;
  background:rgba(229,160,43,.05); text-transform:uppercase;
}
.iwk-topbar-spacer{ flex:1; }

.iwk-search{
  display:flex; align-items:center; gap:8px;
  padding:7px 12px; border:1px solid var(--iwk-line); border-radius:8px;
  background:var(--iwk-bg2); min-width:180px; transition:border-color .2s;
}
.iwk-search:focus-within{ border-color:var(--iwk-line-gold); }
.iwk-search svg{ width:14px; height:14px; color:var(--iwk-muted); flex-shrink:0; }
.iwk-search input{
  border:none; background:none; outline:none; font-size:.82rem; width:100%; color:var(--iwk-ink);
}
.iwk-search input::placeholder{ color:var(--iwk-muted); }

.iwk-tabs{ display:flex; gap:2px; padding:3px; background:var(--iwk-bg2); border:1px solid var(--iwk-line); border-radius:9px; }
.iwk-tab{
  font-size:.78rem; padding:6px 14px; border-radius:6px; color:var(--iwk-sub);
  transition:color .18s, background .18s; white-space:nowrap;
}
.iwk-tab:hover{ color:var(--iwk-white); }
.iwk-tab.iwk-active{ color:#000; background:var(--iwk-gold); font-weight:600; }

.iwk-user{
  display:flex; align-items:center; gap:9px; padding:5px 6px 5px 12px;
  border:1px solid var(--iwk-line); border-radius:100px; background:var(--iwk-bg2);
  min-width:0;
}
.iwk-user-name{ font-size:.78rem; color:var(--iwk-ink); max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.iwk-user-av{ width:26px; height:26px; flex:0 0 26px; border-radius:50%; object-fit:cover; border:1.5px solid var(--iwk-line-gold); overflow:hidden; }
.iwk-logout{
  width:26px; height:26px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; color:var(--iwk-muted); transition:color .18s, background .18s;
}
.iwk-logout:hover{ color:var(--iwk-red); background:rgba(239,68,68,.1); }
.iwk-logout svg{ width:14px; height:14px; }

/* Gestores possuem três abas extras: compacta somente esse cabeçalho para
   manter usuário e logout na primeira linha sem alterar os colaboradores. */
@media (min-width: 1501px){
  .iwk-topbar-management{ flex-wrap:nowrap; gap:10px; }
  .iwk-topbar-management .iwk-tabs{
    min-width:0; flex:0 1 auto; overflow-x:auto; scrollbar-width:none; margin-left:6px;
  }
  .iwk-topbar-management .iwk-tabs::-webkit-scrollbar{ display:none; }
  .iwk-topbar-management .iwk-tab{ padding-left:10px; padding-right:10px; }
  .iwk-topbar-management .iwk-topbar-spacer{ min-width:0; }
  .iwk-topbar-management .iwk-search{ flex:0 1 190px; min-width:160px; }
  .iwk-topbar-management .iwk-btn,
  .iwk-topbar-management .iwk-user{ flex:0 0 auto; white-space:nowrap; }
}

@media (min-width: 901px) and (max-width: 1500px){
  .iwk-topbar-management .iwk-tabs{
    order:4; width:100%; max-width:100%; overflow-x:auto; scrollbar-width:none;
  }
  .iwk-topbar-management .iwk-tabs::-webkit-scrollbar{ display:none; }
  .iwk-topbar-management .iwk-search{ margin-left:auto; }
}

/* Botões */
.iwk-btn{
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 15px; font-size:.8rem; font-weight:500; border-radius:8px;
  transition:background .18s, box-shadow .18s, transform .12s, color .18s, border-color .18s;
  white-space:nowrap;
}
.iwk-btn svg{ width:14px; height:14px; }
.iwk-btn-gold{ background:var(--iwk-gold); color:#000; font-weight:600; box-shadow:inset 0 0 0 1px rgba(229,160,43,.4); }
.iwk-btn-gold:hover{ background:var(--iwk-gold-l); transform:translateY(-1px); box-shadow:0 6px 18px rgba(229,160,43,.2); }
.iwk-btn-ghost{ background:var(--iwk-bg2); color:var(--iwk-ink); box-shadow:inset 0 0 0 1px var(--iwk-line); }
.iwk-btn-ghost:hover{ color:var(--iwk-white); background:var(--iwk-bg3); box-shadow:inset 0 0 0 1px var(--iwk-line-gold); }
.iwk-btn-danger{ background:rgba(239,68,68,.12); color:#fca5a5; box-shadow:inset 0 0 0 1px rgba(239,68,68,.25); }
.iwk-btn-danger:hover{ background:rgba(239,68,68,.2); color:#fff; }
.iwk-btn-sm{ padding:5px 11px; font-size:.74rem; }

/* ─────────────── BOARD ─────────────── */
.iwk-board-wrap{ padding:18px 20px 24px; overflow-x:auto; }
.iwk-board{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(270px, 1fr);
  gap:14px; align-items:start; min-height:400px;
}
.iwk-col{
  background:var(--iwk-bg1); border:1px solid var(--iwk-line); border-radius:12px;
  display:flex; flex-direction:column; max-height:calc(100vh - 220px); min-height:120px;
}
.iwk-col.iwk-drag-over{ border-color:var(--iwk-line-gold); background:rgba(229,160,43,.03); }
.iwk-col-head{
  display:flex; align-items:center; gap:8px; padding:14px 14px 10px;
  border-bottom:1px solid var(--iwk-line2); position:sticky; top:0;
}
.iwk-col-title{
  font-family:var(--iwk-f-mono); font-size:.72rem; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; color:var(--iwk-white);
}
.iwk-col-count{
  font-family:var(--iwk-f-mono); font-size:.66rem; color:var(--iwk-muted);
  padding:2px 7px; border:1px solid var(--iwk-line); border-radius:100px; margin-left:auto;
}
.iwk-col-accent{ width:20px; height:3px; border-radius:3px; background:var(--iwk-gold); opacity:.85; }
.iwk-col.iwk-col-finalizadas .iwk-col-accent{ background:var(--iwk-green); }

.iwk-col-body{
  padding:10px; display:flex; flex-direction:column; gap:9px; overflow-y:auto; flex:1;
}
.iwk-col-add{
  display:flex; align-items:center; gap:7px; justify-content:center;
  padding:9px; margin:0 10px 10px; border-radius:8px;
  border:1px dashed var(--iwk-line); color:var(--iwk-sub); font-size:.78rem;
  transition:border-color .18s, color .18s, background .18s;
}
.iwk-col-add:hover{ border-color:var(--iwk-line-gold); color:var(--iwk-gold); background:rgba(229,160,43,.03); }
.iwk-col-add svg{ width:14px; height:14px; }

/* ─────────────── CARD ─────────────── */
.iwk-card{
  background:var(--iwk-card); border:1px solid var(--iwk-line); border-radius:10px;
  padding:12px 56px 12px 12px; min-height:106px; cursor:grab; position:relative; overflow:hidden;
  flex:0 0 auto;
  transition:border-color .18s, box-shadow .18s, transform .12s;
}
.iwk-card:hover{ border-color:var(--iwk-line-gold); box-shadow:0 6px 20px rgba(0,0,0,.4); }
.iwk-card:active{ cursor:grabbing; }
.iwk-card.iwk-dragging{ opacity:.45; border-style:dashed; }
.iwk-card::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--iwk-gold); opacity:0; transition:opacity .2s;
}
.iwk-card.iwk-has-client::before{ opacity:1; background:var(--iwk-card-accent, var(--iwk-gold)); }
.iwk-card.iwk-prio-high::before{ background:var(--iwk-card-accent, var(--iwk-gold)); }

.iwk-card-tags{ display:flex; align-items:flex-start; flex-wrap:wrap; gap:5px; margin-bottom:9px; }
.iwk-tag{
  display:inline-flex; align-items:center; gap:5px;
	font-family:var(--iwk-f-mono); font-size:.6rem; font-weight:700; letter-spacing:.04em;
	padding:3px 8px; border-radius:5px; text-transform:uppercase; line-height:1.3;
}
.iwk-tag svg{ width:12px; height:12px; flex:0 0 12px; display:block; }
.iwk-tag-client{ color:#fff; }
.iwk-priority-alert{
  width:20px; height:20px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(239,68,68,.14) !important; color:#f87171 !important; border:1px solid rgba(239,68,68,.32);
  box-shadow:0 0 0 0 rgba(239,68,68,.35); animation:iwk-pulse-red 2s infinite;
}
.iwk-priority-alert svg{ width:13px; height:13px; display:block; color:currentColor; stroke:currentColor; }
.iwk-tag-deadline{
  background:var(--iwk-red) !important; color:#fff !important;
  display:inline-flex; align-items:center; gap:4px;
  animation: iwk-pulse-red 2s infinite;
}
.iwk-tag-deadline.iwk-late{ background:#b91c1c !important; }
@keyframes iwk-pulse-red{
  0%,100%{ box-shadow:0 0 0 0 rgba(239,68,68,.4); }
  60%{ box-shadow:0 0 0 5px rgba(239,68,68,0); }
}
.iwk-tag-done{ background:rgba(74,222,128,.15); color:#86efac; }
.iwk-tag-completion{ border:1px solid transparent; }
.iwk-tag-completion.iwk-completion-early{ background:rgba(74,222,128,.13); border-color:rgba(74,222,128,.28); color:#86efac; }
.iwk-tag-completion.iwk-completion-ontime{ background:rgba(96,165,250,.13); border-color:rgba(96,165,250,.28); color:#93c5fd; }
.iwk-tag-completion.iwk-completion-late{ background:rgba(239,68,68,.13); border-color:rgba(239,68,68,.3); color:#fca5a5; }
.iwk-tag-routine{
  background:rgba(96,165,250,.14); color:#93c5fd;
}

.iwk-card-title{
  font-size:.9rem; font-weight:500; color:var(--iwk-white); line-height:1.35; letter-spacing:-.01em;
  margin-bottom:8px; word-break:break-word;
}
.iwk-card.iwk-done .iwk-card-title{ color:var(--iwk-sub); }

.iwk-card-foot{ display:flex; align-items:center; gap:10px; margin-top:10px; }
.iwk-card.iwk-done .iwk-card-foot{ flex-wrap:wrap; row-gap:6px; }
.iwk-card-meta{
  display:inline-flex; align-items:center; gap:5px;
  font-family:var(--iwk-f-mono); font-size:.66rem; color:var(--iwk-sub);
}
.iwk-card-meta svg{ width:12px; height:12px; opacity:.8; }
.iwk-card-meta.iwk-due-soon{ color:#fca5a5; }
.iwk-detail-due{ color:var(--iwk-gold-l); }
.iwk-detail-completed{ color:#86efac; }
.iwk-detail-completed.iwk-completion-early{ color:#86efac; }
.iwk-detail-completed.iwk-completion-ontime{ color:#93c5fd; }
.iwk-detail-completed.iwk-completion-late{ color:#fca5a5; }
.iwk-detail-due svg, .iwk-detail-completed svg{ color:currentColor; }
.iwk-card-foot-spacer{ flex:1; }

.iwk-avatars{ display:flex; position:absolute; right:12px; bottom:12px; }
.iwk-avatars .iwk-av{
  width:22px; height:22px; border-radius:50%; margin-left:-6px;
  border:2px solid var(--iwk-card); display:flex; align-items:center; justify-content:center;
  font-family:var(--iwk-f-mono); font-size:.58rem; font-weight:700; color:#000; overflow:hidden;
}
.iwk-avatars .iwk-av:first-child{ margin-left:0; }
.iwk-av img{ width:100%; height:100%; object-fit:cover; }
.iwk-av-empty{ background:rgba(74,222,128,.12); color:var(--iwk-green); }
.iwk-av-empty svg{ width:13px; height:13px; }

.iwk-card-quickdone{
  position:absolute; right:10px; top:10px;
  width:24px; height:24px; border-radius:7px; display:flex; align-items:center; justify-content:center;
  background:var(--iwk-bg2); border:1px solid var(--iwk-line); color:var(--iwk-muted);
  box-shadow:0 8px 22px rgba(0,0,0,.18); transition:border-color .18s, background .18s, color .18s, transform .18s;
}
.iwk-card-quickdone:hover{
  border-color:rgba(74,222,128,.55); background:rgba(74,222,128,.08); color:var(--iwk-green);
  transform:scale(1.04);
}
.iwk-card-quickdone svg{ width:14px; height:14px; stroke-width:2.2; }
.iwk-card-quickdone::before{
  content:""; display:block; width:12px; height:12px; flex:0 0 12px; pointer-events:none;
  background:url("https://demandas.inovawebdesign.com.br/wp-content/uploads/2026/08/check.svg") center/contain no-repeat;
  filter:brightness(0) saturate(100%) invert(84%) sepia(33%) saturate(626%) hue-rotate(75deg) brightness(96%) contrast(91%);
  transition:filter .18s, opacity .18s, transform .18s;
}

.iwk-card-check{
  width:24px; height:24px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  border:1.5px solid var(--iwk-line); color:var(--iwk-muted);
  transition:border-color .18s, color .18s, background .18s;
}
.iwk-card-check:hover{ border-color:var(--iwk-green); color:var(--iwk-green); background:rgba(74,222,128,.1); }
.iwk-card-check svg{ width:13px; height:13px; }
.iwk-card.iwk-done .iwk-card-check{ border-color:var(--iwk-green); color:var(--iwk-green); background:rgba(74,222,128,.12); }

.iwk-card-time{
	font-family:var(--iwk-f-mono); font-size:.62rem; color:var(--iwk-sub);
	display:inline-flex; align-items:center; gap:4px; white-space:nowrap;
	flex:0 0 auto; min-width:max-content;
}
.iwk-card-time svg{ flex:0 0 12px; opacity:.8; }

/* ─────────────── MODAL ─────────────── */
.iwk-modal-back{
  position:fixed; inset:0; z-index:99990;
  background:rgba(0,0,0,.72); backdrop-filter:blur(6px);
  display:flex; align-items:flex-start; justify-content:center;
  padding:40px 16px; overflow-y:auto;
  opacity:0; visibility:hidden; transition:opacity .25s, visibility 0s .25s;
}
.iwk-modal-back.iwk-open{ opacity:1; visibility:visible; transition:opacity .25s; }
.iwk-modal{
  width:100%; max-width:620px; background:var(--iwk-surface);
  border:1px solid var(--iwk-line); border-radius:14px; overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.7), 0 0 60px var(--iwk-glow);
  transform:translateY(16px) scale(.98); transition:transform .3s cubic-bezier(.34,1.3,.64,1);
  font-family:var(--iwk-f-sans);
}
.iwk-modal-back.iwk-open .iwk-modal{ transform:none; }
.iwk-modal-sm{ max-width:420px; }

.iwk-modal-head{
  display:flex; align-items:center; gap:12px; padding:18px 20px;
  border-bottom:1px solid var(--iwk-line);
  background:radial-gradient(ellipse 80% 200% at 0 0, rgba(229,160,43,.06), transparent 60%);
}
.iwk-modal-head h3{ font-size:1.05rem; color:var(--iwk-white); }
.iwk-modal-head .iwk-mono{ font-size:.62rem; color:var(--iwk-muted); letter-spacing:.06em; }
.iwk-modal-close{
  margin-left:auto; width:30px; height:30px; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  color:#fca5a5; border:1px solid var(--iwk-line); background:var(--iwk-bg2);
  font-family:Arial, Helvetica, sans-serif; font-size:24px; font-weight:700; line-height:1;
  transition:color .18s, background .18s, transform .2s;
}
.iwk-modal-close:hover{ color:var(--iwk-white); background:var(--iwk-bg3); transform:rotate(90deg); }
.iwk-modal-close span{ display:block; transform:translateY(-1px); pointer-events:none; }

.iwk-modal-body{ padding:20px; display:flex; flex-direction:column; gap:16px; }
.iwk-modal-foot{
  display:flex; align-items:center; gap:10px; padding:16px 20px;
  border-top:1px solid var(--iwk-line); background:var(--iwk-bg1);
}
.iwk-modal-foot-spacer{ flex:1; }

/* Form */
.iwk-field{ display:flex; flex-direction:column; gap:6px; }
.iwk-field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.iwk-label{
  font-family:var(--iwk-f-mono); font-size:.66rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--iwk-muted);
}
.iwk-input, .iwk-textarea, .iwk-select{
  width:100%; padding:10px 12px; font-size:.85rem;
  background:var(--iwk-bg2); border:1px solid var(--iwk-line); border-radius:8px;
  color:var(--iwk-ink); outline:none; transition:border-color .18s, box-shadow .18s;
}
.iwk-input:focus, .iwk-textarea:focus, .iwk-select:focus{
  border-color:var(--iwk-line-gold); box-shadow:0 0 0 3px rgba(229,160,43,.08);
}
.iwk-input::placeholder, .iwk-textarea::placeholder{ color:var(--iwk-muted); }
.iwk-textarea{ resize:vertical; min-height:80px; line-height:1.5; }
.iwk-select{ appearance:none; -webkit-appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23888' stroke-width='1.5'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; background-size:12px 12px; padding-right:34px;
}

/* Chips de responsáveis */
.iwk-chips{ display:flex; flex-wrap:wrap; gap:7px; }
.iwk-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 11px 5px 6px; border-radius:100px; font-size:.76rem;
  border:1px solid var(--iwk-line); background:var(--iwk-bg2); color:var(--iwk-sub);
  transition:border-color .18s, color .18s, background .18s; cursor:pointer;
}
.iwk-chip:hover{ border-color:var(--iwk-line-gold); color:var(--iwk-ink); }
.iwk-chip.iwk-on{ border-color:var(--iwk-line-gold); background:rgba(229,160,43,.08); color:var(--iwk-white); }
.iwk-chip-dot{ width:16px; height:16px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:.55rem; font-weight:700; color:#000; }

/* Materiais */
.iwk-materials{ display:flex; flex-direction:column; gap:8px; }
.iwk-material-row{ display:grid; grid-template-columns:1fr 1.4fr auto; gap:8px; align-items:center; }
.iwk-material-del{
  width:32px; height:32px; border-radius:7px; display:flex; align-items:center; justify-content:center;
  flex-shrink:0; color:var(--iwk-muted); border:1px solid var(--iwk-line); background:var(--iwk-bg2); transition:color .18s, background .18s, border-color .18s;
}
.iwk-material-del:hover{ color:var(--iwk-red); background:rgba(239,68,68,.1); }
.iwk-material-del svg{ width:14px; height:14px; display:block; color:currentColor; stroke:currentColor; pointer-events:none; }
.iwk-material-x{
  display:block; color:#fca5a5 !important; font-family:Arial, Helvetica, sans-serif;
  font-size:22px; font-weight:700; line-height:1; transform:translateY(-1px); pointer-events:none;
}
.iwk-add-link{
  display:inline-flex; align-items:center; gap:6px; font-size:.76rem; color:var(--iwk-gold);
  padding:6px 2px; align-self:flex-start;
}
.iwk-add-link:hover{ color:var(--iwk-gold-l); }
.iwk-add-link svg{ width:13px; height:13px; }

/* Color picker inline */
.iwk-colorwrap{ display:flex; align-items:center; gap:10px; }
.iwk-colorwrap input[type=color]{
  width:42px; height:38px; padding:0; border:1px solid var(--iwk-line); border-radius:8px; background:none; cursor:pointer;
}
.iwk-swatches{ display:flex; gap:6px; flex-wrap:wrap; }
.iwk-swatch{ width:24px; height:24px; border-radius:6px; border:2px solid transparent; transition:transform .12s, border-color .18s; }
.iwk-swatch:hover{ transform:scale(1.12); }
.iwk-swatch.iwk-on{ border-color:#fff; }

/* View mode do card (detalhe) */
.iwk-detail-section{ display:flex; flex-direction:column; gap:8px; }
.iwk-detail-desc{ font-size:.86rem; color:var(--iwk-ink); line-height:1.6; white-space:pre-wrap; }
.iwk-detail-materials a{
  display:flex; align-items:center; gap:8px; padding:9px 11px; border-radius:8px;
  border:1px solid var(--iwk-line); background:var(--iwk-bg2); font-size:.8rem; color:var(--iwk-ink);
  transition:border-color .18s, background .18s;
}
.iwk-detail-materials a:hover{ border-color:var(--iwk-line-gold); background:var(--iwk-bg3); color:var(--iwk-gold); }
.iwk-detail-materials a svg{ width:14px; height:14px; color:var(--iwk-gold); flex-shrink:0; }

.iwk-comments{ display:flex; flex-direction:column; gap:10px; }
.iwk-comment{ display:flex; gap:9px; }
.iwk-comment-av{ width:26px; height:26px; border-radius:50%; flex-shrink:0; background:var(--iwk-gold); display:flex; align-items:center; justify-content:center; font-size:.62rem; font-weight:700; color:#000; }
.iwk-comment-body{ flex:1; background:var(--iwk-bg2); border:1px solid var(--iwk-line); border-radius:8px; padding:9px 11px; }
.iwk-comment-meta{ font-family:var(--iwk-f-mono); font-size:.62rem; color:var(--iwk-muted); margin-bottom:3px; }
.iwk-comment-text{ font-size:.82rem; color:var(--iwk-ink); line-height:1.5; }

/* ─────────────── TEMPO (popup ao concluir) ─────────────── */
.iwk-time-illus{
  width:56px; height:56px; border-radius:50%; margin:0 auto 4px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(74,222,128,.12); border:1px solid rgba(74,222,128,.3); color:var(--iwk-green);
}
.iwk-time-illus svg{ width:26px; height:26px; }
.iwk-time-presets{ display:flex; flex-wrap:wrap; gap:7px; justify-content:center; }
.iwk-time-preset{
  padding:7px 13px; border-radius:100px; font-size:.78rem; font-family:var(--iwk-f-mono);
  border:1px solid var(--iwk-line); background:var(--iwk-bg2); color:var(--iwk-sub);
  transition:border-color .18s, color .18s, background .18s;
}
.iwk-time-preset:hover, .iwk-time-preset.iwk-on{
  border-color:var(--iwk-line-gold); color:var(--iwk-white); background:rgba(229,160,43,.08);
}

/* ─────────────── TUTORIAIS ─────────────── */
.iwk-view{ padding:20px 22px 28px; }
.iwk-view-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:20px; flex-wrap:wrap; }
.iwk-view-head h2{ font-size:1.3rem; color:var(--iwk-white); }
.iwk-view-head p{ font-size:.82rem; color:var(--iwk-sub); margin-top:4px; }
.iwk-tut-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:16px; }
.iwk-tut{
  border:1px solid var(--iwk-line); border-radius:12px; overflow:hidden; background:var(--iwk-bg1);
  transition:border-color .18s, transform .15s;
}
.iwk-tut:hover{ border-color:var(--iwk-line-gold); transform:translateY(-2px); }
.iwk-tut-embed{ position:relative; padding-bottom:62%; height:0; background:var(--iwk-bg3); }
.iwk-tut-embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.iwk-tut-info{ padding:14px 15px; }
.iwk-tut-info h4{ font-size:.92rem; color:var(--iwk-white); margin-bottom:5px; }
.iwk-tut-info p{ font-size:.78rem; color:var(--iwk-sub); line-height:1.5; }
.iwk-tut-actions{ display:flex; gap:6px; margin-top:12px; }

.iwk-reminder-section{ margin-top:22px; }
.iwk-reminder-section:first-of-type{ margin-top:0; }
.iwk-reminder-section-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px;
  border-bottom:1px solid var(--iwk-line2); padding-bottom:9px;
}
.iwk-reminder-section-head h3{ font-size:.9rem; color:var(--iwk-white); letter-spacing:.02em; text-transform:uppercase; }
.iwk-reminder-section-head span{ font-family:var(--iwk-f-mono); font-size:.68rem; color:var(--iwk-muted); }
.iwk-reminder-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:14px; }
.iwk-reminder-card{
  border:1px solid var(--iwk-line); border-radius:8px; background:var(--iwk-card);
  padding:14px; display:flex; flex-direction:column; gap:10px; min-height:160px;
  transition:border-color .18s, transform .18s, box-shadow .18s;
}
.iwk-reminder-card:hover{ border-color:var(--iwk-line-gold); transform:translateY(-1px); }
.iwk-reminder-card.iwk-highlight{ border-color:var(--iwk-gold); box-shadow:0 0 0 3px rgba(229,160,43,.12); }
.iwk-reminder-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.iwk-reminder-status{
  display:inline-flex; align-items:center; height:22px; padding:0 8px; border-radius:6px;
  font-family:var(--iwk-f-mono); font-size:.58rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  background:rgba(229,160,43,.14); color:var(--iwk-gold-l);
}
.iwk-reminder-status.iwk-rs-sent{ background:rgba(96,165,250,.14); color:#93c5fd; }
.iwk-reminder-status.iwk-rs-done{ background:rgba(74,222,128,.14); color:#86efac; }
.iwk-reminder-status.iwk-rs-expired{ background:rgba(239,68,68,.13); color:#fca5a5; }
.iwk-reminder-status.iwk-rs-active{ background:rgba(74,222,128,.14); color:#86efac; }
.iwk-reminder-status.iwk-rs-paused{ background:rgba(229,160,43,.14); color:var(--iwk-gold-l); }
.iwk-reminder-status.iwk-rs-ended{ background:rgba(148,163,184,.12); color:#cbd5e1; }
.iwk-reminder-date{
  display:inline-flex; align-items:center; gap:5px; font-family:var(--iwk-f-mono); font-size:.64rem; color:var(--iwk-sub);
  white-space:nowrap;
}
.iwk-reminder-date svg{ width:12px; height:12px; }
.iwk-reminder-card h3{ font-size:.95rem; color:var(--iwk-white); line-height:1.35; overflow-wrap:anywhere; }
.iwk-reminder-card p{
  font-size:.8rem; color:var(--iwk-sub); line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere;
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
}
.iwk-reminder-meta{ font-family:var(--iwk-f-mono); font-size:.64rem; color:var(--iwk-muted); }
.iwk-reminder-assignee{ color:var(--iwk-sub); }
.iwk-reminder-assignee strong{ color:var(--iwk-gold-l); font-weight:700; }
.iwk-reminder-links{ display:flex; flex-direction:column; gap:6px; }
.iwk-reminder-links a{
  display:flex; align-items:center; gap:7px; min-height:30px; padding:6px 8px; border-radius:7px;
  border:1px solid var(--iwk-line); color:var(--iwk-ink); background:var(--iwk-bg2);
  font-size:.74rem; overflow-wrap:anywhere;
}
.iwk-reminder-links a:hover{ color:var(--iwk-gold); border-color:var(--iwk-line-gold); background:var(--iwk-bg3); }
.iwk-reminder-links svg{ width:13px; height:13px; flex:0 0 13px; color:var(--iwk-gold); }
.iwk-reminder-actions{ display:flex; gap:7px; flex-wrap:wrap; margin-top:auto; }
.iwk-reminder-history .iwk-reminder-card{ opacity:.82; }
.iwk-routine-card p strong{ color:var(--iwk-white); font-weight:600; }
.iwk-routine-meta{
  display:flex; align-items:center; flex-wrap:wrap; gap:7px;
  font-family:var(--iwk-f-mono); font-size:.64rem; color:var(--iwk-muted);
}
.iwk-routine-meta > span:not(.iwk-tag){
  display:inline-flex; min-height:22px; align-items:center;
  padding:3px 7px; border-radius:6px; background:var(--iwk-bg2); border:1px solid var(--iwk-line);
}
.iwk-day-chip{ min-width:48px; justify-content:center; padding:7px 10px; border-radius:8px; }
.iwk-routine-toggle{
  min-height:41px; align-items:center; padding:10px 12px; border:1px solid var(--iwk-line);
  border-radius:8px; background:var(--iwk-bg2);
}

/* ─────────────── CAMPANHAS ─────────────── */
.iwk-campaign-filters{
  display:grid; grid-template-columns:minmax(220px, 1fr) minmax(190px, 260px); gap:10px;
  max-width:680px; margin-bottom:22px;
}
.iwk-campaign-filters .iwk-search{ min-width:0; }
.iwk-campaign-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(340px, 1fr)); gap:14px; }
.iwk-campaign-card{
  --iwk-campaign-client-color:var(--iwk-gold);
  position:relative; display:flex; flex-direction:column; gap:11px; min-width:0; padding:16px;
  border:1px solid var(--iwk-line); border-radius:8px; background:var(--iwk-card);
  transition:border-color .18s, transform .18s, box-shadow .18s;
}
.iwk-campaign-card::before{
  content:""; position:absolute; left:-1px; top:14px; bottom:14px; width:2px;
  background:var(--iwk-campaign-client-color); border-radius:0 2px 2px 0; opacity:.9;
}
.iwk-campaign-card.iwk-campaign-ended::before{ background:var(--iwk-muted); opacity:.45; }
.iwk-campaign-card:hover{ border-color:var(--iwk-line-gold); transform:translateY(-1px); box-shadow:0 12px 28px rgba(0,0,0,.18); }
.iwk-campaign-history .iwk-campaign-card{ opacity:.84; }
.iwk-campaign-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; }
.iwk-campaign-status{
  display:inline-flex; align-items:center; gap:5px; min-height:22px; padding:0 8px; border-radius:6px;
  font-family:var(--iwk-f-mono); font-size:.58rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  background:rgba(74,222,128,.13); color:#86efac; white-space:nowrap;
}
.iwk-campaign-status svg{ width:12px; height:12px; flex:0 0 12px; }
.iwk-campaign-status.iwk-cs-planned{ background:rgba(96,165,250,.13); color:#93c5fd; }
.iwk-campaign-status.iwk-cs-waiting{ background:rgba(229,160,43,.13); color:var(--iwk-gold-l); }
.iwk-campaign-status.iwk-cs-perpetual{ background:rgba(96,165,250,.13); color:#93c5fd; }
.iwk-campaign-status.iwk-cs-ended{ background:rgba(148,163,184,.12); color:#cbd5e1; }
.iwk-campaign-period{
  display:inline-flex; align-items:center; justify-content:flex-end; gap:5px; min-width:0;
  font-family:var(--iwk-f-mono); font-size:.62rem; color:var(--iwk-muted); text-align:right;
}
.iwk-campaign-period svg{ width:12px; height:12px; flex:0 0 12px; }
.iwk-campaign-card h3{ font-size:1rem; line-height:1.35; color:var(--iwk-white); overflow-wrap:anywhere; }
.iwk-campaign-focus{
  display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:2px 12px;
  padding:10px 0 10px 12px; border-left:2px solid var(--iwk-gold); min-width:0;
}
.iwk-campaign-focus > span{
  grid-column:1 / -1; font-family:var(--iwk-f-mono); font-size:.57rem; font-weight:700;
  letter-spacing:.06em; color:var(--iwk-gold); text-transform:uppercase;
}
.iwk-campaign-focus strong{ min-width:0; color:var(--iwk-white); font-size:.84rem; overflow-wrap:anywhere; }
.iwk-campaign-focus small{ grid-column:1 / -1; color:var(--iwk-muted); font-family:var(--iwk-f-mono); font-size:.62rem; }
.iwk-campaign-next{ display:grid; grid-template-columns:auto minmax(0, 1fr) auto; align-items:center; gap:7px; font-size:.7rem; color:var(--iwk-sub); }
.iwk-campaign-next span{ font-family:var(--iwk-f-mono); font-size:.57rem; text-transform:uppercase; color:var(--iwk-muted); }
.iwk-campaign-next strong{ color:var(--iwk-ink); font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.iwk-campaign-next small{ font-family:var(--iwk-f-mono); color:var(--iwk-muted); white-space:nowrap; }
.iwk-campaign-count{ font-family:var(--iwk-f-mono); color:var(--iwk-muted); font-size:.61rem; }
.iwk-modal-wide{ max-width:760px; }
.iwk-campaign-detail-meta{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.iwk-campaign-detail-meta > span:not(.iwk-tag):not(.iwk-campaign-status){ display:inline-flex; align-items:center; gap:5px; font-family:var(--iwk-f-mono); font-size:.64rem; color:var(--iwk-sub); }
.iwk-campaign-detail-meta svg{ width:12px; height:12px; }
.iwk-campaign-timeline{ display:flex; flex-direction:column; }
.iwk-campaign-phase{ position:relative; display:grid; grid-template-columns:24px minmax(0, 1fr) auto; gap:10px; min-height:52px; padding-bottom:12px; }
.iwk-campaign-phase:last-child{ min-height:32px; padding-bottom:0; }
.iwk-campaign-phase::before{ content:""; position:absolute; left:11px; top:22px; bottom:0; width:1px; background:var(--iwk-line); }
.iwk-campaign-phase:last-child::before{ display:none; }
.iwk-campaign-phase-dot{ position:relative; z-index:1; width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--iwk-bg2); border:1px solid var(--iwk-line); color:var(--iwk-muted); }
.iwk-campaign-phase-dot svg{ width:12px; height:12px; }
.iwk-phase-done .iwk-campaign-phase-dot{ color:#86efac; border-color:rgba(74,222,128,.35); background:rgba(74,222,128,.1); }
.iwk-phase-current .iwk-campaign-phase-dot{ border-color:var(--iwk-gold); background:var(--iwk-gold); box-shadow:0 0 0 4px rgba(229,160,43,.1); }
.iwk-phase-current .iwk-campaign-phase-dot::after{ content:""; width:6px; height:6px; border-radius:50%; background:#000; }
.iwk-campaign-phase-copy{ display:flex; flex-direction:column; gap:2px; min-width:0; padding-top:1px; }
.iwk-campaign-phase-copy strong{ color:var(--iwk-ink); font-size:.82rem; line-height:1.25; overflow-wrap:anywhere; }
.iwk-phase-current .iwk-campaign-phase-copy strong{ color:var(--iwk-white); }
.iwk-campaign-phase-copy span{ color:var(--iwk-muted); font-family:var(--iwk-f-mono); font-size:.61rem; }
.iwk-campaign-phase-index{ padding-top:3px; color:var(--iwk-dim); font-family:var(--iwk-f-mono); font-size:.59rem; }
.iwk-campaign-perpetual{ min-height:41px; padding:10px 12px; border:1px solid var(--iwk-line); border-radius:8px; background:var(--iwk-bg2); }
.iwk-campaign-phase-editor{ display:flex; flex-direction:column; gap:8px; }
.iwk-campaign-phase-row{ display:grid; grid-template-columns:58px minmax(150px, 1.4fr) minmax(128px, .8fr) minmax(128px, .8fr) 32px; gap:8px; align-items:center; }
.iwk-phase-number{ font-family:var(--iwk-f-mono); font-size:.57rem; font-weight:700; color:var(--iwk-gold); white-space:nowrap; }
.iwk-field-help{ display:block; color:var(--iwk-muted); font-size:.68rem; line-height:1.45; }

/* ─────────────── BIBLIOTECA DE CÓDIGOS ─────────────── */
.iwk-code-filters{
  display:grid; grid-template-columns:minmax(260px, 1fr) minmax(180px, 240px); gap:10px;
  max-width:760px; margin-bottom:22px;
}
.iwk-code-filters .iwk-search{ min-width:0; }
.iwk-code-loading{
  min-height:240px; display:flex; align-items:center; justify-content:center; gap:10px;
  color:var(--iwk-muted); font-family:var(--iwk-f-mono); font-size:.72rem;
}
.iwk-code-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(340px, 1fr)); gap:14px; }
.iwk-code-card{
  min-width:0; display:flex; flex-direction:column; gap:12px; padding:15px;
  border:1px solid var(--iwk-line); border-radius:8px; background:var(--iwk-card);
  transition:border-color .18s, transform .18s, box-shadow .18s;
}
.iwk-code-card:hover{ border-color:var(--iwk-line-gold); transform:translateY(-1px); box-shadow:0 12px 28px rgba(0,0,0,.18); }
.iwk-code-top, .iwk-code-bottom{ display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; }
.iwk-code-language{
  display:inline-flex; align-items:center; min-height:22px; padding:0 8px; border-radius:6px;
  font-family:var(--iwk-f-mono); font-size:.58rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  background:rgba(148,163,184,.13); color:#cbd5e1; white-space:nowrap;
}
.iwk-code-language-php{ background:rgba(139,92,246,.16); color:#c4b5fd; }
.iwk-code-language-html{ background:rgba(251,113,133,.15); color:#fda4af; }
.iwk-code-language-css{ background:rgba(96,165,250,.15); color:#93c5fd; }
.iwk-code-language-javascript{ background:rgba(250,204,21,.15); color:#fde047; }
.iwk-code-language-other{ background:rgba(148,163,184,.13); color:#cbd5e1; }
.iwk-code-updated{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:var(--iwk-f-mono); font-size:.59rem; color:var(--iwk-muted); }
.iwk-code-heading{ min-height:48px; }
.iwk-code-heading h3{ font-size:.96rem; line-height:1.35; color:var(--iwk-white); overflow-wrap:anywhere; }
.iwk-code-heading p{
  margin-top:4px; font-size:.76rem; line-height:1.45; color:var(--iwk-sub); overflow-wrap:anywhere;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.iwk-code-preview{
  min-height:154px; max-height:210px; overflow:auto; padding:12px 13px;
  border:1px solid var(--iwk-line); border-radius:7px; background:#050505;
  color:#d6d3d1; tab-size:2; scrollbar-width:thin;
}
.iwk-code-preview code{ display:block; min-width:max-content; font-family:var(--iwk-f-mono); font-size:.7rem; line-height:1.55; white-space:pre; }
.iwk-code-bottom > span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:var(--iwk-f-mono); font-size:.61rem; color:var(--iwk-muted); }
.iwk-code-actions{ display:flex; align-items:center; justify-content:flex-end; gap:7px; flex:0 0 auto; }
.iwk-code-actions .iwk-btn svg{ flex:0 0 14px; }
.iwk-code-empty{ margin-top:0; }
.iwk-code-retry{ margin:14px auto 0; }
.iwk-code-description{ min-height:78px; }
.iwk-code-editor{
  min-height:340px; resize:vertical; white-space:pre; overflow:auto; tab-size:2;
  font-family:var(--iwk-f-mono); font-size:.76rem; line-height:1.6; color:#e7e5e4; background:#050505;
}

.iwk-empty{
  text-align:center; padding:60px 20px; color:var(--iwk-muted); font-size:.85rem;
  border:1px dashed var(--iwk-line); border-radius:12px;
}
.iwk-empty svg{ width:34px; height:34px; margin:0 auto 12px; display:block; opacity:.5; color:var(--iwk-gold); }
.iwk-empty-iconline{
  display:flex; align-items:center; justify-content:center; gap:9px;
}
.iwk-app .iwk-empty-iconline > svg:first-child{
  width:15px !important; height:15px !important; margin:0 !important;
  display:block !important; flex:0 0 15px; opacity:.55; color:var(--iwk-gold);
}
.iwk-empty-iconline > span{ min-width:0; line-height:1.45; }

/* ─────────────── CONFIG (admin) ─────────────── */
.iwk-cfg{ display:flex; flex-direction:column; gap:18px; max-width:640px; }
.iwk-cfg-card{ border:1px solid var(--iwk-line); border-radius:12px; padding:18px; background:var(--iwk-bg1); }
.iwk-cfg-card h4{ font-size:.9rem; color:var(--iwk-white); margin-bottom:4px; }
.iwk-cfg-card .iwk-cfg-desc{ font-size:.76rem; color:var(--iwk-sub); margin-bottom:14px; line-height:1.5; }
.iwk-events-list{ display:flex; flex-direction:column; gap:8px; }
.iwk-check{ display:flex; align-items:center; gap:9px; font-size:.82rem; color:var(--iwk-ink); cursor:pointer; }
.iwk-check input{ width:16px; height:16px; accent-color:var(--iwk-gold); }
.iwk-check code{ font-family:var(--iwk-f-mono); font-size:.72rem; color:var(--iwk-gold); background:rgba(229,160,43,.06); padding:1px 6px; border-radius:4px; }
.iwk-manage-list{ display:flex; flex-direction:column; gap:8px; }
.iwk-manage-item{ display:flex; align-items:center; gap:10px; padding:9px 11px; border:1px solid var(--iwk-line); border-radius:9px; background:var(--iwk-bg2); }
.iwk-manage-item .iwk-mi-dot{ width:14px; height:14px; border-radius:4px; flex-shrink:0; }
.iwk-manage-item .iwk-mi-name{ font-size:.84rem; color:var(--iwk-ink); flex:1; }
.iwk-manage-item .iwk-mi-role{ font-family:var(--iwk-f-mono); font-size:.66rem; color:var(--iwk-muted); }
.iwk-manage-del{
  width:31px !important; height:31px !important; flex:0 0 31px !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  padding:0 !important; border-radius:8px !important;
  background:rgba(239,68,68,.12) !important; color:#fca5a5 !important;
  border:1px solid rgba(239,68,68,.25) !important; box-shadow:none !important;
  font-size:19px !important; line-height:1 !important; font-weight:700 !important;
}
.iwk-manage-del span{ color:currentColor !important; display:block !important; transform:translateY(-1px); pointer-events:none; }
.iwk-manage-del:hover{ background:rgba(239,68,68,.2) !important; color:#fff !important; border-color:rgba(239,68,68,.42) !important; }
.iwk-icon-btn{ width:28px; height:28px; border-radius:7px; display:flex; align-items:center; justify-content:center; color:var(--iwk-muted); border:1px solid var(--iwk-line); background:var(--iwk-bg1); transition:color .18s, background .18s; }
.iwk-icon-btn:hover{ color:var(--iwk-white); background:var(--iwk-bg3); }
.iwk-icon-btn.iwk-del:hover{ color:var(--iwk-red); background:rgba(239,68,68,.1); }
.iwk-icon-btn svg{ width:14px; height:14px; }

/* Toast */
.iwk-toasts{ position:fixed; bottom:20px; right:20px; z-index:99999; display:flex; flex-direction:column; gap:8px; }
body.iwk-has-update-notice .iwk-toasts{ bottom:150px; }
.iwk-toast{
  padding:11px 16px; border-radius:9px; font-size:.82rem; color:var(--iwk-white);
  background:var(--iwk-surface); border:1px solid var(--iwk-line-gold);
  box-shadow:0 10px 30px rgba(0,0,0,.5); display:flex; align-items:center; gap:9px;
  animation: iwk-toast-in .3s cubic-bezier(.34,1.3,.64,1);
  font-family:var(--iwk-f-sans); max-width:320px;
}
.iwk-toast.iwk-toast-ok{ border-color:rgba(74,222,128,.4); }
.iwk-toast.iwk-toast-err{ border-color:rgba(239,68,68,.4); }
.iwk-toast-dot{ width:8px; height:8px; border-radius:50%; background:var(--iwk-gold); flex-shrink:0; }
.iwk-toast-ok .iwk-toast-dot{ background:var(--iwk-green); }
.iwk-toast-err .iwk-toast-dot{ background:var(--iwk-red); }
@keyframes iwk-toast-in{ from{ opacity:0; transform:translateX(20px); } }

/* Aviso de atualização do quadro */
.iwk-update-notice{
  position:fixed; right:20px; bottom:20px; z-index:99988;
  width:min(440px, calc(100vw - 32px)); display:grid; grid-template-columns:14px minmax(0, 1fr) auto; align-items:center; gap:14px;
  padding:14px; border:1px solid var(--iwk-line-gold); border-radius:10px;
  background:linear-gradient(135deg, rgba(18,18,18,.98), rgba(8,8,8,.98));
  box-shadow:0 22px 60px rgba(0,0,0,.58), inset 0 0 0 1px rgba(255,255,255,.025);
  animation: iwk-update-in .32s cubic-bezier(.34,1.3,.64,1);
}
.iwk-update-pulse{
  width:10px; height:10px; border-radius:50%; flex:0 0 10px; background:var(--iwk-gold);
  box-shadow:0 0 0 6px rgba(229,160,43,.12), 0 0 24px rgba(229,160,43,.42);
}
.iwk-update-copy{ display:flex; flex-direction:column; gap:4px; min-width:0; text-align:left; }
.iwk-update-copy strong{ font-size:.86rem; color:var(--iwk-white); line-height:1.2; }
.iwk-update-copy span{ font-size:.74rem; color:var(--iwk-sub); line-height:1.35; }
.iwk-update-list{ display:flex; flex-direction:column; gap:3px; align-items:stretch; }
.iwk-update-list span{
  display:grid; grid-template-columns:10px minmax(0, 1fr); gap:3px; align-items:start;
  font-size:.74rem; color:var(--iwk-sub); line-height:1.35; text-align:left; overflow-wrap:anywhere;
}
.iwk-update-list i{ font-style:normal; color:var(--iwk-gold); line-height:1.35; }
.iwk-update-btn{
  flex:0 0 auto; height:34px; padding:0 12px; border-radius:8px;
  background:var(--iwk-gold); color:#000; font-size:.74rem; font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(229,160,43,.38);
}
.iwk-update-btn:hover{ background:var(--iwk-gold-l); color:#000; }
@keyframes iwk-update-in{ from{ opacity:0; transform:translateY(16px); } }

/* ─────────────── LOGIN GATE ─────────────── */
.iwk-gate{
  min-height:560px; display:flex; align-items:center; justify-content:center;
  padding:40px 20px; position:relative;
  background:
    radial-gradient(ellipse 50% 40% at 50% 0%, rgba(229,160,43,.10), transparent 60%),
    var(--iwk-bg);
}
.iwk-gate-bg{
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 60% 60% at 50% 40%, #000 20%, transparent 100%);
}
.iwk-gate-card{
  position:relative; z-index:2; width:100%; max-width:400px;
  background:var(--iwk-surface); border:1px solid var(--iwk-line); border-radius:16px;
  padding:34px 30px; box-shadow:0 30px 80px rgba(0,0,0,.6), 0 0 60px var(--iwk-glow);
}
.iwk-gate-brand{ display:flex; align-items:center; gap:9px; margin-bottom:22px; }
.iwk-gate-dot{ width:9px; height:9px; border-radius:50%; background:var(--iwk-gold); box-shadow:0 0 10px var(--iwk-gold); }
.iwk-gate-brandname{ font-weight:700; letter-spacing:-.01em; color:var(--iwk-white); }
.iwk-gate-tag{
  font-family:var(--iwk-f-mono); font-size:.58rem; letter-spacing:.1em; color:var(--iwk-gold);
  padding:3px 8px; border:1px solid var(--iwk-line-gold); border-radius:4px; margin-left:auto;
}
.iwk-gate-title{ font-size:1.35rem; color:var(--iwk-white); line-height:1.2; margin-bottom:8px; }
.iwk-gate-sub{ font-size:.83rem; color:var(--iwk-sub); margin-bottom:22px; line-height:1.5; }
.iwk-gate-error{
  font-size:.78rem; color:#fca5a5; background:rgba(239,68,68,.1);
  border:1px solid rgba(239,68,68,.25); border-radius:8px; padding:10px 12px; margin-bottom:16px;
}
.iwk-resume-box{
  display:flex; flex-direction:column; gap:8px; margin-bottom:16px;
  padding:10px; border:1px solid var(--iwk-line); border-radius:12px; background:rgba(229,160,43,.05);
}
.iwk-resume-btn{
  width:100%; display:flex; align-items:center; gap:10px; padding:9px;
  border:1px solid var(--iwk-line-gold); border-radius:10px; background:rgba(229,160,43,.08);
  color:var(--iwk-white); text-align:left; transition:border-color .18s, background .18s, transform .12s;
}
.iwk-resume-btn:hover{ background:rgba(229,160,43,.13); border-color:var(--iwk-gold); transform:translateY(-1px); }
.iwk-resume-btn:disabled{ opacity:.75; cursor:wait; transform:none; }
.iwk-resume-av{
  width:34px; height:34px; border-radius:50%; overflow:hidden; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; background:var(--iwk-gold); color:#000;
  font-family:var(--iwk-f-mono); font-size:.66rem; font-weight:800;
}
.iwk-resume-av img{ width:100%; height:100%; object-fit:cover; }
.iwk-resume-btn strong{ display:block; font-size:.84rem; line-height:1.2; color:var(--iwk-white); }
.iwk-resume-btn small{ display:block; margin-top:2px; font-size:.7rem; color:var(--iwk-sub); }
.iwk-resume-clear{
  align-self:center; padding:3px 8px; color:var(--iwk-muted); font-size:.72rem;
  border:0; background:transparent; border-radius:6px;
}
.iwk-resume-clear:hover{ color:var(--iwk-gold); background:rgba(229,160,43,.07); }
.iwk-iptrust{
  display:flex; flex-direction:column; gap:10px; padding:12px; border:1px solid rgba(229,160,43,.18);
  border-radius:12px; background:rgba(229,160,43,.045);
}
.iwk-iptrust strong{ display:block; font-size:.82rem; color:var(--iwk-white); line-height:1.25; }
.iwk-iptrust span{ display:block; margin-top:3px; font-size:.72rem; color:var(--iwk-sub); line-height:1.4; }
.iwk-iptrust-actions{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.iwk-iptrust-choice{
  min-height:34px; padding:0 10px; border-radius:8px; border:1px solid var(--iwk-line);
  background:var(--iwk-bg2); color:var(--iwk-sub); font-size:.72rem; font-weight:700;
}
.iwk-iptrust-choice:hover{ color:var(--iwk-white); border-color:var(--iwk-line-gold); }
.iwk-iptrust-choice.iwk-on{
  background:rgba(229,160,43,.14); color:var(--iwk-white); border-color:var(--iwk-gold);
}
/* Estiliza o form nativo do WordPress dentro do gate */
.iwk-gate #iwk-loginform{ display:flex; flex-direction:column; gap:14px; }
.iwk-gate #iwk-loginform p{ display:flex; flex-direction:column; gap:6px; margin:0; }
.iwk-gate #iwk-loginform label{
  font-family:var(--iwk-f-mono); font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; color:var(--iwk-muted);
}
.iwk-gate #iwk-loginform input[type=text],
.iwk-gate #iwk-loginform input[type=password]{
  width:100%; padding:11px 13px; font-size:.88rem;
  background:var(--iwk-bg2); border:1px solid var(--iwk-line); border-radius:9px;
  color:var(--iwk-ink); outline:none; transition:border-color .18s, box-shadow .18s;
}
.iwk-gate #iwk-loginform input[type=text]:focus,
.iwk-gate #iwk-loginform input[type=password]:focus{
  border-color:var(--iwk-line-gold); box-shadow:0 0 0 3px rgba(229,160,43,.08);
}
.iwk-gate #iwk-loginform .login-remember{ flex-direction:row !important; align-items:center; gap:8px; }
.iwk-gate #iwk-loginform .login-remember label{
  flex-direction:row; align-items:center; gap:8px; text-transform:none; letter-spacing:0;
  font-family:var(--iwk-f-sans); font-size:.8rem; color:var(--iwk-sub);
}
.iwk-gate #iwk-loginform .login-remember input{ width:16px; height:16px; accent-color:var(--iwk-gold); }
.iwk-gate #iwk-loginform .login-submit input[type=submit]{
  width:100%; padding:12px; font-size:.88rem; font-weight:600; border-radius:9px;
  background:var(--iwk-gold) !important; color:#000 !important; border:none !important;
  cursor:pointer; transition:background .18s, transform .12s; box-shadow:none !important; text-shadow:none !important;
}
.iwk-gate #iwk-loginform .login-submit input[type=submit]:hover{ background:var(--iwk-gold-l) !important; transform:translateY(-1px); }
.iwk-gate-foot{
  display:flex; align-items:center; gap:10px; margin-top:20px; padding-top:16px;
  border-top:1px solid var(--iwk-line2); font-family:var(--iwk-f-mono); font-size:.66rem; color:var(--iwk-muted);
}

/* Utilidades */
.iwk-hidden{ display:none !important; }
.iwk-spin-sm{ width:13px; height:13px; border:2px solid rgba(0,0,0,.25); border-top-color:#000; border-radius:50%; animation:iwk-spin .7s linear infinite; }

/* ─────────────── RESPONSIVO ─────────────── */
@media (max-width: 900px){
  .iwk-topbar{ padding:12px 14px; gap:10px; }
  .iwk-tabs{ order:4; width:100%; max-width:100%; overflow-x:auto; }
  .iwk-search{ order:5; width:100%; min-width:0; }
  .iwk-board-wrap{ padding:14px; }
  .iwk-field-row{ grid-template-columns:1fr; }
  .iwk-material-row{ grid-template-columns:1fr 1fr auto; }
  .iwk-reminder-grid{ grid-template-columns:1fr; }
  .iwk-campaign-grid{ grid-template-columns:1fr; }
  .iwk-code-grid{ grid-template-columns:1fr; }
  .iwk-campaign-filters .iwk-search{ order:initial; width:auto; }
  .iwk-code-filters .iwk-search{ order:initial; width:auto; }
  .iwk-campaign-phase-row{ grid-template-columns:52px minmax(0, 1fr) minmax(118px, .72fr) minmax(118px, .72fr) 32px; }
}
@media (max-width: 560px){
  .iwk-user{ gap:7px; padding:4px 5px 4px 10px; max-width:170px; }
  .iwk-user-name{ display:inline-block; max-width:92px; font-size:.74rem; }
  .iwk-user-av{ width:24px; height:24px; flex-basis:24px; }
  .iwk-logout{ width:24px; height:24px; }
  .iwk-brand-tag{ display:none; }
  .iwk-modal-back{ padding:16px 10px; }
  .iwk-update-notice{ right:12px; bottom:12px; width:calc(100vw - 24px); grid-template-columns:14px minmax(0, 1fr); align-items:flex-start; }
  .iwk-update-btn{ grid-column:1 / -1; }
  .iwk-update-btn{ width:100%; }
  body.iwk-has-update-notice .iwk-toasts{ bottom:190px; right:12px; }
  .iwk-iptrust-actions{ grid-template-columns:1fr; }
  .iwk-reminder-top{ align-items:flex-start; flex-direction:column; }
  .iwk-reminder-actions .iwk-btn{ flex:1; justify-content:center; }
  .iwk-reminder-card{ padding:13px; }
  .iwk-view{ padding:16px 12px 24px; }
  .iwk-campaign-filters{ grid-template-columns:1fr; }
  .iwk-code-filters{ grid-template-columns:1fr; }
  .iwk-code-card{ padding:13px; }
  .iwk-code-bottom{ align-items:flex-start; flex-direction:column; }
  .iwk-code-actions{ width:100%; }
  .iwk-code-actions .iwk-btn{ flex:1; justify-content:center; }
  .iwk-code-editor{ min-height:280px; }
  .iwk-campaign-top{ align-items:flex-start; flex-direction:column; }
  .iwk-campaign-period{ justify-content:flex-start; text-align:left; }
  .iwk-campaign-card{ padding:14px; }
  .iwk-campaign-phase-row{ grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) 32px; padding:10px; border:1px solid var(--iwk-line); border-radius:8px; background:var(--iwk-bg1); }
  .iwk-phase-number{ grid-column:1 / 3; grid-row:1; }
  .iwk-phase-title-input{ grid-column:1 / -1; }
  .iwk-campaign-phase-row input[type=date]{ grid-column:1 / -1; }
  .iwk-campaign-phase-row .iwk-material-del{ grid-column:3; grid-row:1; }
  #iwk-ca-links .iwk-material-row{ grid-template-columns:minmax(0, 1fr) 32px; }
  #iwk-ca-links .iwk-material-row input:first-child{ grid-column:1 / -1; }
  #iwk-ca-links .iwk-material-row .iwk-material-del{ grid-column:2; grid-row:2; }
  .iwk-modal-foot{ flex-wrap:wrap; }
  .iwk-modal-foot .iwk-modal-foot-spacer{ display:none; }
  .iwk-modal-foot .iwk-btn{ flex:1; justify-content:center; }
}

/* ══════════════════════════════════════════════════════════════
   BLINDAGEM CONTRA O TEMA (hovers/focus/cores)
   Muitos temas (hello-elementor / Elementor Pro) aplicam borda,
   outline e cor aos <button>/<a>. Aqui neutralizamos isso e
   forçamos SOMENTE as nossas cores. !important só onde é preciso.
   ══════════════════════════════════════════════════════════════ */

/* Zera outline/underline/realce herdados em qualquer estado (app + modais) */
.iwk-app button, .iwk-app a, .iwk-app input, .iwk-app textarea, .iwk-app select,
.iwk-modal-back button, .iwk-modal-back a, .iwk-modal-back input, .iwk-modal-back textarea, .iwk-modal-back select,
.iwk-toasts button, .iwk-filter-layer button{
  outline: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}
.iwk-update-notice button,
.iwk-update-notice button:hover,
.iwk-update-notice button:focus,
.iwk-update-notice button:active{
  outline: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}
.iwk-app button:hover, .iwk-app button:focus, .iwk-app button:active, .iwk-app button:focus-visible,
.iwk-app a:hover, .iwk-app a:focus, .iwk-app a:active,
.iwk-app input:focus, .iwk-app textarea:focus, .iwk-app select:focus,
.iwk-modal-back button:hover, .iwk-modal-back button:focus, .iwk-modal-back button:active, .iwk-modal-back button:focus-visible,
.iwk-modal-back a:hover, .iwk-modal-back a:focus, .iwk-modal-back a:active,
.iwk-modal-back input:focus, .iwk-modal-back textarea:focus, .iwk-modal-back select:focus{
  outline: none !important;
  text-decoration: none !important;
}

/* Botão dourado — SEMPRE dourado com texto preto (o tema deixava o texto branco) */
.iwk-btn{ border: none !important; }
.iwk-btn-gold,
.iwk-btn-gold:hover,
.iwk-btn-gold:focus,
.iwk-btn-gold:active{
  background: var(--iwk-gold) !important;
  color: #000 !important;
  box-shadow: inset 0 0 0 1px rgba(229,160,43,.4) !important;
}
.iwk-btn-gold:hover{
  background: var(--iwk-gold-l) !important;
  box-shadow: 0 6px 18px rgba(229,160,43,.28) !important;
}
.iwk-btn-gold *{ color: #000 !important; }
.iwk-update-btn,
.iwk-update-btn:focus,
.iwk-update-btn:active{
  background: var(--iwk-gold) !important;
  color: #000 !important;
  border-color: rgba(229,160,43,.4) !important;
  box-shadow: inset 0 0 0 1px rgba(229,160,43,.4) !important;
}
.iwk-update-btn:hover{
  background: var(--iwk-gold-l) !important;
  color: #000 !important;
}

/* Botão fantasma */
.iwk-btn-ghost,
.iwk-btn-ghost:focus{
  background: var(--iwk-bg2) !important;
  color: var(--iwk-ink) !important;
  box-shadow: inset 0 0 0 1px var(--iwk-line) !important;
}
.iwk-btn-ghost:hover{
  background: var(--iwk-bg3) !important;
  color: var(--iwk-white) !important;
  box-shadow: inset 0 0 0 1px var(--iwk-line-gold) !important;
}

/* Botão de perigo */
.iwk-btn-danger,
.iwk-btn-danger:focus{
  background: rgba(239,68,68,.12) !important;
  color: #fca5a5 !important;
  box-shadow: inset 0 0 0 1px rgba(239,68,68,.25) !important;
}
.iwk-btn-danger:hover{ background: rgba(239,68,68,.2) !important; color: #fff !important; }
.iwk-btn-danger:hover *{ color: #fff !important; }

/* Links de ação (+ Novo cliente / + Adicionar link) — sem borda/fundo do tema */
.iwk-add-link,
.iwk-add-link:hover,
.iwk-add-link:focus,
.iwk-add-link:active{
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--iwk-gold) !important;
}
.iwk-add-link:hover{ color: var(--iwk-gold-l) !important; }

.iwk-resume-btn,
.iwk-resume-btn:focus,
.iwk-resume-btn:active{
  background: rgba(229,160,43,.08) !important;
  color: var(--iwk-white) !important;
  border-color: var(--iwk-line-gold) !important;
  box-shadow: none !important;
}
.iwk-resume-btn:hover{
  background: rgba(229,160,43,.13) !important;
  color: var(--iwk-white) !important;
  border-color: var(--iwk-gold) !important;
}
.iwk-resume-clear,
.iwk-resume-clear:focus,
.iwk-resume-clear:active{
  background: transparent !important;
  color: var(--iwk-muted) !important;
  border: 0 !important;
  box-shadow: none !important;
}
.iwk-resume-clear:hover{
  background: rgba(229,160,43,.07) !important;
  color: var(--iwk-gold) !important;
}
.iwk-iptrust-choice,
.iwk-iptrust-choice:focus,
.iwk-iptrust-choice:active{
  background: var(--iwk-bg2) !important;
  color: var(--iwk-sub) !important;
  border-color: var(--iwk-line) !important;
  box-shadow: none !important;
}
.iwk-iptrust-choice:hover{
  background: var(--iwk-bg3) !important;
  color: var(--iwk-white) !important;
  border-color: var(--iwk-line-gold) !important;
}
.iwk-iptrust-choice.iwk-on,
.iwk-iptrust-choice.iwk-on:hover{
  background: rgba(229,160,43,.14) !important;
  color: var(--iwk-white) !important;
  border-color: var(--iwk-gold) !important;
}

/* Abas */
.iwk-tab{ background: transparent !important; color: var(--iwk-sub) !important; box-shadow: none !important; }
.iwk-tab:hover{ color: var(--iwk-white) !important; background: transparent !important; }
.iwk-tab.iwk-active{ background: var(--iwk-gold) !important; color: #000 !important; }

/* Botões-ícone: mantêm só a borda/box que definimos (nada de vermelho do tema) */
.iwk-card-check,
.iwk-card-quickdone,
.iwk-material-del,
.iwk-icon-btn,
.iwk-iptrust-choice,
.iwk-modal-close,
.iwk-logout,
.iwk-col-add,
.iwk-chip,
.iwk-time-preset,
.iwk-quickdate{
  box-shadow: none !important;
  border-color: var(--iwk-line) !important;
}
.iwk-material-del,
.iwk-material-del:focus,
.iwk-material-del:active{
  background: var(--iwk-bg2) !important;
  color: #fca5a5 !important;
}
.iwk-material-del .iwk-material-x{ color: #fca5a5 !important; }
.iwk-material-del svg,
.iwk-material-del svg *{
  color: currentColor !important;
  stroke: currentColor !important;
}
.iwk-quickdate:hover{ border-color: var(--iwk-line-gold) !important; color: var(--iwk-white) !important; background: rgba(229,160,43,.08) !important; }
.iwk-quickdate-clear:hover{ border-color: rgba(239,68,68,.4) !important; color: #fca5a5 !important; background: rgba(239,68,68,.08) !important; }
.iwk-card-check:hover{ border-color: var(--iwk-green) !important; color: var(--iwk-green) !important; background: rgba(74,222,128,.1) !important; }
.iwk-card-quickdone,
.iwk-card-quickdone:focus,
.iwk-card-quickdone:active{
  background: rgba(74,222,128,.10) !important;
  color: #86efac !important;
  border-color: var(--iwk-line) !important;
}
.iwk-card-quickdone::before{
  width: 12px !important;
  height: 12px !important;
  opacity: .95 !important;
}
.iwk-card-quickdone:hover{
  border-color: rgba(74,222,128,.55) !important;
  background: rgba(74,222,128,.08) !important;
  color: var(--iwk-green) !important;
}
.iwk-card-quickdone:hover::before{
  filter:brightness(0) invert(1) !important;
  opacity: 1 !important;
  transform:scale(1.04);
}
.iwk-card.iwk-done .iwk-card-check{ border-color: var(--iwk-green) !important; color: var(--iwk-green) !important; background: rgba(74,222,128,.12) !important; }
.iwk-material-del:hover{ border-color: var(--iwk-line) !important; color: var(--iwk-red) !important; background: rgba(239,68,68,.1) !important; }
.iwk-material-del:hover .iwk-material-x{ color: #fff !important; }
.iwk-icon-btn:hover{ border-color: var(--iwk-line) !important; color: var(--iwk-white) !important; background: var(--iwk-bg3) !important; }
.iwk-icon-btn.iwk-del:hover{ color: var(--iwk-red) !important; background: rgba(239,68,68,.1) !important; }
.iwk-modal-close:hover{ color: var(--iwk-white) !important; background: var(--iwk-bg3) !important; }
.iwk-modal-close,
.iwk-modal-close:focus,
.iwk-modal-close:active{
  color: #fca5a5 !important;
  background: var(--iwk-bg2) !important;
}
.iwk-modal-close:hover{ color: var(--iwk-white) !important; background: var(--iwk-bg3) !important; }
.iwk-logout:hover{ color: var(--iwk-red) !important; background: rgba(239,68,68,.1) !important; border-color: var(--iwk-line) !important; }
.iwk-col-add:hover{ border-color: var(--iwk-line-gold) !important; color: var(--iwk-gold) !important; background: rgba(229,160,43,.03) !important; }
.iwk-chip:hover{ border-color: var(--iwk-line-gold) !important; color: var(--iwk-ink) !important; }
.iwk-chip.iwk-on{ border-color: var(--iwk-line-gold) !important; background: rgba(229,160,43,.08) !important; color: var(--iwk-white) !important; }
.iwk-modal-back .iwk-assignee-chip,
.iwk-modal-back .iwk-day-chip,
.iwk-modal-back .iwk-assignee-chip:focus,
.iwk-modal-back .iwk-day-chip:focus,
.iwk-modal-back .iwk-assignee-chip:active,
.iwk-modal-back .iwk-day-chip:active{
  background:var(--iwk-bg2) !important;
  border:1px solid var(--iwk-line) !important;
  color:var(--iwk-sub) !important;
  box-shadow:none !important;
}
.iwk-modal-back .iwk-assignee-chip:hover,
.iwk-modal-back .iwk-day-chip:hover{
  background:var(--iwk-bg3) !important;
  border-color:var(--iwk-line-gold) !important;
  color:var(--iwk-white) !important;
  box-shadow:none !important;
}
.iwk-modal-back .iwk-assignee-chip.iwk-on,
.iwk-modal-back .iwk-day-chip.iwk-on,
.iwk-modal-back .iwk-assignee-chip.iwk-on:hover,
.iwk-modal-back .iwk-day-chip.iwk-on:hover,
.iwk-modal-back .iwk-assignee-chip.iwk-on:focus,
.iwk-modal-back .iwk-day-chip.iwk-on:focus,
.iwk-modal-back .iwk-assignee-chip.iwk-on:active,
.iwk-modal-back .iwk-day-chip.iwk-on:active{
  background:rgba(229,160,43,.16) !important;
  border-color:var(--iwk-gold) !important;
  color:var(--iwk-white) !important;
  box-shadow:0 0 0 2px rgba(229,160,43,.12) !important;
}
.iwk-time-preset:hover,
.iwk-time-preset.iwk-on{ border-color: var(--iwk-line-gold) !important; color: var(--iwk-white) !important; background: rgba(229,160,43,.08) !important; }

/* Campos: foco sempre com anel dourado (não o do tema) */
.iwk-input:focus,
.iwk-textarea:focus,
.iwk-select:focus{
  border-color: var(--iwk-line-gold) !important;
  box-shadow: 0 0 0 3px rgba(229,160,43,.08) !important;
}

/* Cartão: hover nosso, sem interferência */
.iwk-card:hover{ border-color: var(--iwk-line-gold) !important; }

/* Links dentro do app (materiais, rodapé do gate) mantêm nossa cor */
.iwk-detail-materials a:hover{ color: var(--iwk-gold) !important; background: var(--iwk-bg3) !important; border-color: var(--iwk-line-gold) !important; }

/* ─────────────── FORMULÁRIO DE LOGIN (custom) ─────────────── */
.iwk-gate .iwk-login-form{ display:flex; flex-direction:column; gap:14px; }
.iwk-gate .iwk-login-form p{ display:flex; flex-direction:column; gap:6px; margin:0; }
.iwk-gate .iwk-login-form label{
  font-family:var(--iwk-f-mono); font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; color:var(--iwk-muted);
}
.iwk-gate .iwk-login-form input[type=text],
.iwk-gate .iwk-login-form input[type=password]{
  width:100%; padding:11px 13px; font-size:.88rem;
  background:var(--iwk-bg2) !important; border:1px solid var(--iwk-line) !important; border-radius:9px;
  color:var(--iwk-ink) !important; outline:none; transition:border-color .18s, box-shadow .18s;
}
.iwk-gate .iwk-login-form input[type=text]:focus,
.iwk-gate .iwk-login-form input[type=password]:focus{
  border-color:var(--iwk-line-gold) !important; box-shadow:0 0 0 3px rgba(229,160,43,.08) !important;
}
.iwk-gate .iwk-login-remember{ flex-direction:row !important; align-items:center; }
.iwk-gate .iwk-login-remember label{
  flex-direction:row; align-items:center; gap:8px; text-transform:none; letter-spacing:0;
  font-family:var(--iwk-f-sans); font-size:.8rem; color:var(--iwk-sub); cursor:pointer;
}
.iwk-gate .iwk-login-remember input{ width:16px; height:16px; accent-color:var(--iwk-gold); }
.iwk-gate .iwk-login-submit{ width:100%; justify-content:center; padding:12px; font-size:.9rem; margin-top:4px; }

/* ─────────────── HEX input + linha de link ─────────────── */
.iwk-colorwrap{ flex-wrap:wrap; }
.iwk-colorwrap .iwk-hex-input{
  width:120px; text-transform:lowercase; font-family:var(--iwk-f-mono); font-size:.82rem;
}
.iwk-linkrow{ display:flex; gap:8px; align-items:center; }
.iwk-linkrow .iwk-link-input{ flex:1; min-width:0; font-family:var(--iwk-f-mono); font-size:.76rem; color:var(--iwk-sub); }
.iwk-linkrow .iwk-copy-link{ flex-shrink:0; }

/* ─────────────── Botões rápidos de data (Hoje/Amanhã) ─────────────── */
.iwk-quickdates{ display:flex; gap:6px; margin-top:8px; flex-wrap:wrap; }
.iwk-quickdate{
  padding:5px 12px; border-radius:100px; font-size:.74rem; font-family:var(--iwk-f-mono);
  border:1px solid var(--iwk-line); background:var(--iwk-bg2); color:var(--iwk-sub);
  transition:border-color .18s, color .18s, background .18s;
}
.iwk-quickdate-clear{ margin-left:auto; color:var(--iwk-muted); }

/* ══════════════════════════════════════════════════════════════
   v1.9 — ACESSOS · FINANCEIRO · CONTRATOS
   ══════════════════════════════════════════════════════════════ */

/* Filtros genéricos das abas */
.iwk-filters{ display:flex; gap:10px; align-items:center; margin-bottom:16px; flex-wrap:wrap; }
.iwk-filters .iwk-search{ flex:1; min-width:200px; }
.iwk-sec-title{ font-size:.72rem; font-family:var(--iwk-f-mono); letter-spacing:.08em; text-transform:uppercase;
  color:var(--iwk-muted); margin:26px 0 12px; }
.iwk-hint{ font-size:.76rem; color:var(--iwk-sub); line-height:1.5; }

/* ─────────────── ACESSOS ─────────────── */
.iwk-access-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(330px,1fr)); gap:14px; }
.iwk-access-card{ border:1px solid var(--iwk-line); border-radius:12px; background:var(--iwk-bg1); padding:16px;
  display:flex; flex-direction:column; gap:12px; transition:border-color .18s; }
.iwk-access-card:hover{ border-color:var(--iwk-line-gold); }
.iwk-access-head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.iwk-access-title{ font-size:.95rem; font-weight:600; color:var(--iwk-white); flex:1; min-width:0; word-break:break-word; }
.iwk-access-url{ font-family:var(--iwk-f-mono); font-size:.68rem; color:var(--iwk-gold); display:inline-flex; align-items:center; gap:5px; }
.iwk-access-url svg{ width:12px; height:12px; }
.iwk-access-rows{ display:flex; flex-direction:column; gap:7px; }
.iwk-access-row{ display:flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--iwk-line2);
  border-radius:8px; background:var(--iwk-bg2); }
.iwk-access-label{ font-family:var(--iwk-f-mono); font-size:.62rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--iwk-muted); width:56px; flex-shrink:0; }
.iwk-access-value{ flex:1; min-width:0; font-family:var(--iwk-f-mono); font-size:.8rem; color:var(--iwk-ink);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.iwk-access-value.iwk-secret{ letter-spacing:.08em; }
.iwk-access-notes{ font-size:.78rem; color:var(--iwk-sub); line-height:1.5; padding-top:4px;
  border-top:1px dashed var(--iwk-line2); white-space:pre-wrap; }
.iwk-access-foot{ display:flex; align-items:center; gap:6px; padding-top:10px; border-top:1px solid var(--iwk-line2); }
.iwk-access-foot .iwk-mono{ flex:1; font-size:.64rem; color:var(--iwk-muted); }
.iwk-pass-row{ display:flex; gap:8px; align-items:center; }
.iwk-pass-row .iwk-input{ flex:1; font-family:var(--iwk-f-mono); }

/* ─────────────── FINANCEIRO ─────────────── */
.iwk-fin-nav{ display:flex; align-items:center; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.iwk-fin-month{ font-size:1rem; font-weight:600; color:var(--iwk-white); min-width:92px; text-align:center; text-transform:capitalize; }
.iwk-fin-kpis{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; margin-bottom:18px; }
.iwk-fin-kpi{ border:1px solid var(--iwk-line); border-radius:12px; background:var(--iwk-bg1); padding:16px 18px; }
.iwk-fin-kpi-k{ font-family:var(--iwk-f-mono); font-size:.62rem; letter-spacing:.08em; color:var(--iwk-muted); margin-bottom:8px; }
.iwk-fin-kpi-v{ font-size:1.35rem; font-weight:600; letter-spacing:-.02em; color:var(--iwk-white); }
.iwk-kpi-in .iwk-fin-kpi-v{ color:var(--iwk-green); }
.iwk-kpi-out .iwk-fin-kpi-v{ color:#fca5a5; }
.iwk-kpi-pos .iwk-fin-kpi-v{ color:var(--iwk-green); }
.iwk-kpi-neg .iwk-fin-kpi-v{ color:var(--iwk-red); }
.iwk-kpi-warn .iwk-fin-kpi-v{ color:var(--iwk-gold); }

.iwk-fin-chart{ border:1px solid var(--iwk-line); border-radius:12px; background:var(--iwk-bg1); padding:18px; margin-bottom:18px; }
.iwk-fin-chart-head{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; flex-wrap:wrap; }
.iwk-fin-chart-head h4{ font-size:.9rem; color:var(--iwk-white); }
.iwk-fin-legend{ display:flex; gap:14px; font-family:var(--iwk-f-mono); font-size:.66rem; color:var(--iwk-sub); }
.iwk-fin-legend span{ display:inline-flex; align-items:center; gap:6px; }
.iwk-fin-legend i{ width:9px; height:9px; border-radius:3px; display:inline-block; }
.iwk-dot-in{ background:var(--iwk-green); }
.iwk-dot-out{ background:var(--iwk-red); }
.iwk-dot-bal{ background:var(--iwk-gold); }
.iwk-fin-svg{ width:100%; height:220px; display:block; }
.iwk-fin-grid-line{ stroke:rgba(255,255,255,.06); stroke-width:1; }
.iwk-bar-in{ fill:var(--iwk-green); opacity:.85; }
.iwk-bar-out{ fill:var(--iwk-red); opacity:.8; }
.iwk-fin-line{ fill:none; stroke:var(--iwk-gold); stroke-width:1.6; stroke-dasharray:4 3; opacity:.9; }
.iwk-fin-xlabel{ fill:var(--iwk-muted); font-size:9px; font-family:var(--iwk-f-mono); text-anchor:middle; }

.iwk-fin-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.iwk-fin-col{ border:1px solid var(--iwk-line); border-radius:12px; background:var(--iwk-bg1); overflow:hidden; }
.iwk-fin-col-head{ display:flex; align-items:center; justify-content:space-between; padding:14px 16px;
  border-bottom:1px solid var(--iwk-line2); }
.iwk-fin-col-head h4{ font-size:.85rem; color:var(--iwk-white); }
.iwk-fin-col-head .iwk-mono{ font-size:.7rem; color:var(--iwk-muted); }
.iwk-fin-bills, .iwk-fin-entries{ display:flex; flex-direction:column; padding:10px; gap:8px; max-height:420px; overflow-y:auto; }

.iwk-bill{ display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--iwk-line2);
  border-radius:9px; background:var(--iwk-bg2); }
.iwk-bill-paid{ opacity:.62; }
.iwk-bill-check{ width:22px; height:22px; border-radius:6px; border:1.5px solid var(--iwk-line); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; color:var(--iwk-green); }
.iwk-bill-check svg{ width:13px; height:13px; }
.iwk-bill-paid .iwk-bill-check{ background:rgba(74,222,128,.15); border-color:var(--iwk-green); }
.iwk-bill-info{ flex:1; min-width:0; }
.iwk-bill-title{ font-size:.85rem; color:var(--iwk-white); }
.iwk-bill-var{ font-family:var(--iwk-f-mono); font-size:.58rem; color:var(--iwk-gold); border:1px solid var(--iwk-line-gold);
  border-radius:4px; padding:1px 5px; margin-left:4px; }
.iwk-bill-meta{ font-family:var(--iwk-f-mono); font-size:.64rem; color:var(--iwk-muted); margin-top:2px; }
.iwk-bill-amount{ font-family:var(--iwk-f-mono); font-size:.8rem; color:var(--iwk-ink); cursor:pointer;
  padding:4px 8px; border-radius:6px; border:1px dashed transparent; white-space:nowrap; }
.iwk-bill-amount:hover{ border-color:var(--iwk-line-gold); color:var(--iwk-gold); }
.iwk-bill-pending{ color:var(--iwk-gold); border-color:var(--iwk-line-gold); font-size:.7rem; }

.iwk-entry{ display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--iwk-line2);
  border-radius:9px; background:var(--iwk-bg2); border-left-width:3px; }
.iwk-entry-income{ border-left-color:var(--iwk-green); }
.iwk-entry-expense{ border-left-color:var(--iwk-red); }
.iwk-entry-main{ flex:1; min-width:0; }
.iwk-entry-desc{ font-size:.85rem; color:var(--iwk-white); word-break:break-word; }
.iwk-entry-meta{ font-family:var(--iwk-f-mono); font-size:.64rem; color:var(--iwk-muted); margin-top:2px; }
.iwk-entry-amount{ font-family:var(--iwk-f-mono); font-size:.82rem; white-space:nowrap; }
.iwk-entry-income .iwk-entry-amount{ color:var(--iwk-green); }
.iwk-entry-expense .iwk-entry-amount{ color:#fca5a5; }

.iwk-cat-list{ display:flex; flex-direction:column; gap:9px; }
.iwk-cat-row{ display:flex; align-items:center; gap:12px; }
.iwk-cat-name{ width:170px; flex-shrink:0; font-size:.78rem; color:var(--iwk-sub); }
.iwk-cat-bar{ flex:1; height:8px; border-radius:6px; background:var(--iwk-bg3); overflow:hidden; }
.iwk-cat-bar i{ display:block; height:100%; background:linear-gradient(90deg,var(--iwk-gold-d),var(--iwk-gold)); border-radius:6px; }
.iwk-cat-val{ font-family:var(--iwk-f-mono); font-size:.74rem; color:var(--iwk-ink); width:110px; text-align:right; }

.iwk-type-toggle{ display:flex; gap:8px; }
.iwk-type-btn{ flex:1; padding:9px; border-radius:8px; font-size:.82rem; border:1px solid var(--iwk-line);
  background:var(--iwk-bg2); color:var(--iwk-sub); }
.iwk-client-finance-choices{ display:flex; flex-direction:column; gap:9px; }
.iwk-modal-back .iwk-client-finance-choice{
  display:flex !important; flex-direction:column; align-items:flex-start; gap:3px;
  width:100%; height:auto !important; min-height:0; padding:13px 15px !important;
  text-align:left !important; white-space:normal !important; overflow:visible !important;
  line-height:normal !important; box-sizing:border-box;
}
.iwk-modal-back .iwk-client-finance-choice b{
  display:block; width:100%; color:var(--iwk-white); font-size:.88rem;
  line-height:1.35 !important; white-space:normal !important; overflow-wrap:anywhere;
}
.iwk-modal-back .iwk-client-finance-choice span{
  display:block; width:100%; color:var(--iwk-sub); font-size:.75rem;
  line-height:1.45 !important; white-space:normal !important; overflow-wrap:anywhere;
}

/* ─────────────── CONTRATOS ─────────────── */
.iwk-tpl-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:12px; }
.iwk-tpl-card{ text-align:left; border:1px solid var(--iwk-line); border-radius:12px; background:var(--iwk-bg1);
  padding:16px; display:flex; flex-direction:column; gap:7px; transition:border-color .18s, transform .12s; }
.iwk-tpl-card:hover{ transform:translateY(-2px); }
.iwk-tpl-tag{ font-family:var(--iwk-f-mono); font-size:.58rem; letter-spacing:.08em; color:var(--iwk-gold);
  border:1px solid var(--iwk-line-gold); border-radius:4px; padding:2px 7px; align-self:flex-start; }
.iwk-tpl-name{ font-size:.9rem; font-weight:600; color:var(--iwk-white); line-height:1.3; }
.iwk-tpl-desc{ font-size:.74rem; color:var(--iwk-sub); line-height:1.5; }

.iwk-ct-list{ display:flex; flex-direction:column; gap:8px; }
.iwk-ct-row{ display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid var(--iwk-line);
  border-radius:10px; background:var(--iwk-bg1); }
.iwk-ct-main{ flex:1; min-width:0; }
.iwk-ct-title{ font-size:.88rem; color:var(--iwk-white); word-break:break-word; }
.iwk-ct-meta{ font-family:var(--iwk-f-mono); font-size:.64rem; color:var(--iwk-muted); margin-top:3px; }

.iwk-modal-wide{ max-width:1080px; }
.iwk-ct-editor{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:0; max-height:70vh; }
.iwk-ct-editor.iwk-no-preview{ grid-template-columns:minmax(0,1fr); }
.iwk-ct-editor.iwk-no-preview .iwk-ct-preview{ display:none; }
.iwk-ct-form{ padding:20px; display:flex; flex-direction:column; gap:14px; overflow-y:auto; }
.iwk-ct-preview{ border-left:1px solid var(--iwk-line); background:#fff; overflow-y:auto; }
.iwk-ct-sec{ font-family:var(--iwk-f-mono); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--iwk-gold); padding-top:8px; border-top:1px dashed var(--iwk-line); }
.iwk-ct-sec:first-child{ border-top:0; padding-top:0; }

/* Documento (fundo claro, como papel) */
.iwk-doc-wrap{ background:#fff; color:#111; padding:34px 38px; font-family:Georgia,"Times New Roman",serif;
  font-size:.86rem; line-height:1.65; }
.iwk-doc-full{ max-height:64vh; overflow-y:auto; border-radius:10px; }
.iwk-doc-wrap .iwk-empty{ color:#888; border-color:#ddd; font-family:var(--iwk-f-sans); }
.iwk-doc-title{ font-size:1.05rem; text-align:center; margin:0 0 20px; text-transform:uppercase; color:#111; letter-spacing:.01em; }
.iwk-doc-h2{ font-size:.9rem; text-align:center; margin:20px 0 9px; text-transform:uppercase; color:#111; }
.iwk-doc-p{ margin:0 0 11px; text-align:justify; color:#222; }
.iwk-doc-p strong{ color:#000; }
.iwk-doc-place{ margin-top:30px; text-align:right; }
.iwk-doc-signs{ display:flex; gap:32px; margin-top:44px; }
.iwk-doc-sign{ flex:1; text-align:center; }
.iwk-doc-line{ display:block; border-top:1px solid #111; margin-bottom:6px; }
.iwk-doc-sign strong{ display:block; font-size:.8rem; color:#111; }
.iwk-doc-sign small{ display:block; font-size:.66rem; color:#666; text-transform:uppercase; letter-spacing:.06em; }

/* ─────────────── BLINDAGEM (v1.9) ─────────────── */
.iwk-bill-check, .iwk-type-btn, .iwk-tpl-card, .iwk-access-eye{
  box-shadow:none !important; border-color:var(--iwk-line) !important;
}
.iwk-type-btn:hover{ border-color:var(--iwk-line-gold) !important; color:var(--iwk-white) !important; background:rgba(229,160,43,.08) !important; }
.iwk-type-btn.iwk-on{ border-color:var(--iwk-gold) !important; background:rgba(229,160,43,.14) !important; color:var(--iwk-white) !important; }
.iwk-bill-check:hover{ border-color:var(--iwk-green) !important; background:rgba(74,222,128,.12) !important; }
.iwk-tpl-card:hover{ border-color:var(--iwk-line-gold) !important; background:var(--iwk-bg2) !important; }
.iwk-access-card, .iwk-fin-kpi, .iwk-fin-chart, .iwk-fin-col, .iwk-ct-row{ box-shadow:none !important; }
.iwk-fin-in:hover{ border-color:rgba(74,222,128,.4) !important; color:var(--iwk-green) !important; }
.iwk-fin-out:hover{ border-color:rgba(239,68,68,.4) !important; color:#fca5a5 !important; }
.iwk-doc-wrap, .iwk-doc-wrap *{ background:transparent; }
.iwk-doc-wrap{ background:#fff !important; }
.iwk-doc-wrap p, .iwk-doc-wrap h1, .iwk-doc-wrap h2{ color:#111 !important; }

/* Responsivo */
@media (max-width: 900px){
  .iwk-fin-grid{ grid-template-columns:1fr; }
  .iwk-ct-editor{ grid-template-columns:1fr; max-height:none; }
  .iwk-ct-preview{ border-left:0; border-top:1px solid var(--iwk-line); }
  .iwk-access-grid{ grid-template-columns:1fr; }
  .iwk-cat-name{ width:120px; }
}

/* ══════════════════════════════════════════════════════════════
   v1.10 — REDE DE SEGURANÇA DE ÍCONES (raiz do bug recorrente)
   O tema zera o tamanho de SVGs inline. Aqui todo SVG dentro do
   plugin ganha tamanho padrão, e quem precisa de outro tamanho
   sobrescreve com sua regra específica (que vem antes, mas com
   igual especificidade + !important abaixo apenas no fallback).
   ══════════════════════════════════════════════════════════════ */
.iwk-app svg:not(.iwk-fin-svg):not(.iwk-loader-svg),
.iwk-modal-back svg:not(.iwk-fin-svg):not(.iwk-loader-svg),
.iwk-toasts svg,
.iwk-filter-layer svg{
  width: 14px; height: 14px;
  flex: 0 0 auto; display: inline-block; vertical-align: middle;
  max-width: none; max-height: none; min-width: 0;
  stroke: currentColor; color: currentColor;
}
/* Gráficos e loader mantêm o tamanho próprio */
.iwk-app svg.iwk-fin-svg, .iwk-modal-back svg.iwk-fin-svg{ width:100%; height:220px; display:block; }

/* X textual dos modais (padrão do plugin) */
.iwk-modal-close span[aria-hidden]{ font-size:17px; line-height:1; font-weight:400; display:block; }

/* ─────────── CONTRATOS — correção de layout ─────────── */
.iwk-tpl-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr)) !important;
  gap:12px; align-items:stretch;
}
.iwk-tpl-card{
  min-width:0; width:100%; overflow:hidden;
  white-space:normal !important; text-align:left !important;
  align-items:flex-start;
}
.iwk-tpl-card > span{ display:block; width:100%; min-width:0; white-space:normal !important; word-break:break-word; }
.iwk-tpl-tag{ display:inline-block !important; width:auto !important; }
.iwk-tpl-name{ font-size:.88rem; line-height:1.35; }
.iwk-tpl-desc{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden; font-size:.73rem; line-height:1.45;
}
.iwk-ct-row{ flex-wrap:wrap; }
.iwk-ct-main{ flex:1 1 260px; }
.iwk-ct-title{ white-space:normal; }

/* Editor de contrato */
.iwk-modal-wide{ max-width:1140px; }
.iwk-ct-editor{ min-height:0; }
.iwk-ct-form{ min-width:0; }
.iwk-ct-preview{ min-width:0; }
.iwk-ct-head-actions{ display:flex; align-items:center; gap:8px; margin-left:auto; }
.iwk-modal-head .iwk-ct-head-actions + .iwk-modal-close{ margin-left:0; }

/* Documento: numeração e blocos do modelo oficial */
.iwk-doc-logo{ text-align:center; margin-bottom:26px; }
.iwk-doc-logo img{ width:180px; max-width:45%; height:auto; display:inline-block; }
.iwk-doc-num{ text-align:center; font-size:.78rem; color:#444; margin:-12px 0 22px; letter-spacing:.04em; }
.iwk-doc-h3{ font-size:.82rem; margin:18px 0 8px; text-transform:uppercase; color:#111; letter-spacing:.03em; }
.iwk-doc-parties{ margin-bottom:16px; }
/* Bloco técnico para leitura por IA: fica no HTML, mas NÃO aparece
   para o cliente (nem na prévia, nem no PDF impresso). */
.iwk-doc-meta{ display:none !important; }

/* ─────────── LOADER DE TROCA DE ABA ─────────── */
/* position:fixed => sempre centralizado no VIEWPORT (ultrawide e mobile). */
.iwk-tabloader{
  position:fixed; inset:0; z-index:99995;
  display:flex; align-items:center; justify-content:center;
  background:#000;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  animation:iwk-fadein .12s ease; opacity:1; transition:opacity .18s ease;
}
.iwk-tabloader.iwk-tabloader-out{ opacity:0; pointer-events:none; }
.iwk-tabloader-inner{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:15px;
  padding:26px 34px; border-radius:16px;
  background:var(--iwk-bg1); border:1px solid var(--iwk-line);
  box-shadow:0 24px 70px rgba(0,0,0,.65), 0 0 46px var(--iwk-glow);
}
@keyframes iwk-fadein{ from{ opacity:0 } to{ opacity:1 } }
.iwk-tabloader .iwk-loader-svg{
  width:96px !important; height:58px !important; max-width:none !important; max-height:none !important;
  display:block; overflow:visible; flex:0 0 auto;
}
.iwk-loader-svg .iwk-lo-track{ fill:none; stroke:rgba(229,160,43,.16); stroke-width:5;
  stroke-linecap:round; stroke-linejoin:round; }
.iwk-loader-svg .iwk-lo-fill{ fill:none; stroke:var(--iwk-gold); stroke-width:5;
  stroke-linecap:round; stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(229,160,43,.55));
  stroke-dasharray:100; stroke-dashoffset:100;
  animation:iwk-draw .78s cubic-bezier(.5,0,.3,1) forwards; }
.iwk-loader-svg .iwk-lo-slash{ animation-delay:.14s; }
.iwk-loader-svg .iwk-lo-b{ animation-delay:.26s; }
@keyframes iwk-draw{ to{ stroke-dashoffset:0 } }
.iwk-loader-label{ font-family:var(--iwk-f-mono); font-size:.68rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--iwk-muted); text-align:center; }
.iwk-loader-label b{ color:var(--iwk-gold); font-weight:500; }
.iwk-loader-bar{ width:130px; height:2px; border-radius:2px; background:rgba(255,255,255,.07); overflow:hidden; }
.iwk-loader-bar i{ display:block; height:100%; width:0;
  background:linear-gradient(90deg,var(--iwk-gold-d),var(--iwk-gold-l));
  animation:iwk-loadbar 1s cubic-bezier(.4,0,.2,1) forwards; }
@keyframes iwk-loadbar{ to{ width:100% } }
@media (prefers-reduced-motion: reduce){
  .iwk-loader-svg .iwk-lo-fill, .iwk-loader-bar i{ animation-duration:.01s; }
}
@media (max-width: 560px){
  .iwk-tabloader-inner{ padding:22px 26px; }
  .iwk-loader-svg{ width:80px; height:50px; }
}

/* ─────────── ABAS SIGILOSAS ─────────── */
.iwk-tab-secret{ position:relative; }
.iwk-tab-lock{
  display:inline-flex; align-items:center; margin-right:5px; opacity:.9;
  /* o cadeado é SVG e herda currentColor: escuro na aba ativa (fundo dourado),
     dourado quando inativa. Antes era emoji colorido e sumia no dourado. */
}
.iwk-tab-lock svg{ width:11px !important; height:11px !important; }
.iwk-tab-secret:not(.iwk-active){ color:var(--iwk-gold-l) !important; }
.iwk-tab-secret:not(.iwk-active)::after{
  content:''; position:absolute; left:8px; right:8px; bottom:2px; height:1px;
  background:linear-gradient(90deg,transparent,var(--iwk-line-gold),transparent);
}
.iwk-tab-secret.iwk-active{ color:#000 !important; }
.iwk-tab-secret.iwk-active .iwk-tab-lock{ opacity:1; color:#000 !important; }
.iwk-tab-secret.iwk-active .iwk-tab-lock svg{ stroke:#000 !important; color:#000 !important; }

.iwk-secret-banner{
  display:flex; align-items:center; gap:9px; padding:9px 13px; margin-bottom:16px;
  border:1px solid var(--iwk-line-gold); border-left-width:3px; border-radius:8px;
  background:rgba(229,160,43,.05);
  font-family:var(--iwk-f-mono); font-size:.68rem; letter-spacing:.04em; color:var(--iwk-gold-l);
}
.iwk-secret-banner b{ color:var(--iwk-gold); font-weight:600; letter-spacing:.08em; }
.iwk-secret-banner svg{ flex:0 0 auto; color:var(--iwk-gold); }

/* ─────────── ACESSOS: tag de cliente ─────────── */
.iwk-access-head .iwk-tag-client{ flex-shrink:0; }
.iwk-access-tags{ display:flex; gap:6px; flex-wrap:wrap; align-items:center; }

/* ─────────── FINANCEIRO: clientes fixos (receitas) ─────────── */
.iwk-rec{ display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--iwk-line2);
  border-radius:9px; background:var(--iwk-bg2); border-left:3px solid var(--iwk-green); }
.iwk-rec-received{ opacity:.62; }
.iwk-rec-cancelled{ opacity:.45; border-left-color:var(--iwk-muted); }
.iwk-rec-check{ width:22px; height:22px; border-radius:6px; border:1.5px solid var(--iwk-line); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; color:var(--iwk-green); }
.iwk-rec-received .iwk-rec-check{ background:rgba(74,222,128,.15); border-color:var(--iwk-green); }
.iwk-rec-info{ flex:1; min-width:0; }
.iwk-rec-title{ font-size:.85rem; color:var(--iwk-white); display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.iwk-rec-meta{ font-family:var(--iwk-f-mono); font-size:.64rem; color:var(--iwk-muted); margin-top:3px; }
.iwk-rec-amount{ font-family:var(--iwk-f-mono); font-size:.8rem; color:var(--iwk-green); white-space:nowrap;
  cursor:pointer; padding:4px 8px; border-radius:6px; border:1px dashed transparent; }
.iwk-rec-amount:hover{ border-color:var(--iwk-line-gold); }
.iwk-badge-cancel{ font-family:var(--iwk-f-mono); font-size:.56rem; letter-spacing:.06em; padding:2px 6px;
  border-radius:4px; border:1px solid rgba(239,68,68,.35); color:#fca5a5; }

/* Blindagem dos novos */
.iwk-rec-check, .iwk-tpl-card, .iwk-tab-secret{ box-shadow:none !important; }
.iwk-rec-check:hover{ border-color:var(--iwk-green) !important; background:rgba(74,222,128,.12) !important; }

/* Check financeiro desenhado em CSS: não depende do SVG inline que alguns temas zeram. */
.iwk-bill-check,
.iwk-bill-check:focus,
.iwk-bill-check:active,
.iwk-rec-check,
.iwk-rec-check:focus,
.iwk-rec-check:active{
  width:22px !important; height:22px !important; min-width:22px !important; min-height:22px !important;
  padding:0 !important; display:inline-flex !important; align-items:center !important; justify-content:center !important;
  border:1.5px solid var(--iwk-line) !important; border-radius:6px !important;
  background:var(--iwk-bg2) !important; color:#86efac !important;
  box-shadow:none !important; line-height:1 !important; appearance:none !important;
}
.iwk-fin-checkmark{
  display:block !important; width:5px !important; height:9px !important;
  border-style:solid !important; border-color:currentColor !important;
  border-width:0 2px 2px 0 !important; margin-top:-2px;
  transform:rotate(45deg); opacity:0; visibility:hidden;
}
.iwk-bill-paid .iwk-bill-check,
.iwk-rec-received .iwk-rec-check{
  border-color:var(--iwk-green) !important;
  background:rgba(74,222,128,.15) !important;
}
.iwk-bill-paid .iwk-fin-checkmark,
.iwk-rec-received .iwk-fin-checkmark{
  opacity:1 !important; visibility:visible !important;
}
.iwk-bill-check:hover,
.iwk-rec-check:hover{
  border-color:var(--iwk-green) !important;
  background:rgba(74,222,128,.12) !important;
}

/* ══════════════════════════════════════════════════════════════
   v1.10.2 — CORREÇÕES: gráfico ultrawide, popup de contrato,
   fonte do documento e rodapé dos modais.
   ══════════════════════════════════════════════════════════════ */

/* ─── Gráfico do financeiro em telas largas ───
   Antes esticava (preserveAspectRatio=none). Agora escala proporcional
   e o container limita a largura para o gráfico não virar uma faixa. */
.iwk-fin-chart{ max-width:1180px; margin-left:auto; margin-right:auto; }
.iwk-app svg.iwk-fin-svg, .iwk-modal-back svg.iwk-fin-svg{
  width:100%; height:auto; max-height:260px; display:block;
}
.iwk-fin-xlabel{ font-size:11px; }
@media (min-width: 1700px){
  .iwk-fin-grid{ max-width:1180px; margin-left:auto; margin-right:auto; }
  .iwk-fin-kpis{ max-width:1180px; margin-left:auto; margin-right:auto; }
  .iwk-fin-nav{ max-width:1180px; margin-left:auto; margin-right:auto; }
}

/* ─── Modal de contrato: altura e rodapé ───
   O rodapé estava sobrepondo o formulário em telas menores. Agora o modal
   é uma coluna flex com altura limitada e só o miolo rola. */
.iwk-modal-back .iwk-modal.iwk-modal-wide{
  display:flex; flex-direction:column;
  max-height:calc(100vh - 72px);
}
.iwk-modal-wide .iwk-ct-editor{
  flex:1 1 auto; min-height:0; max-height:none; overflow:hidden;
}
.iwk-modal-wide .iwk-ct-form,
.iwk-modal-wide .iwk-ct-preview{ overflow-y:auto; max-height:100%; }
.iwk-modal-wide .iwk-modal-head,
.iwk-modal-wide .iwk-modal-foot{ flex:0 0 auto; }

/* Rodapé dos modais: nunca sobrepor o conteúdo */
.iwk-modal-foot{ flex-wrap:wrap; row-gap:10px; }
.iwk-modal-foot .iwk-check{ flex:1 1 auto; min-width:180px; }
.iwk-modal-foot .iwk-modal-foot-spacer{ flex:1 1 auto; }

/* Cabeçalho do modal largo: ações + X sem colidir */
.iwk-modal-wide .iwk-modal-head{ flex-wrap:wrap; row-gap:8px; }
.iwk-ct-head-actions{ margin-left:auto; }

@media (max-width: 900px){
  .iwk-modal-back .iwk-modal.iwk-modal-wide{ max-height:calc(100vh - 32px); }
  .iwk-modal-wide .iwk-ct-editor{ overflow-y:auto; }
  .iwk-modal-wide .iwk-ct-form,
  .iwk-modal-wide .iwk-ct-preview{ overflow-y:visible; max-height:none; }
}

/* ─── Fonte do contrato: Arial/Roboto (pedido) ─── */
.iwk-doc-wrap{
  font-family: Roboto, Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-size:.84rem; line-height:1.6;
}
.iwk-doc-title{ font-family:inherit; font-weight:700; letter-spacing:.01em; }
.iwk-doc-h2, .iwk-doc-h3{ font-family:inherit; font-weight:700; }
.iwk-doc-sign strong, .iwk-doc-sign small{ font-family:inherit; }

/* v1.11 — tag do cliente no histórico de contratos */
.iwk-ct-title{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.iwk-ct-title .iwk-tag-client{ flex:0 0 auto; }
.iwk-ct-title > span{ min-width:0; word-break:break-word; }

/* ══════════════════════════════════════════════════════════════
   v1.11.1 — BARRAS DE ROLAGEM NA IDENTIDADE DO KANBAN
   O <pre> dos códigos herdava o color-scheme claro do tema, então o
   navegador desenhava a barra padrão (branca). Aqui declaramos o
   esquema escuro e pintamos a barra em dourado, no WebKit e no Firefox.
   ══════════════════════════════════════════════════════════════ */

/* Firefox + esquema escuro para todas as áreas roláveis do plugin */
.iwk-app, .iwk-modal-back, .iwk-toasts, .iwk-tabloader{
  color-scheme: dark;
  scrollbar-width: thin;
  scrollbar-color: rgba(229,160,43,.42) transparent;
}

/* WebKit — regra global reforçada */
.iwk-app ::-webkit-scrollbar,
.iwk-modal-back ::-webkit-scrollbar{ width:9px !important; height:9px !important; }
.iwk-app ::-webkit-scrollbar-track,
.iwk-modal-back ::-webkit-scrollbar-track{ background:transparent !important; border-radius:9px; }
.iwk-app ::-webkit-scrollbar-thumb,
.iwk-modal-back ::-webkit-scrollbar-thumb{
  background:rgba(229,160,43,.32) !important;
  border:2px solid transparent !important; background-clip:padding-box !important;
  border-radius:9px !important;
}
.iwk-app ::-webkit-scrollbar-thumb:hover,
.iwk-modal-back ::-webkit-scrollbar-thumb:hover{ background:rgba(229,160,43,.6) !important; }
.iwk-app ::-webkit-scrollbar-corner,
.iwk-modal-back ::-webkit-scrollbar-corner{ background:transparent !important; }

/* Bloco de código: barra dourada nos dois eixos, com trilho discreto */
.iwk-code-preview{
  color-scheme: dark;
  scrollbar-width: thin !important;
  scrollbar-color: var(--iwk-gold-d) rgba(255,255,255,.05) !important;
  overscroll-behavior: contain; /* rolar o código não arrasta a página junto */
}
.iwk-code-preview::-webkit-scrollbar{ width:10px !important; height:10px !important; }
.iwk-code-preview::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04) !important; border-radius:10px;
}
.iwk-code-preview::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, var(--iwk-gold), var(--iwk-gold-d)) !important;
  border:2px solid transparent !important; background-clip:padding-box !important;
  border-radius:10px !important;
}
.iwk-code-preview::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, var(--iwk-gold-l), var(--iwk-gold)) !important;
}
.iwk-code-preview::-webkit-scrollbar-thumb:active{ background:var(--iwk-gold-l) !important; }
/* Barra horizontal com o mesmo tratamento (gradiente no outro eixo) */
.iwk-code-preview::-webkit-scrollbar-thumb:horizontal{
  background:linear-gradient(90deg, var(--iwk-gold), var(--iwk-gold-d)) !important;
  border:2px solid transparent !important; background-clip:padding-box !important;
}
.iwk-code-preview::-webkit-scrollbar-thumb:horizontal:hover{
  background:linear-gradient(90deg, var(--iwk-gold-l), var(--iwk-gold)) !important;
}
.iwk-code-preview::-webkit-scrollbar-corner{ background:rgba(255,255,255,.04) !important; }

/* ══════════════════════════════════════════════════════════════
   v1.12.0 — FINANCEIRO, CLIENTE INATIVO E ACESSOS
   ══════════════════════════════════════════════════════════════ */

/* ─── Espaçamento entre as boxes do financeiro (estavam coladas) ─── */
.iwk-fin-grid{ gap:16px; margin-bottom:16px; }
.iwk-fin-grid + .iwk-fin-grid{ margin-top:0; }
.iwk-fin-col{ margin:0; }
.iwk-fin-kpis{ gap:14px; margin-bottom:20px; }
.iwk-fin-chart{ margin-bottom:20px; }
.iwk-fin-nav{ margin-bottom:20px; }
.iwk-fin-bills, .iwk-fin-entries{ gap:10px; padding:12px; }

/* ─── Tag de categoria (cor própria por categoria) ─── */
.iwk-cat-tag{
  display:inline-flex; align-items:center; gap:5px;
  font-family:var(--iwk-f-mono); font-size:.58rem; letter-spacing:.05em; text-transform:uppercase;
  padding:2px 8px 2px 6px; border-radius:100px; white-space:nowrap;
  color:var(--iwk-cat, #64748b);
  background:color-mix(in srgb, var(--iwk-cat, #64748b) 14%, transparent);
  border:1px solid color-mix(in srgb, var(--iwk-cat, #64748b) 38%, transparent);
}
/* Navegadores sem color-mix: cai para um visual neutro, ainda legível */
@supports not (background: color-mix(in srgb, red 10%, transparent)){
  .iwk-cat-tag{ background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.12); }
}
.iwk-cat-tag::before{
  content:''; width:6px; height:6px; border-radius:50%;
  background:var(--iwk-cat, #64748b); flex:0 0 6px;
}
.iwk-entry-tags{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin:5px 0 3px; }
.iwk-entry-tags .iwk-tag-client{ font-size:.56rem; padding:2px 7px; }

/* Lançamento: valor mantém verde/vermelho; layout não estoura */
.iwk-entry{ align-items:flex-start; flex-wrap:wrap; row-gap:8px; }
.iwk-entry-main{ flex:1 1 200px; min-width:0; }
.iwk-entry-desc{ word-break:break-word; }
.iwk-entry-amount{ margin-left:auto; align-self:center; }
.iwk-entry .iwk-icon-btn{ align-self:center; }

/* Conta fixa: comporta a tag sem quebrar */
.iwk-bill{ align-items:flex-start; flex-wrap:wrap; row-gap:8px; }
.iwk-bill-info{ flex:1 1 180px; }
.iwk-bill-check, .iwk-rec-check{ margin-top:2px; }
.iwk-bill-amount, .iwk-rec-amount{ margin-left:auto; align-self:center; }
.iwk-rec{ align-items:flex-start; flex-wrap:wrap; row-gap:8px; }
.iwk-rec-info{ flex:1 1 180px; }

/* ─── Cliente INATIVO ───
   Nada é desativado: só o visual muda, para identificar o que revisar depois. */
.iwk-client-off{ opacity:.42; filter:saturate(.55); transition:opacity .18s, filter .18s; }
.iwk-client-off:hover{ opacity:.72; filter:saturate(.8); }
.iwk-tag-off{ position:relative; }
.iwk-tag-off-mark{
  font-style:normal; font-size:.85em; font-weight:700; letter-spacing:.06em;
  margin-left:6px; padding-left:6px; border-left:1px solid currentColor; opacity:.75;
}
/* Na listagem de configurações o card não some, só a tag sinaliza */
.iwk-manage-item.iwk-client-off{ opacity:.55; }

/* ─── Contratos: tag do tipo de modelo ─── */
.iwk-tpl-tag.iwk-tpl-mensal{
  color:#7dd3fc !important; border-color:rgba(56,189,248,.45) !important;
  background:rgba(56,189,248,.10) !important;
}
.iwk-tpl-tag.iwk-tpl-avulso{
  color:var(--iwk-gold-l) !important; border-color:var(--iwk-line-gold) !important;
  background:rgba(229,160,43,.10) !important;
}

/* ─── ACESSOS: cabeçalho em duas linhas ─── */
.iwk-access-head{
  display:flex; flex-direction:column; align-items:stretch; gap:9px;
}
.iwk-access-tags{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; min-width:0; }
.iwk-access-titlerow{
  display:flex; align-items:flex-start; justify-content:space-between; gap:10px; min-width:0;
}
.iwk-access-title{
  flex:1 1 auto; min-width:0; margin:0;
  font-size:.95rem; font-weight:600; color:var(--iwk-white); line-height:1.3;
  word-break:break-word; overflow-wrap:anywhere;
}
.iwk-access-url{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:5px; white-space:nowrap;
  font-family:var(--iwk-f-mono); font-size:.66rem; color:var(--iwk-gold);
  padding:4px 9px; border:1px solid var(--iwk-line-gold); border-radius:6px;
  background:rgba(229,160,43,.05); margin-top:1px;
}
.iwk-access-url:hover{ background:rgba(229,160,43,.12) !important; color:var(--iwk-gold-l) !important; }

/* Card não estoura a largura no mobile */
.iwk-access-card{ min-width:0; max-width:100%; overflow:hidden; }
.iwk-access-row{ flex-wrap:wrap; row-gap:6px; }
.iwk-access-label{ flex:0 0 auto; }
.iwk-access-value{ flex:1 1 120px; min-width:0; overflow-wrap:anywhere; }
.iwk-access-row .iwk-btn{ flex:0 0 auto; }
.iwk-access-notes{ overflow-wrap:anywhere; }

/* ─── Olho de senha: animação + sem hover do tema ─── */
.iwk-access-eye,
.iwk-access-eye:hover,
.iwk-access-eye:focus,
.iwk-access-eye:active,
#iwk-ac-eye,
#iwk-ac-eye:hover,
#iwk-ac-eye:focus,
#iwk-ac-eye:active{
  background:var(--iwk-bg1) !important; box-shadow:none !important; outline:none !important;
  border:1px solid var(--iwk-line) !important; color:var(--iwk-muted) !important;
  transition:color .18s, border-color .18s, background .18s, transform .18s;
}
.iwk-access-eye:hover, #iwk-ac-eye:hover{
  color:var(--iwk-gold) !important; border-color:var(--iwk-line-gold) !important;
  background:rgba(229,160,43,.08) !important;
}
/* Estado "senha visível" */
.iwk-access-eye.iwk-eye-on, #iwk-ac-eye.iwk-eye-on{
  color:var(--iwk-gold) !important; border-color:var(--iwk-gold) !important;
  background:rgba(229,160,43,.16) !important;
}
.iwk-access-eye svg, #iwk-ac-eye svg{ transition:transform .2s ease, opacity .2s ease; }
.iwk-access-eye:active svg, #iwk-ac-eye:active svg{ transform:scale(.82); }
.iwk-access-eye.iwk-eye-on svg, #iwk-ac-eye.iwk-eye-on svg{ animation:iwk-eye-pop .28s ease; }
@keyframes iwk-eye-pop{
  0%{ transform:scale(.7); opacity:.4 }
  60%{ transform:scale(1.14); opacity:1 }
  100%{ transform:scale(1); opacity:1 }
}
@media (prefers-reduced-motion: reduce){
  .iwk-access-eye.iwk-eye-on svg, #iwk-ac-eye.iwk-eye-on svg{ animation:none; }
}

/* ─── Mobile da aba Acessos ─── */
@media (max-width: 620px){
  .iwk-access-grid{ grid-template-columns:1fr !important; }
  .iwk-access-card{ padding:14px; }
  .iwk-access-titlerow{ flex-direction:column; align-items:flex-start; gap:8px; }
  .iwk-access-url{ align-self:flex-start; }
  .iwk-access-label{ width:auto; }
  .iwk-access-row .iwk-btn{ margin-left:auto; }
  .iwk-fin-grid{ grid-template-columns:1fr !important; }
  .iwk-entry-amount, .iwk-bill-amount, .iwk-rec-amount{ margin-left:0; }
}

/* ══════════════════════════════════════════════════════════════
   v1.12.1 — Acessos: olho + copiar na mesma linha
   ══════════════════════════════════════════════════════════════ */
.iwk-access-actions{
  display:flex; align-items:center; gap:7px; flex:0 0 auto; margin-left:auto;
}
.iwk-access-actions .iwk-btn{ white-space:nowrap; }
/* O valor pode encolher; quem não quebra são os botões. */
.iwk-access-row{ flex-wrap:nowrap; }
.iwk-access-value{ flex:1 1 auto; min-width:40px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.iwk-access-value.iwk-secret{ letter-spacing:.12em; }

/* Em telas bem estreitas, aí sim pode ir para a linha de baixo — junto. */
@media (max-width: 460px){
  .iwk-access-row{ flex-wrap:wrap; }
  .iwk-access-actions{ width:100%; justify-content:flex-end; margin-left:0; }
}

/* ══════════════════════════════════════════════════════════════
   v1.13.0 — META MENSAL DE FATURAMENTO
   Cuidados aplicados: largura máxima (ultrawide), flex-wrap +
   min-width:0 (responsivo) e tamanho explícito do ícone.
   ══════════════════════════════════════════════════════════════ */
.iwk-goal{
  max-width:1180px; margin:0 auto 20px;
  border:1px solid var(--iwk-line); border-left:3px solid var(--iwk-gold);
  border-radius:12px; background:var(--iwk-bg1);
  padding:18px 20px; display:flex; flex-direction:column; gap:14px;
}
.iwk-goal-hit{ border-left-color:var(--iwk-green); }

.iwk-goal-head{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.iwk-goal-titles{ min-width:0; flex:1 1 auto; }
.iwk-goal-head h4{ font-size:.92rem; color:var(--iwk-white); margin:0; }
.iwk-goal-sub{
  display:block; margin-top:3px; font-family:var(--iwk-f-mono); font-size:.64rem;
  color:var(--iwk-muted); letter-spacing:.04em; text-transform:capitalize;
}
.iwk-goal-edit{ flex:0 0 auto; }
.iwk-goal-edit svg{ width:13px !important; height:13px !important; flex:0 0 13px; }

.iwk-goal-empty{ font-size:.82rem; color:var(--iwk-sub); line-height:1.5; }
.iwk-goal-empty b{ color:var(--iwk-white); }

.iwk-goal-nums{
  display:flex; gap:14px; flex-wrap:wrap; align-items:stretch;
}
.iwk-goal-num{
  flex:1 1 150px; min-width:0;
  display:flex; flex-direction:column; gap:5px;
  padding:12px 14px; border-radius:10px;
  background:var(--iwk-bg2); border:1px solid var(--iwk-line2);
}
.iwk-goal-k{
  font-family:var(--iwk-f-mono); font-size:.58rem; letter-spacing:.09em;
  color:var(--iwk-muted); white-space:nowrap;
}
.iwk-goal-v{
  font-size:1.18rem; font-weight:600; letter-spacing:-.02em; color:var(--iwk-white);
  overflow-wrap:anywhere;
}
.iwk-goal-done .iwk-goal-v{ color:var(--iwk-green); }
.iwk-goal-left .iwk-goal-v{ color:var(--iwk-gold); }
.iwk-goal-plus .iwk-goal-v{ color:var(--iwk-green); }
.iwk-goal-plus{ border-color:rgba(74,222,128,.28); background:rgba(74,222,128,.06); }

.iwk-goal-barwrap{ display:flex; align-items:center; gap:12px; }
.iwk-goal-bar{
  flex:1 1 auto; min-width:0; height:9px; border-radius:9px;
  background:rgba(255,255,255,.06); overflow:hidden;
}
.iwk-goal-bar i{
  display:block; height:100%; border-radius:9px;
  background:linear-gradient(90deg, var(--iwk-gold-d), var(--iwk-gold-l));
  transition:width .45s cubic-bezier(.4,0,.2,1);
}
.iwk-goal-hit .iwk-goal-bar i{ background:linear-gradient(90deg,#16a34a,var(--iwk-green)); }
.iwk-goal-pct{
  flex:0 0 auto; font-family:var(--iwk-f-mono); font-size:.78rem;
  color:var(--iwk-gold); min-width:46px; text-align:right;
}
.iwk-goal-hit .iwk-goal-pct{ color:var(--iwk-green); }

.iwk-goal-note{
  font-size:.7rem; color:var(--iwk-muted); line-height:1.5;
  padding-top:10px; border-top:1px dashed var(--iwk-line2);
}

/* Blindagem contra o tema */
.iwk-goal, .iwk-goal-num{ box-shadow:none !important; }
.iwk-goal-edit, .iwk-goal-edit:focus{ box-shadow:none !important; }

@media (prefers-reduced-motion: reduce){
  .iwk-goal-bar i{ transition:none; }
}

@media (max-width: 620px){
  .iwk-goal{ padding:15px 16px; }
  .iwk-goal-nums{ gap:10px; }
  .iwk-goal-num{ flex:1 1 100%; }
  .iwk-goal-v{ font-size:1.05rem; }
  .iwk-goal-edit{ width:100%; justify-content:center; }
}

/* ══════════════════════════════════════════════════════════════
   v1.14.0 — LOGO DA MARCA + CORREÇÃO DO SPINNER
   ══════════════════════════════════════════════════════════════ */

/* ─── SPINNER "TRAVADO" (bug de raiz) ───
   .iwk-spin é aplicado em <span>, cujo display padrão é INLINE — e elemento
   inline IGNORA width/height. O círculo colapsava para a espessura da borda
   (uns 2px), então a rotação existia mas era imperceptível: parecia travado.
   Só funcionava dentro de containers flex (que "blockificam" os filhos).
   Agora o display é explícito e blindado contra o tema. */
.iwk-spin,
.iwk-app .iwk-spin,
.iwk-modal-back .iwk-spin{
  display:inline-block !important;
  vertical-align:middle;
  width:16px !important; height:16px !important;
  box-sizing:border-box;
  flex:0 0 auto;
  border-radius:50%;
  border:2px solid var(--iwk-line);
  border-top-color:var(--iwk-gold);
  animation:iwk-spin .7s linear infinite;
}
.iwk-spin-sm,
.iwk-app .iwk-spin-sm{
  display:inline-block !important; vertical-align:middle; box-sizing:border-box; flex:0 0 auto;
}
/* Dá respiro entre o spinner e o texto nos estados de carregando */
.iwk-empty .iwk-spin,
.iwk-code-loading .iwk-spin,
.iwk-boot-loader .iwk-spin{ margin-right:8px; }

/* ─── LOGO DA MARCA ───
   Tamanho controlado por altura: o SVG é largo, então limitamos a altura e
   deixamos a largura automática, com teto para não estourar no mobile. */
.iwk-brand{ min-width:0; }
.iwk-brand-logo{
  height:18px !important; width:auto !important;
  max-width:150px; max-height:18px;
  display:block; object-fit:contain; flex:0 0 auto;
}
.iwk-gate-logo{
  height:22px !important; width:auto !important;
  max-width:165px; max-height:22px;
  display:block; object-fit:contain;
}
.iwk-gate-brand{ align-items:center; }

@media (max-width: 680px){
  .iwk-brand-logo{ height:18px !important; max-width:130px; max-height:18px; }
  .iwk-gate-logo{ height:22px !important; max-width:150px; max-height:22px; }
}
@media (max-width: 400px){
  .iwk-brand-logo{ height:16px !important; max-width:110px; max-height:16px; }
}

/* ══════════════════════════════════════════════════════════════
   v1.15.0 — "VER MAIS" (paginação dos Acessos)
   ══════════════════════════════════════════════════════════════ */
.iwk-more-wrap{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  margin-top:18px; padding-top:16px;
  border-top:1px dashed var(--iwk-line);
}
.iwk-more-wrap:empty{ display:none; border-top:0; margin:0; padding:0; }
.iwk-more-info{
  font-family:var(--iwk-f-mono); font-size:.68rem; letter-spacing:.04em;
  color:var(--iwk-muted); text-align:center;
}
.iwk-more-info b{ color:var(--iwk-ink); font-weight:500; }
.iwk-more-btn{ min-width:220px; justify-content:center; }
.iwk-more-btn svg{ width:13px !important; height:13px !important; flex:0 0 13px; }

@media (max-width: 620px){
  .iwk-more-btn{ width:100%; min-width:0; }
}

/* ══════════════════════════════════════════════════════════════
   v1.15.15 — FILTROS DO QUADRO + HOME DE BOAS-VINDAS
   ══════════════════════════════════════════════════════════════ */

/* Filtro do quadro */
.iwk-board-filter{ position:relative; z-index:40; flex:0 0 auto; }
.iwk-filter-trigger{ list-style:none; min-height:34px; }
.iwk-filter-trigger::-webkit-details-marker{ display:none; }
.iwk-filter-trigger svg{
  width:14px !important; height:14px !important; flex:0 0 14px !important; display:block !important;
}
.iwk-filter-count{
  min-width:18px; height:18px; padding:0 5px; border-radius:9px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--iwk-gold); color:#000; font-family:var(--iwk-f-mono); font-size:.6rem; font-weight:700;
}
.iwk-filter-popover{
  position:absolute; top:calc(100% + 9px); right:0; z-index:80;
  width:320px; max-width:calc(100vw - 24px); max-height:min(520px, calc(100vh - 110px)); overflow-y:auto;
  background:var(--iwk-bg1); border:1px solid var(--iwk-line); border-radius:8px;
  box-shadow:0 22px 60px rgba(0,0,0,.72); animation:iwk-filter-in .16s ease both;
}
.iwk-filter-layer{
  position:fixed; inset:0; z-index:2147483000; padding:16px 12px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.76); opacity:0; pointer-events:none;
  -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);
  transition:opacity .16s ease;
}
.iwk-filter-layer.iwk-filter-layer-open{ opacity:1; pointer-events:auto; }
.iwk-filter-layer .iwk-filter-popover{
  position:relative; inset:auto; width:min(100%, 420px); max-width:420px;
  max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px);
  overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  animation:none; transform:translateY(8px) scale(.985);
  transition:transform .18s cubic-bezier(.2,.7,.2,1);
}
.iwk-filter-layer-open .iwk-filter-popover{ transform:none; }
.iwk-filter-layer .iwk-filter-head{
  position:sticky; top:0; z-index:2; background:rgba(6,6,6,.98);
}
.iwk-filter-layer .iwk-filter-actions{
  position:sticky; bottom:0; z-index:2; background:rgba(6,6,6,.98);
  border-top:1px solid var(--iwk-line2);
}
body.iwk-filter-mobile-open{ overflow:hidden !important; }
@keyframes iwk-filter-in{ from{ opacity:0; transform:translateY(-5px) } to{ opacity:1; transform:translateY(0) } }
.iwk-filter-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 15px; border-bottom:1px solid var(--iwk-line2);
}
.iwk-filter-head strong{ font-size:.85rem; color:var(--iwk-white); font-weight:600; }
.iwk-filter-close{
  width:28px; height:28px; flex:0 0 28px; display:flex; align-items:center; justify-content:center;
  border-radius:7px !important; color:var(--iwk-muted) !important;
}
.iwk-filter-close svg{ width:13px !important; height:13px !important; display:block !important; }
.iwk-filter-layer .iwk-filter-close{
  padding:0 !important; opacity:1 !important; visibility:visible !important;
  background:var(--iwk-bg2) !important; color:#fca5a5 !important;
}
.iwk-filter-layer .iwk-filter-close svg,
.iwk-filter-layer .iwk-filter-close svg *{
  width:13px !important; height:13px !important; display:block !important;
  color:currentColor !important; stroke:currentColor !important; fill:none !important;
  opacity:1 !important; visibility:visible !important; pointer-events:none !important;
}
.iwk-filter-section{ padding:13px 15px; border-bottom:1px solid var(--iwk-line2); }
.iwk-filter-label{
  display:block; margin-bottom:9px; font-family:var(--iwk-f-mono); font-size:.58rem;
  letter-spacing:.09em; color:var(--iwk-muted);
}
.iwk-filter-option,
.iwk-filter-person{
  width:100%; min-width:0; height:auto !important; display:flex !important; align-items:center; text-align:left !important;
  border:1px solid var(--iwk-line) !important; background:var(--iwk-bg2) !important;
  color:var(--iwk-ink) !important; box-shadow:none !important;
}
.iwk-filter-option{ min-height:44px; gap:10px; padding:9px 10px !important; border-radius:7px !important; }
.iwk-filter-option-icon{ display:flex; color:var(--iwk-gold); }
.iwk-filter-option-icon svg{ width:15px !important; height:15px !important; display:block !important; }
.iwk-filter-option > span:nth-child(2){ flex:1; font-size:.78rem; }
.iwk-filter-switch{
  width:30px; height:17px; flex:0 0 30px; border-radius:10px; position:relative;
  background:rgba(255,255,255,.12); border:1px solid var(--iwk-line);
}
.iwk-filter-switch::after{
  content:''; position:absolute; left:2px; top:2px; width:11px; height:11px; border-radius:50%;
  background:var(--iwk-muted); transition:transform .16s, background .16s;
}
.iwk-filter-option.iwk-on .iwk-filter-switch{ background:rgba(229,160,43,.18); border-color:rgba(229,160,43,.42); }
.iwk-filter-option.iwk-on .iwk-filter-switch::after{ transform:translateX(13px); background:var(--iwk-gold); }
.iwk-filter-people{ display:flex; flex-direction:column; gap:7px; }
.iwk-filter-person{ min-height:42px; gap:9px; padding:7px 9px !important; border-radius:7px !important; }
.iwk-filter-person-av{
  width:25px; height:25px; flex:0 0 25px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--iwk-f-mono); font-size:.55rem; font-weight:700;
}
.iwk-filter-person-name{ min-width:0; flex:1; font-size:.77rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.iwk-filter-person-check{
  width:18px; height:18px; flex:0 0 18px; border-radius:5px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--iwk-line); color:transparent;
}
.iwk-filter-person-check svg{ width:11px !important; height:11px !important; display:block !important; }
.iwk-filter-person.iwk-on .iwk-filter-person-check{ color:#000; background:var(--iwk-gold); border-color:var(--iwk-gold); }
.iwk-filter-empty{ display:block; padding:8px 0; color:var(--iwk-muted); font-size:.73rem; }
.iwk-filter-actions{ display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:13px 15px 15px; }
.iwk-filter-actions .iwk-btn{ justify-content:center; height:auto !important; }

/* Blindagem do filtro contra o tema/Elementor. */
.iwk-filter-trigger,
.iwk-filter-trigger:focus,
.iwk-filter-trigger:active{
  background:var(--iwk-bg2) !important; color:var(--iwk-ink) !important;
  border-color:var(--iwk-line) !important; box-shadow:inset 0 0 0 1px var(--iwk-line) !important;
}
.iwk-board-filter[open] .iwk-filter-trigger,
.iwk-filter-active .iwk-filter-trigger{
  background:rgba(229,160,43,.09) !important; color:var(--iwk-white) !important;
  box-shadow:inset 0 0 0 1px rgba(229,160,43,.38) !important;
}
.iwk-filter-trigger:hover{ color:var(--iwk-white) !important; background:var(--iwk-bg3) !important; }
.iwk-filter-close:hover,
.iwk-filter-close:focus,
.iwk-filter-close:active{ background:var(--iwk-bg3) !important; color:var(--iwk-white) !important; box-shadow:none !important; }
.iwk-filter-option:hover,
.iwk-filter-person:hover{ border-color:var(--iwk-line-gold) !important; background:var(--iwk-bg3) !important; color:var(--iwk-white) !important; }
.iwk-filter-option.iwk-on,
.iwk-filter-option.iwk-on:hover,
.iwk-filter-person.iwk-on,
.iwk-filter-person.iwk-on:hover{
  border-color:rgba(229,160,43,.5) !important; background:rgba(229,160,43,.1) !important; color:var(--iwk-white) !important;
}

/* Home periódica */
.iwk-welcome{
  width:100%; max-width:1080px; min-height:440px; margin:0 auto;
  padding:64px 34px 76px; display:flex; flex-direction:column; justify-content:center;
}
.iwk-welcome-head{ margin-bottom:30px; animation:iwk-welcome-head-in .42s cubic-bezier(.2,.7,.2,1) both; }
.iwk-welcome h1{ font-size:2.15rem; line-height:1.16; font-weight:400; color:var(--iwk-white); letter-spacing:0; }
.iwk-welcome h1 strong{ color:var(--iwk-gold-l); font-weight:600; }
.iwk-welcome-insight{
  max-width:760px; margin:15px 0 0; display:flex; align-items:flex-start; gap:10px;
  color:var(--iwk-sub); font-size:.86rem; line-height:1.55;
  animation:iwk-welcome-insight-in .42s .1s cubic-bezier(.2,.7,.2,1) both;
}
.iwk-welcome-insight > span:first-child{
  width:18px; height:2px; flex:0 0 18px; margin-top:.65em; border-radius:2px;
  background:var(--iwk-gold-d);
}
.iwk-welcome-insight > span:last-child{ min-width:0; overflow-wrap:anywhere; }
.iwk-welcome-links{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:10px; }
.iwk-welcome-link{
  width:100%; min-width:0; min-height:64px; height:auto !important; padding:12px 14px !important;
  display:grid !important; grid-template-columns:34px minmax(0,1fr) auto auto; align-items:center; gap:10px;
  border:1px solid var(--iwk-line) !important; border-radius:8px !important;
  background:var(--iwk-bg2) !important; color:var(--iwk-ink) !important; text-align:left !important;
  box-shadow:none !important; animation:iwk-welcome-item-in .38s cubic-bezier(.2,.7,.2,1) both;
  animation-delay:var(--iwk-welcome-delay, 0ms);
}
.iwk-welcome-icon{
  width:34px; height:34px; border-radius:7px; display:flex; align-items:center; justify-content:center;
  color:var(--iwk-gold); background:rgba(229,160,43,.08); border:1px solid rgba(229,160,43,.16);
}
.iwk-welcome-icon svg{ width:18px !important; height:18px !important; display:block !important; flex:0 0 18px !important; }
.iwk-welcome-link > span:nth-child(2){ min-width:0; font-size:.84rem; font-weight:500; white-space:normal; overflow-wrap:anywhere; }
.iwk-welcome-lock{ display:flex; color:var(--iwk-gold); opacity:.72; }
.iwk-welcome-lock svg{ width:11px !important; height:11px !important; display:block !important; }
.iwk-welcome-arrow{ font-size:1.18rem; line-height:1; color:var(--iwk-muted); transition:transform .16s, color .16s; }
.iwk-welcome-link:hover,
.iwk-welcome-link:focus,
.iwk-welcome-link:active{
  background:var(--iwk-bg3) !important; color:var(--iwk-white) !important;
  border-color:rgba(229,160,43,.38) !important; box-shadow:none !important; transform:none !important;
}
.iwk-welcome-link:hover .iwk-welcome-arrow{ color:var(--iwk-gold); transform:translateX(2px); }
.iwk-welcome-secret .iwk-welcome-icon{ color:var(--iwk-gold-l); }
@keyframes iwk-welcome-head-in{ from{ opacity:0; transform:translateY(12px) } to{ opacity:1; transform:translateY(0) } }
@keyframes iwk-welcome-insight-in{ from{ opacity:0; transform:translateY(7px) } to{ opacity:1; transform:translateY(0) } }
@keyframes iwk-welcome-item-in{ from{ opacity:0; transform:translateY(10px) } to{ opacity:1; transform:translateY(0) } }

@media (prefers-reduced-motion: reduce){
  .iwk-filter-popover, .iwk-welcome-head, .iwk-welcome-insight, .iwk-welcome-link{ animation:none; }
  .iwk-filter-switch::after, .iwk-welcome-arrow{ transition:none; }
}

@media (max-width: 900px){
  .iwk-welcome{ padding:48px 24px 58px; }
  .iwk-welcome-links{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 560px){
  .iwk-filter-layer{
    padding:max(14px, env(safe-area-inset-top)) 12px max(14px, env(safe-area-inset-bottom));
  }
  .iwk-filter-layer .iwk-filter-popover{
    max-height:calc(100vh - 28px); max-height:calc(100dvh - 28px);
  }
  .iwk-welcome{ min-height:420px; padding:40px 16px 50px; justify-content:flex-start; }
  .iwk-welcome-head{ margin-bottom:24px; }
  .iwk-welcome h1{ font-size:1.7rem; line-height:1.2; }
  .iwk-welcome-insight{ margin-top:13px; font-size:.79rem; line-height:1.5; }
  .iwk-welcome-links{ grid-template-columns:1fr; gap:8px; }
  .iwk-welcome-link{ min-height:58px; }
}
