/* Tema inspirado em helpdesks modernos: barra lateral escura, fundo azul-claro, cartoes brancos */
:root{--side:#0e2a55;--side2:#091d3e;--act:#1a6fe6;--bg1:#f3f5f8;--bg2:#dde3ea;--card:#fff;--tx:#26323f;--mut:#6f7b88;--pri:#1a64d6;--bd:#d6dce4;--ok:#1f8f5f;--err:#c9423a;--teal:#2f8fff;--silver:#aeb4ba}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--tx);background:linear-gradient(160deg,var(--bg1),var(--bg2)) fixed;min-height:100vh}
a{color:var(--pri);text-decoration:none}a:hover{text-decoration:underline}

/* Layout com barra lateral */
body.with-side{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.side{background:linear-gradient(var(--side),var(--side2));color:#d7e0ee;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.search{padding:14px}
.search input{width:100%;border:0;border-radius:20px;padding:9px 14px;background:rgba(0,0,0,.25);color:#fff}
.search input::placeholder{color:#98a8c0}
.brand-t{font-weight:700;color:#fff}
.menu{flex:1;overflow:auto}
.ni{display:flex;align-items:center;gap:12px;padding:13px 20px;color:#d7e0ee;border-left:4px solid transparent}
.ni:hover{background:rgba(255,255,255,.07);text-decoration:none}
.ni.on{background:var(--act);color:#fff;border-left-color:#fff}
.ic{width:20px;text-align:center;opacity:.9}
.side-foot{display:flex;align-items:center;gap:10px;padding:12px 14px;background:rgba(0,0,0,.2)}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.who{flex:1;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plus{width:30px;height:30px;border-radius:50%;background:var(--teal);color:#fff!important;font-size:1.4rem;line-height:28px;text-align:center}
.plus:hover{text-decoration:none;filter:brightness(1.1)}
.exit{background:none;border:1px solid rgba(255,255,255,.35);color:#fff;padding:4px 10px;border-radius:5px;cursor:pointer;font-size:.8rem}

main{padding:24px 28px;max-width:1200px;width:100%}
body.plain main{margin:0 auto}

/* Cartoes */
.card{background:var(--card);border:1px solid var(--bd);border-radius:6px;padding:18px;margin-bottom:16px;box-shadow:0 1px 2px rgba(40,70,100,.06)}
h1{font-size:1.45rem;font-weight:500;margin:0 0 16px}
h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin:0 0 12px;font-weight:600}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--bd);vertical-align:top}
th{font-size:.75rem;text-transform:uppercase;color:var(--mut);font-weight:600}
tr:hover td{background:#f6f8fa}
.num{text-align:right;white-space:nowrap}

/* Formularios */
label{display:block;font-weight:600;margin:10px 0 4px;font-size:.88rem}
input,select,textarea{width:100%;padding:8px 10px;border:1px solid #c7d6e3;border-radius:5px;font:inherit;background:#fff;color:var(--tx)}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(26,111,230,.3);border-color:var(--act)}
textarea{min-height:90px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.row>*{flex:1 1 140px}
.row>.wide,.wide{flex:3 1 260px}
button,.btn{display:inline-block;background:var(--act);color:#fff;border:0;border-radius:5px;padding:8px 16px;font:inherit;cursor:pointer}
button:hover,.btn:hover{filter:brightness(1.07);text-decoration:none}
button.sec,.btn.sec{background:#e5e9ef;color:var(--tx)}
button.danger{background:var(--err)}
button.link{background:none;padding:0;color:var(--pri);text-decoration:underline}
form.inline{display:inline}
.chk{display:flex;gap:8px;align-items:center;font-weight:400}.chk input{width:auto}
.gap{margin-top:18px}

.flash{padding:10px 14px;border-radius:5px;margin-bottom:14px}
.flash.ok{background:#e1f5ec;color:var(--ok)}.flash.err{background:#fde8e6;color:var(--err)}

/* Status */
.badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.76rem;background:#e5e9ef;color:#3b4754}
.st-aberta{background:#d6ebfb}.st-em_analise{background:#dde3fb}.st-aguardando_aprovacao{background:#fdeeba}
.st-aguardando_peca{background:#fde0c4}.st-em_andamento{background:#c9f0ee}.st-concluida{background:#d1f3df}
.st-entregue{background:#e3e7eb}.st-cancelada{background:#fbd9d6}

/* Painel: tiles + atividade */
.dash{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:16px}
.tile{display:block;background:var(--card);border:1px solid var(--bd);border-radius:6px;padding:16px;text-align:center;color:var(--tx);box-shadow:0 1px 2px rgba(40,70,100,.06)}
.tile:hover{text-decoration:none;border-color:var(--act)}
.tile small{display:block;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em;color:var(--mut);margin-bottom:6px}
.tile b{font-size:2rem;font-weight:500;color:var(--act);display:block;line-height:1.2}
.feed{border-left:1px solid var(--bd);padding-left:18px}
.feed h2{font-size:1.15rem;text-transform:none;letter-spacing:0;color:var(--tx);font-weight:400}
.ev{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--bd)}
.ev .avatar{width:34px;height:34px;font-size:.85rem;background:var(--silver)}
.ev .t{font-size:.88rem}.ev .d{font-size:.78rem;color:var(--mut)}

.mut{color:var(--mut)}.small{font-size:.85rem}.hint{font-size:.85rem;color:var(--mut)}
.login{max-width:380px;margin:70px auto}
.narrow{max-width:420px}.narrow-lg{max-width:760px;margin:30px auto}
.tl{border-left:3px solid var(--act);padding-left:12px;margin:0 0 14px}
.tl.int{border-left-color:#c9d3dd;color:var(--mut)}

@media (max-width:900px){
  body.with-side{grid-template-columns:1fr}
  .side{position:static;height:auto}
  .menu{display:flex;flex-wrap:wrap}
  .dash{grid-template-columns:1fr}.feed{border-left:0;padding-left:0}
  main{padding:16px}
}
@media print{.no-print,.side{display:none!important}body,body.with-side{display:block;background:#fff}.card{border:0;box-shadow:none;padding:0}main{padding:0}}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.gallery figure{margin:0}.gallery img{width:100%;height:120px;object-fit:cover;border-radius:5px;border:1px solid var(--bd);display:block}
.codes code{display:inline-block;background:#eceff3;border:1px solid var(--bd);border-radius:4px;padding:4px 10px;margin:3px;font-size:1.05rem;letter-spacing:.06em}
.break{word-break:break-all}
input[type=file]{padding:6px;background:#f6f8fa}
/* Logotipo: recorta o excesso de branco da imagem quadrada */
.logo{display:block;width:100%;max-width:300px;aspect-ratio:1.8;object-fit:cover;margin:0 auto 14px}
.side-logo{display:block;margin:16px 18px 4px}
.logo-side{display:block;width:100%;height:auto}
.login h1{text-align:center}
@media (max-width:900px){.side-logo{max-width:220px}}
