/* Estilos do app Caixa (sobre o styles.css do RolêJunto) */
body{background:var(--soft);padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.app{max-width:760px;margin:0 auto;padding:0 16px}
.top{position:sticky;top:0;z-index:20;background:var(--header-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top .in{max-width:760px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:10px}
.logo{width:36px;height:36px;border-radius:12px;background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:center;flex:none}
.ic{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ib{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--ink);flex:none;cursor:pointer;text-decoration:none}
.search{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:0 12px;height:40px;color:var(--muted)}
.search input{border:0;background:none;outline:0;flex:1;min-width:0;width:100%}
.kbd{font-size:11px;border:1px solid var(--line-2);border-radius:6px;padding:1px 6px;color:var(--muted-2)}
@media(max-width:600px){.kbd{display:none}}
h1.hello{font-size:28px;margin:20px 0 4px}
.hero{background:var(--ink);color:#fff;border-radius:24px;padding:20px;margin:16px 0;position:relative;overflow:hidden}
.hero small{color:var(--brand-muted)}
.hero .big{font-family:var(--display);font-weight:800;font-size:38px;letter-spacing:-.03em;line-height:1.1}
.hero::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:var(--accent);opacity:.25}
.pills{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;position:relative;z-index:1}
.pill{background:rgba(255,255,255,.08);border-radius:14px;padding:10px 12px}
.pill b{display:block;font-size:15px}.pill span{font-size:12px;color:var(--brand-muted)}
.qa{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 20px}
.qa button{border:0;background:var(--white);border-radius:18px;padding:14px 4px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--ink);box-shadow:var(--shadow);cursor:pointer}
.qa .c{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center}
.sec{display:flex;align-items:center;justify-content:space-between;margin:22px 0 10px}
.sec h2{font-size:18px;font-family:var(--body);font-weight:700}
.item{display:flex;align-items:center;gap:12px;background:var(--white);border-radius:18px;padding:12px;margin-bottom:8px;box-shadow:var(--shadow)}
.item.click{cursor:pointer}
.av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--display);font-weight:800;flex:none}
.grow{flex:1;min-width:0}.grow b,.grow span{display:block;overflow:hidden;text-overflow:ellipsis}
.grow .tag{display:inline-block;overflow:visible}
.amt{font-weight:700;white-space:nowrap}
.chk{width:40px;height:40px;border-radius:50%;border:2px solid var(--line-2);background:none;color:transparent;display:flex;align-items:center;justify-content:center;flex:none;cursor:pointer}
.chk.on{background:var(--teal);border-color:var(--teal);color:#fff}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}
.chip{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:8px 14px;font-weight:600;font-size:14px;white-space:nowrap;color:var(--muted);cursor:pointer}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.day{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);margin:18px 4px 8px}
.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--header-bg);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom))}
.nav .in{max-width:520px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 76px 1fr 1fr;align-items:center}
.nav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11.5px;font-weight:600;color:var(--muted-2);padding:4px;cursor:pointer}
.nav button.on{color:var(--accent)}
.nav .side-only{display:none}
.nav .brand{display:none}
.fab{width:58px;height:58px;border-radius:20px!important;background:var(--accent)!important;color:#fff!important;margin:-26px auto 0;box-shadow:0 14px 30px -10px var(--accent);justify-content:center}
.sheet-b{position:fixed;inset:0;background:rgba(10,14,22,.55);z-index:50;display:none;align-items:flex-end;justify-content:center}
.sheet-b.open{display:flex}
.sheet{background:var(--white);width:100%;max-width:560px;border-radius:28px 28px 0 0;padding:20px 20px calc(20px + env(safe-area-inset-bottom));max-height:92vh;overflow:auto;display:flex;flex-direction:column;gap:12px}
@media(min-width:700px){.sheet-b{align-items:center}.sheet{border-radius:28px}}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.step{display:flex;align-items:center;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.step button{width:44px;height:46px;border:0;background:var(--soft);font-size:20px;font-weight:700;cursor:pointer}
.step input{width:100%;text-align:center;border:0;background:none;font-weight:700;font-size:16px;outline:0}
.sum{background:var(--teal-soft);color:var(--teal);border-radius:16px;padding:14px;font-size:14px}
.sum b{font-size:20px;font-family:var(--display)}
.toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:14px;font-weight:600;z-index:60;opacity:0;transition:.2s;pointer-events:none;max-width:90vw}
.toast.on{opacity:1}
.empty2{text-align:center;color:var(--muted);padding:36px 16px}
.bar{height:8px;background:var(--line);border-radius:6px;overflow:hidden;margin-top:6px}.bar i{display:block;height:100%;background:var(--teal)}
.tag{font-size:11.5px;font-weight:700;border-radius:8px;padding:2px 8px}
.t-late{background:var(--danger-soft);color:var(--danger)}.t-today{background:var(--warn-bg);color:var(--warn-fg)}.t-ok{background:var(--teal-soft);color:var(--teal)}.t-adm{background:var(--accent-soft);color:var(--accent)}.t-off{background:var(--soft);color:var(--muted)}
.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.switch input{width:44px;height:26px;appearance:none;background:var(--line-2);border-radius:20px;position:relative;cursor:pointer;transition:.15s;flex:none}
.switch input::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.15s}
.switch input:checked{background:var(--teal)}.switch input:checked::after{left:21px}
.menu-i{display:flex;align-items:center;gap:14px;padding:14px 4px;border:0;border-bottom:1px solid var(--line);background:none;font-weight:600;font-size:16px;color:var(--ink);width:100%;text-align:left;cursor:pointer}
.menu-i .c{width:38px;height:38px;border-radius:12px;background:var(--soft);display:flex;align-items:center;justify-content:center}
.login{min-height:100vh;display:flex;flex-direction:column;justify-content:center;max-width:420px;margin:0 auto;padding:24px 20px;gap:14px}
.login .logo{width:56px;height:56px;border-radius:18px}
.log-i{display:flex;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);font-size:14.5px}
.log-i time{color:var(--muted-2);font-size:12px;white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
@media(max-width:480px){.item{gap:8px;padding:10px}.item .av{display:none}.chk{width:34px;height:34px}.item .ib{width:36px;height:36px}.hero .big{font-size:32px}}
/* ----- Painel no computador: menu lateral ----- */
@media(min-width:900px){
  body{padding-bottom:0;padding-left:250px}
  .app,.top .in{max-width:1000px}
  .nav{top:0;bottom:auto;width:250px;right:auto;height:100vh;border-top:0;border-right:1px solid var(--line);padding:20px 12px;background:var(--white);backdrop-filter:none}
  .nav .in{max-width:none;display:flex;flex-direction:column;align-items:stretch;gap:4px}
  .nav .brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:22px;padding:4px 10px 18px}
  .nav button{flex-direction:row;gap:12px;font-size:15px;padding:12px 14px;border-radius:14px;text-align:left}
  .nav button.on{background:var(--accent-soft)}
  .nav .side-only{display:flex}.nav .mobile-only{display:none!important}
  .nav .fab{width:auto;height:auto;margin:10px 0;padding:14px!important;border-radius:14px!important;order:-1;font-size:15px;justify-content:center}
  .nav .spacer{flex:1}
  .qa{max-width:560px}
}
.nav .fab .t{display:none}
@media(min-width:900px){.nav .fab .t{display:inline;margin-left:8px;font-weight:700}.nav .brand{font-size:19px}}
.nav .spacer{display:none}
@media(min-width:900px){.nav .spacer{display:block}}
@media(min-width:900px){.nav .brand{order:-3}}
