@font-face{font-family:'Riffic Free';src:url('../fonts/RifficFree-Bold.woff2') format('woff2'),url('../fonts/RifficFree-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--creme:#F8EFE8;--laranja:#F2A870;--marrom:#C98E5B;--azul:#ADCDDC;--verde:#BFCF8E;--ink:#5A3A28;--soft:#7A5640;--linha:#EBDCCF;--branco:#fff;
--titulo:'Riffic Free','Fredoka',system-ui,sans-serif;--texto:'Fredoka',system-ui,-apple-system,'Segoe UI',sans-serif}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--creme);color:var(--ink);font:400 1rem/1.55 var(--texto)}
h1,h2,h3{font-family:var(--titulo);font-weight:700;line-height:1.2;margin:0}
h1{font-size:1.7rem}h2{font-size:1.25rem;margin-bottom:10px}h3{font-size:1.05rem}
a{color:var(--ink)}
:focus-visible{outline:3px solid var(--marrom);outline-offset:2px;border-radius:8px}
.sub{color:var(--soft);font-size:.9rem}
.wrap{max-width:1120px;margin:0 auto;padding:22px 18px 60px}

.top{position:sticky;top:0;z-index:10;background:var(--branco);border-bottom:1px solid var(--linha);box-shadow:0 3px 14px rgba(201,142,91,.12)}
.topin{max-width:1120px;margin:0 auto;padding:8px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.brand img{height:40px;width:auto;display:block}
.top nav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.top nav a,.mais summary{padding:7px 14px;border-radius:999px;text-decoration:none;font-weight:500;font-size:.93rem;color:var(--soft);cursor:pointer;list-style:none}
.top nav a:hover,.mais summary:hover{background:var(--creme);color:var(--ink)}
.top nav a.on{background:var(--creme);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--laranja)}
.top nav a.sair{border:1.5px solid var(--linha);margin-left:6px}
.mais{position:relative}.mais summary::-webkit-details-marker{display:none}
.mais div{position:absolute;right:0;top:110%;background:var(--branco);border:1px solid var(--linha);border-radius:16px;padding:6px;display:grid;min-width:180px;box-shadow:0 10px 26px rgba(90,58,40,.16);z-index:20}

