/* PILAR OS — design system (identidade Pilar Confecções, mobile-first, chão de fábrica) */
@import url("/static/fonts/noto-emoji.css"); /* emojis monocromáticos (herdam a cor do texto) */
:root{
  --cor-primaria:#0d1c33;      /* azul-marinho do logo */
  --cor-primaria-2:#1a2a4a;
  --cor-destaque:#d9a441;      /* dourado do logo */
  --cor-fundo:#f4f5f8;
  --cor-card:#fff;
  --cor-texto:#1b2233;
  --cor-ok:#1d8a4a; --cor-alerta:#d97706; --cor-erro:#c0392b;
  --raio:12px;
}
*{box-sizing:border-box}
html{height:100%;background:var(--cor-fundo)}
html.pg-login{background:var(--cor-primaria)}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Noto Emoji",sans-serif;
  background:var(--cor-fundo);color:var(--cor-texto);font-size:18px}
button,input,select,textarea{font-family:inherit}
h1{font-size:24px;margin:0 0 12px} h2{font-size:20px;margin:16px 0 8px} h3{font-size:19px;margin:0 0 10px}
small{font-weight:400}

/* ---------- topo/menu ---------- */
.topo{display:flex;align-items:center;gap:12px;background:var(--cor-primaria);color:#fff;
  padding:10px 14px;position:sticky;top:0;z-index:20}
