/* Paleta oficial IDDEIA (MARCA_IDDEIA.md): âmbar #E9A322, preto #050507, Inter */
:root{
  --ambar:#E9A322; --preto:#050507;
  --bg:#050507; --card:#101015; --card2:#16161d; --linha:#26262f;
  --texto:#f2f2f4; --suave:#a3a3ad; --fraco:#6e6e78;
  --ok:#3fb27f; --alerta:#E9A322; --erro:#e5534b;
}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){
    --bg:#f6f5f2; --card:#ffffff; --card2:#f1efe9; --linha:#e3e0d8;
    --texto:#050507; --suave:#55555e; --fraco:#8a8a93;
  }
}
:root[data-theme="light"]{
  --bg:#f6f5f2; --card:#ffffff; --card2:#f1efe9; --linha:#e3e0d8;
  --texto:#050507; --suave:#55555e; --fraco:#8a8a93;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--texto);font:14px/1.45 Inter,system-ui,Segoe UI,sans-serif}
a{color:inherit}
header{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--linha)}
.topo{max-width:1280px;margin:0 auto;padding:14px 16px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.marca{font-weight:700;font-size:18px;letter-spacing:-.01em;display:flex;align-items:center;gap:12px}
.marca b{color:var(--ambar)}
.marca small{display:block;font-weight:400;font-size:12px;color:var(--fraco)}
/* logo oficial (MARCA_IDDEIA): branca no tema escuro, escura no claro */
.logo{height:30px;width:auto;display:block}
.logo-claro{display:none}
@media (prefers-color-scheme: light){ :root:not([data-theme="dark"]) .logo-escuro{display:none} :root:not([data-theme="dark"]) .logo-claro{display:block} }
:root[data-theme="light"] .logo-escuro{display:none}
:root[data-theme="light"] .logo-claro{display:block}
#busca{flex:1;min-width:200px;padding:9px 12px;border-radius:10px;border:1px solid var(--linha);background:var(--card);color:var(--texto);font:inherit}
#busca:focus{outline:2px solid var(--ambar);outline-offset:-1px}
.tema{border:1px solid var(--linha);background:var(--card);color:var(--suave);border-radius:10px;padding:8px 10px;cursor:pointer;font:inherit}
nav{max-width:1280px;margin:0 auto;padding:0 16px 10px;display:flex;gap:6px;flex-wrap:wrap}
nav a{text-decoration:none;font-size:12.5px;color:var(--suave);padding:4px 10px;border:1px solid var(--linha);border-radius:999px}
nav a:hover{color:var(--texto);border-color:var(--ambar)}
main{max-width:1280px;margin:0 auto;padding:8px 16px 60px;min-height:100vh}
main::after{content:"";display:block;height:55vh}   /* folga para os últimos grupos também subirem até o topo nos atalhos */
section{margin-top:26px;scroll-margin-top:calc(var(--altura-topo,120px) + 14px)}   /* o salto dos atalhos para abaixo do cabeçalho fixo */
h2{font-size:15px;margin:0 0 4px;display:flex;align-items:center;gap:8px}
h2::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--ambar)}
.grupo-cab{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;border-radius:6px;padding:2px 4px;margin-left:-4px}
.grupo-cab:hover{background:var(--card2)}
.grupo-cab:focus-visible{outline:2px solid var(--ambar)}
.conta{font-size:11.5px;font-weight:500;color:var(--fraco)}
.grupo-cab .seta{transform:rotate(90deg)}
.fechado .grupo-cab .seta{transform:none}
body:not(.buscando) .fechado .sub,body:not(.buscando) .fechado .grade{display:none}
.sub{color:var(--fraco);font-size:12.5px;margin:0 0 12px}
/* ordem por colunas (desce a 1ª coluna, depois a 2ª...): ao arrastar, os cartões sobem e descem, não andam para o lado */
/* colunas montadas no script (distribui): independentes, cada uma cresce sozinha quando um cartão abre */
.grade{display:flex;gap:10px;align-items:stretch}
.coluna{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:10px;min-height:40px}
.card{position:relative;background:var(--card);border:1px solid var(--linha);border-radius:12px;display:flex;flex-direction:column}
.card.aberto{border-color:color-mix(in srgb,var(--ambar) 55%,var(--linha))}
.card.fantasma{opacity:.5;border:2px dashed var(--ambar);background:var(--card2)}   /* onde o cartão vai cair */
.card.fantasma *{visibility:hidden}
.card.no-ar{box-shadow:0 12px 28px rgba(0,0,0,.28);transform:rotate(1deg)}
.cab{touch-action:none}
.alca{position:absolute;left:3px;top:10px;width:18px;height:22px;display:grid;place-items:center;color:var(--fraco);cursor:grab;border-radius:5px;font-size:13px;user-select:none;z-index:1}
.alca:hover{color:var(--ambar);background:var(--card2)}
.alca:active{cursor:grabbing}
.cab{all:unset;box-sizing:border-box;cursor:pointer;padding:11px 13px 11px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 8px;align-items:center;width:100%;border-radius:12px}
.cab:hover{background:var(--card2)}
.cab:focus-visible{outline:2px solid var(--ambar);outline-offset:-2px}
.nome{font-weight:600;font-size:14.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aberto .nome{white-space:normal}
.seta{color:var(--fraco);font-size:12px;transition:transform .15s}
.aberto .seta{transform:rotate(90deg);color:var(--ambar)}
.desc{grid-column:1/-1;margin:0;color:var(--suave);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aberto .desc{white-space:normal}
.corpo{padding:2px 13px 13px 24px;display:flex;flex-direction:column;gap:9px}
.corpo[hidden]{display:none}
.tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap;border:1px solid}
.t-ar{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}
.t-dev{color:var(--ambar);border-color:color-mix(in srgb,var(--ambar) 45%,transparent)}
.t-int{color:var(--suave);border-color:var(--linha)}
.t-off{color:var(--erro);border-color:color-mix(in srgb,var(--erro) 45%,transparent)}
.rot{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--fraco);margin-bottom:3px}
.links{display:flex;flex-wrap:wrap;gap:6px}
.links a{font-size:12.5px;text-decoration:none;padding:4px 9px;border-radius:8px;background:var(--card2);border:1px solid var(--linha)}
.links a:hover{border-color:var(--ambar)}
.links a.web::before{content:"↗ ";color:var(--ambar)}
.pastas{display:flex;flex-direction:column;gap:4px}
.pasta{display:flex;align-items:center;gap:6px;font-size:12.5px;min-width:0}
.pasta > a{flex:1;min-width:0;text-decoration:none;color:var(--suave);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pasta > a:hover{color:var(--texto)}
.pasta > a b{color:var(--texto);font-weight:500}
.acoes{display:flex;gap:3px;flex:none}
.acoes a,.acoes button{border:1px solid var(--linha);background:var(--card2);color:var(--suave);cursor:pointer;font:inherit;font-size:11px;padding:1px 6px;border-radius:6px;text-decoration:none;line-height:1.5}
.acoes a:hover,.acoes button:hover{color:var(--texto);border-color:var(--ambar)}
/* ----- quadro de avisos (estilo Trello): 3 colunas, cartões recolhidos, ✓ manda para Concluídos ----- */
body:not(.buscando) .fechado .quadro,body:not(.buscando) .fechado .feitos,body:not(.buscando) .fechado .contas-sb,body:not(.buscando) .fechado .nota-sb{display:none}
.quadro{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;align-items:stretch}   /* colunas da mesma altura */
.lista{background:var(--card2);border:1px solid var(--linha);border-radius:12px;padding:8px}
.lista.recolhida{align-self:start}
.lista.recolhida .lista-cards{display:none}
.lista-cab{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;padding:2px 4px 8px;color:var(--suave);border-radius:6px}
.lista.recolhida .lista-cab{padding-bottom:2px}
.lista-cab:hover{color:var(--texto)}
.lista-cab:focus-visible{outline:2px solid var(--ambar)}
.lista-cab .seta{margin-left:auto;transform:rotate(90deg)}
.lista.recolhida .lista-cab .seta{transform:none}
.lista-cab i{width:8px;height:8px;border-radius:50%;background:var(--fraco)}
.l-urgente .lista-cab i{background:var(--erro)} .l-fazer .lista-cab i{background:var(--ambar)} .l-acompanhar .lista-cab i{background:var(--ok)}
.lista-cards{display:flex;flex-direction:column;gap:6px;min-height:34px}
.av{background:var(--card);border:1px solid var(--linha);border-radius:9px}
.av.aberto{border-color:color-mix(in srgb,var(--ambar) 55%,var(--linha))}
.av.fantasma{opacity:.5;border:2px dashed var(--ambar)}
.av-cab{display:flex;align-items:center;gap:8px;padding:8px 9px;cursor:pointer;touch-action:none}
.av-cab:hover{background:var(--card2);border-radius:9px}
.av input{margin:0;accent-color:var(--ok);cursor:pointer;flex:none;width:15px;height:15px}
/* fechado: título numa linha só (cartões do mesmo tamanho); aberto: título inteiro */
.av-tit{flex:1;min-width:0;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av.aberto .av-tit{white-space:normal}
.av.aberto .seta{transform:rotate(90deg);color:var(--ambar)}
.av-data{font-size:10.5px;font-weight:600;color:var(--ambar);border:1px solid color-mix(in srgb,var(--ambar) 45%,transparent);border-radius:999px;padding:0 6px;white-space:nowrap;flex:none}
.av-det{padding:0 10px 10px 32px;font-size:12.5px;color:var(--suave)}
.av-det[hidden]{display:none}
.av-det ul{margin:4px 0;padding-left:16px}
.av-det code{font-size:11.5px}
.av.feito .av-tit{text-decoration:line-through;color:var(--fraco)}
.feitos{margin-top:10px}
.feitos summary{cursor:pointer;color:var(--fraco);font-size:12.5px}
.feitos .lista-cards{margin-top:8px;max-width:640px}
/* ----- Supabase: contas e projetos ----- */
.contas-sb{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px}
.sb-conta{background:var(--card);border:1px solid var(--linha);border-radius:12px;padding:12px 13px}
.sb-conta h3{margin:0;font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sb-conta h3 .logado{font-size:10.5px;font-weight:600;color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 45%,transparent);border-radius:999px;padding:0 6px}
.sb-conta .sb-uso{font-size:12px;color:var(--fraco);margin:2px 0 8px}
.sb-org{margin-top:8px}
.sb-org-cab{font-size:12px;font-weight:600;color:var(--suave);display:flex;gap:6px;align-items:center}
.plano{font-size:10.5px;font-weight:600;border-radius:999px;padding:0 6px;border:1px solid}
.p-free{color:var(--suave);border-color:var(--linha)} .p-pro{color:var(--ambar);border-color:color-mix(in srgb,var(--ambar) 45%,transparent)}
.sb-proj{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;padding:4px 0;border-top:1px dashed var(--linha)}
.sb-org-cab + .sb-proj{border-top:0}
.sb-proj > a{font-weight:500;text-decoration:none}
.sb-proj > a:hover{color:var(--ambar)}
.sb-proj code{font-size:11px;color:var(--fraco)}
.sb-proj .cp{border:1px solid var(--linha);background:var(--card2);color:var(--suave);cursor:pointer;font:inherit;font-size:11px;padding:0 5px;border-radius:6px;line-height:1.5}
.sb-proj .cp:hover{color:var(--texto);border-color:var(--ambar)}
.selo{font-size:10.5px;border-radius:6px;padding:0 5px;border:1px solid var(--linha);color:var(--suave)}
.selo.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}
.selo.falta{color:var(--erro);border-color:color-mix(in srgb,var(--erro) 45%,transparent)}
.sb-vazio{font-size:12px;color:var(--fraco);padding:3px 0}
.nota-sb{font-size:12px;color:var(--fraco);margin:10px 0 0}
.vazio{color:var(--fraco);padding:20px 0;display:none}
footer{max-width:1280px;margin:0 auto;padding:0 16px 30px;color:var(--fraco);font-size:12px}
#aviso{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--ambar);color:var(--preto);padding:8px 14px;border-radius:10px;font-weight:600;font-size:13px;opacity:0;transition:.2s;pointer-events:none}
#aviso.on{opacity:1}