.head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.btn{display:inline-block;background:var(--laranja);color:#4A2E1F;border:0;border-radius:999px;padding:10px 22px;font:600 .98rem var(--texto);cursor:pointer;text-decoration:none;box-shadow:0 3px 0 var(--marrom);transition:transform .12s}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--marrom)}
.btn.alt{background:var(--branco);box-shadow:inset 0 0 0 2px var(--marrom)}
.btn.bad{background:#B3392F;color:#fff;box-shadow:none}
.btn.sm{padding:4px 14px;font-size:.85rem;box-shadow:none}
.btn.alt.sm{box-shadow:inset 0 0 0 1.5px var(--marrom)}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}
.stat{position:relative;overflow:hidden;background:var(--branco);border:1px solid var(--linha);border-radius:20px;padding:15px 16px 15px 22px}
.stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--c,var(--laranja))}
.stat b{display:block;font:700 1.45rem var(--titulo)}.stat span{color:var(--soft);font-size:.85rem}
.panel{background:var(--branco);border:1px solid var(--linha);border-radius:22px;box-shadow:0 8px 26px rgba(201,142,91,.1);overflow:hidden;margin-bottom:18px}
.panel>h2{padding:16px 18px 0}.pad{padding:18px}
.tools{display:flex;gap:10px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--linha);background:#FCF7F2}
.tools input,.tools select{flex:1 1 160px;width:auto}
input,select,textarea{font:inherit;color:var(--ink);border:1.5px solid var(--linha);border-radius:12px;padding:8px 12px;width:100%;background:#fff}
input[type=checkbox],input[type=radio]{width:auto}
input:focus,select:focus,textarea:focus{border-color:var(--laranja);outline:0;box-shadow:0 0 0 3px rgba(242,168,112,.28)}
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.93rem}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--linha);vertical-align:middle}
th{font-size:.78rem;color:var(--soft);font-weight:600;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
tbody tr:hover{background:#FFFBF7}tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;white-space:nowrap}
.pill{display:inline-block;border-radius:999px;padding:1px 11px;font-size:.78rem;font-weight:600;white-space:nowrap}
.azul{background:#E4F0F6;color:#2D6079}.laranja{background:#FCE8D8;color:#8A4A18}.verde{background:#ECF2D6;color:#4A5F1E}.vermelho{background:#F6E0DA;color:#8C3322}.cinza{background:#EFE9E4;color:#6B5A4E}
.vazio{text-align:center;color:var(--soft);padding:36px 16px}
.msg{padding:11px 16px;border-radius:14px;margin-bottom:14px}
.msg.ok{background:#ECF2D6;color:#3F5219}.msg.erro{background:#F6E0DA;color:#8C3322}.msg.aviso{background:#FCE8D8;color:#7A4113}
.msg ul{margin:6px 0 0;padding-left:20px}
.grid{display:grid;gap:14px}@media(min-width:620px){.grid{grid-template-columns:1fr 1fr}.grid.t3{grid-template-columns:repeat(3,1fr)}.full{grid-column:1/-1}}
label{display:grid;gap:4px;font-weight:500;font-size:.88rem}
label.chk{display:flex;align-items:center;gap:8px;font-weight:400}
.sec{grid-column:1/-1;margin-top:6px;padding-top:10px;border-top:1px dashed var(--linha);font:700 1rem var(--titulo);color:var(--ink)}
.sec:first-child{border-top:0;padding-top:0;margin-top:0}
.acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.dia{padding:10px 18px;background:#FCF7F2;border-bottom:1px solid var(--linha);font:700 .95rem var(--titulo)}
.item{display:flex;gap:14px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--linha);flex-wrap:wrap}
.item .hora{font:700 1rem var(--titulo);min-width:92px}.item .info{flex:1 1 220px}.item .info small{display:block;color:var(--soft)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.tabs a{padding:6px 16px;border-radius:999px;text-decoration:none;font-weight:500;background:var(--branco);border:1.5px solid var(--linha)}
.tabs a.on{background:var(--laranja);border-color:var(--laranja);color:#4A2E1F}
.dias{display:flex;gap:8px;flex-wrap:wrap}.dias label{display:flex;align-items:center;gap:6px;font-weight:400;background:var(--creme);padding:6px 12px;border-radius:999px}
.mini{width:auto;display:inline-block;padding:5px 8px;font-size:.88rem}
pre.json{margin:0;white-space:pre-wrap;word-break:break-word;font:.78rem/1.4 ui-monospace,monospace;max-width:380px;color:var(--soft)}
.login{max-width:400px;margin:7vh auto 0;background:var(--branco);border:1px solid var(--linha);border-radius:26px;padding:30px 28px;box-shadow:0 12px 36px rgba(201,142,91,.2);text-align:center}
.login img{width:120px;margin:0 auto 10px}.login .grid{text-align:left;grid-template-columns:1fr}
.grande{font:600 1.15rem var(--texto)}
@media(max-width:640px){.top nav a.sair{margin-left:0}.wrap{padding:16px 12px 50px}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}
.cli{position:relative;display:block}
.cli>label{margin-bottom:4px}
.tools .cli{flex:1 1 220px}
.cli-list{position:absolute;z-index:15;left:0;right:0;top:100%;margin-top:4px;background:var(--branco);border:1px solid var(--linha);border-radius:14px;box-shadow:0 10px 26px rgba(90,58,40,.16);max-height:280px;overflow:auto}
.cli-list button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:9px 14px;font:inherit;color:var(--ink);cursor:pointer}
.cli-list button:hover,.cli-list button.on{background:var(--creme)}
.cli-list small{display:block;color:var(--soft);font-size:.82rem}
.cli-novo{margin-top:6px;padding:10px 14px;background:#FCE8D8;color:#7A4113;border-radius:12px;font-size:.9rem}
.cli-novo .btn{margin-left:4px}

/* ===== impressão ===== */
.print-only{display:none}
@media print{
  @page{size:A4;margin:14mm}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body{background:#fff;font-size:11pt}
  .top,.tabs,.no-print,.btn,.msg,.mais{display:none!important}
  .print-only{display:block;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--marrom)}
  .print-only img{height:46px;width:auto;display:block;margin-bottom:6px}
  .print-only h1{font-size:18pt;margin-bottom:4px}
  .wrap{max-width:none;padding:0}
  .panel{box-shadow:none;border:1px solid #d9c6b5;border-radius:8px;margin-bottom:12px}
  .panel>h2{padding:10px 12px 0;break-after:avoid}
  .scroll{overflow:visible}
  table{font-size:9.5pt}
  thead{display:table-header-group}
  tr{break-inside:avoid}
  th,td{padding:5px 8px}
  .cards{grid-template-columns:repeat(4,1fr);gap:8px}
  .stat{padding:8px 10px 8px 14px;break-inside:avoid;border:1px solid #d9c6b5}
  .stat b{font-size:13pt}
  .pill{border:1px solid currentColor}
  .pad{padding:10px 12px}
}
.tot td{background:#FCF7F2}
.nota{margin:0 0 16px}
@media print{.tot td{background:#f3ebe3}.nota{margin:6px 0 10px}}
.grande{word-break:break-word}