.topo-dir{margin-left:auto;display:flex;align-items:center;gap:10px}
.btn-menu{font-size:24px;background:none;border:none;color:#fff;cursor:pointer;display:none}
.corpo{display:flex;min-height:calc(100vh - 56px);min-height:calc(100svh - 56px)}
.menu{width:230px;background:var(--cor-primaria-2);padding:12px 0;flex-shrink:0}
.menu a{display:block;color:#dfe4f0;text-decoration:none;padding:14px 18px;font-size:17px;cursor:pointer}
.menu a.ativo,.menu a:hover{background:var(--cor-primaria);color:var(--cor-destaque);font-weight:600}
.conteudo{flex:1;padding:18px;max-width:1500px}
@media(max-width:900px){
  .btn-menu{display:block}
  .menu{position:fixed;left:-260px;top:56px;bottom:0;z-index:30;transition:left .2s}
  .menu.aberto{left:0;box-shadow:4px 0 20px rgba(0,0,0,.4)}
  .conteudo{padding:10px}
}

/* ---------- logo ---------- */
.login-logo{display:flex;align-items:center;gap:10px;color:#fff}
.login-logo b{font-size:22px;letter-spacing:1px;display:block;line-height:1}
.login-logo small{color:var(--cor-destaque);font-size:11px;letter-spacing:3px}
.login-logo.mini b{font-size:18px}
.logo-img{height:38px;width:auto;display:block}
.logo-cheia{display:block;width:min(300px,80%);margin:0 auto 6px}

/* ---------- login ---------- */
.tela-login{background:var(--cor-primaria);display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100svh}
.login-card{background:var(--cor-primaria-2);padding:34px;border-radius:16px;width:min(400px,92vw)}
.login-card h1{color:#fff;font-size:20px;margin:22px 0 14px}
.login-card label{display:block;color:#c8cfdf;margin-bottom:12px;font-size:16px}
.login-card input{width:100%;margin-top:6px;padding:14px;border-radius:10px;border:none;font-size:18px}
.login-erro{background:#5b1e1e;color:#ffb4b4;padding:10px;border-radius:8px;margin-bottom:12px}

/* ---------- botões (chão de fábrica: grandes) ---------- */
.btn{background:var(--cor-destaque);color:var(--cor-primaria);border:none;border-radius:var(--raio);
  padding:14px 22px;font-size:18px;font-weight:700;cursor:pointer;min-height:52px}
.btn:hover{filter:brightness(1.08)}
.btn:disabled{opacity:.5;cursor:default}
.btn-grande{width:100%;min-height:64px;font-size:20px}
.btn-sec{background:#e6e9f2;color:var(--cor-primaria)}
.btn-mini{min-height:38px;padding:6px 14px;font-size:15px;font-weight:600}
.btn-perigo{background:var(--cor-erro);color:#fff}
.btn-ok{background:var(--cor-ok);color:#fff}
.barra{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.barra input,.barra select{padding:12px;border-radius:10px;border:1px solid #c6ccd9;font-size:17px}

/* ---------- cards/tabelas ---------- */
.card{background:var(--cor-card);border-radius:var(--raio);padding:16px;margin-bottom:14px;
  box-shadow:0 1px 4px rgba(20,29,51,.08)}
table{width:100%;border-collapse:collapse;font-size:16px}
th{text-align:left;font-size:14px;border-bottom:2px solid #e2e5ee;padding:8px 6px;color:#59617a}
td{padding:10px 6px;border-bottom:1px solid #eef0f6;vertical-align:middle}
tr:hover td{background:#f8f9fc}
.vazio{color:#8a90a3;padding:30px;text-align:center;font-size:17px}
.pill{display:inline-block;border-radius:20px;padding:3px 12px;font-size:14px;font-weight:700}
.pill.on{background:#dcf5e6;color:var(--cor-ok)} .pill.off{background:#f2d7d2;color:var(--cor-erro)}
.pill.adm{background:var(--cor-primaria);color:var(--cor-destaque)}
.pill.aguarda{background:#e8eaf2;color:#59617a}
.pill.anda{background:#dcedf9;color:#1565a8}
.pill.pausa{background:#fdeccd;color:var(--cor-alerta)}
.pill.terc{background:#ead9fb;color:#7b3fb5}
.pill.done{background:#dcf5e6;color:var(--cor-ok)}

/* ---------- kanban ---------- */
.kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:20px;align-items:flex-start}
.kb-col{background:#e9ebf3;border-radius:var(--raio);min-width:250px;width:250px;flex-shrink:0;padding:10px}
.kb-col h3{font-size:16px;display:flex;justify-content:space-between;color:var(--cor-primaria);margin:2px 4px 10px}
.kb-col h3 small{color:#707890;font-weight:600}
.kb-card{background:#fff;border-radius:10px;padding:10px 12px;margin-bottom:10px;cursor:pointer;
  border-left:5px solid var(--cor-primaria);box-shadow:0 1px 3px rgba(0,0,0,.08);font-size:15px}
.kb-card b{font-size:16px}
.kb-card .linha2{color:#59617a;margin:2px 0}
.prazo-ok{color:var(--cor-ok);font-weight:700}.prazo-perto{color:var(--cor-alerta);font-weight:700}
.prazo-estourou{color:var(--cor-erro);font-weight:700}
.tv .menu,.tv .topo{display:none}

/* ---------- apontamento (tablet) ---------- */
.apont-hero{background:var(--cor-primaria);color:#fff;border-radius:var(--raio);padding:20px;margin-bottom:14px}
.apont-hero h1{color:#fff;font-size:26px}
.apont-hero .grade{color:var(--cor-destaque);font-size:19px;margin-top:6px}
.apont-acoes{display:flex;flex-direction:column;gap:14px;max-width:520px}
.timeline{list-style:none;padding:0;margin:14px 0}
.timeline li{padding:10px 14px;border-left:4px solid #ccd2e0;margin-bottom:4px;background:#fff;border-radius:0 10px 10px 0;font-size:16px}
.timeline li.done{border-color:var(--cor-ok)}
.timeline li.atual{border-color:var(--cor-destaque);font-weight:700;background:#fdf6e7}

/* ---------- produção diária ---------- */
.pd-colab{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid #eef0f6;cursor:pointer;font-size:18px}
.pd-colab .check{margin-left:auto;font-size:22px}
.pd-lanc input[type=number]{width:110px;padding:14px;font-size:22px;text-align:center;border:2px solid #c6ccd9;border-radius:10px}

/* ---------- modal/toast ---------- */
.modal-fundo{position:fixed;inset:0;background:rgba(10,15,30,.55);z-index:50;display:flex;align-items:center;justify-content:center;padding:14px}
[hidden]{display:none !important} /* display:flex acima anulava o hidden — modal vazio aparecia como faixa branca */
.modal{background:#fff;border-radius:16px;padding:22px;width:min(680px,96vw);max-height:92vh;overflow:auto}
.modal label{display:block;margin-bottom:10px;font-size:16px}
.modal input,.modal select,.modal textarea{width:100%;margin-top:4px;padding:12px;font-size:17px;border:1px solid #c6ccd9;border-radius:10px}
.acoes{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--cor-primaria);color:#fff;
  padding:14px 26px;border-radius:12px;z-index:99;font-size:17px;box-shadow:0 4px 18px rgba(0,0,0,.35)}
.toast.erro{background:var(--cor-erro)}

/* ---------- dash ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}
.kpi{background:var(--cor-card);border-radius:var(--raio);padding:16px;text-align:center}
.kpi b{font-size:34px;color:var(--cor-primaria);display:block}
.kpi span{color:#707890;font-size:15px}
.kpi.ruim b{color:var(--cor-erro)}

/* grade de tamanhos no pedido */
.grade-linha{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.grade-linha label{text-align:center;font-size:14px;color:#59617a}
.grade-linha input{width:64px;padding:10px 4px;text-align:center;font-size:17px;border:1px solid #c6ccd9;border-radius:8px}
.perm-grupo{border:1px solid #e2e5ee;border-radius:10px;padding:10px;margin-bottom:10px}
.perm-grupo b{display:block;margin-bottom:6px}
.perm-grupo label{display:inline-flex;align-items:center;gap:4px;margin:3px 12px 3px 0;font-size:15px}
.perm-grupo input{width:auto}
@media print{.menu,.topo,.barra{display:none}}
