@import "https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Barlow+Condensed:wght@600;700&display=swap";:root{--bg:#eef1f0;--bg-deep:#2f3031;--surface:#fff;--ink:#2f3031;--muted:#5c6360;--line:#d5ddd8;--accent:#8fc02e;--accent-ink:#1a1a1a;--ok:#5a9a1c;--warn:#b42318;--shadow:0 12px 40px #2f30311f;--radius:14px;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Barlow,sans-serif;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1200px 500px at 10% -10%, #8fc02e29, transparent 60%), radial-gradient(900px 400px at 100% 0%, #2f303114, transparent 55%), linear-gradient(180deg, #f5f7f4 0%, var(--bg) 40%, #e4eae5 100%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3{letter-spacing:.02em;margin:0;font-family:Barlow Condensed,sans-serif}.btn{cursor:pointer;background:var(--surface);color:var(--ink);border:1px solid #0000;border-radius:10px;align-items:center;gap:.4rem;padding:.55rem .95rem;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--accent);color:var(--accent-ink);font-weight:600;box-shadow:0 8px 20px #8fc02e59}.btn.ghost{border-color:var(--line);background:0 0}.btn.danger{color:var(--warn);background:#fdeceb;border-color:#f3c4c0}.btn.sm{padding:.3rem .55rem;font-size:.85rem}.btn.block{justify-content:center;width:100%}.login-page{place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative}.login-bg{background:linear-gradient(135deg,#2f3031f0,#2f3031c7),repeating-linear-gradient(-45deg,#0000,#0000 12px,#ffffff08 12px 24px);position:absolute;inset:0}.login-card{background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow);border-radius:20px;gap:.9rem;padding:2rem;display:grid;position:relative}.login-brand{text-align:center;margin-bottom:.5rem}.login-brand h1{margin-top:.6rem;font-size:2.2rem}.login-brand p,.login-hint,.muted,.brand-sub,.home-lead,.page-header p{color:var(--muted)}.login-hint{text-align:center;margin:0;font-size:.85rem}.brand-mark{color:#fff;letter-spacing:.04em;background:linear-gradient(145deg,#8fc02e,#2f3031);border-radius:12px;place-items:center;width:42px;height:42px;font-family:Barlow Condensed,sans-serif;font-weight:700;display:inline-grid}.brand-logo{object-fit:contain;width:auto;height:40px;display:block}.brand-logo.lg{height:72px}.brand-logo.xl{height:88px;margin:0 auto .4rem}.brand-mark.xl{border-radius:16px;width:64px;height:64px;font-size:1.4rem}label{gap:.35rem;font-size:.92rem;font-weight:500;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfcfd;border-radius:10px;padding:.65rem .75rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:2px solid #8fc02e66}.alert{color:var(--warn);background:#fdeceb;border-radius:10px;padding:.7rem .85rem;font-size:.92rem}.shell{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:20;background:#ffffffdb;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex;position:sticky;top:0}.brand-link{align-items:center;gap:.75rem;display:flex}.brand-link img{flex-shrink:0}.brand-link strong{font-family:Barlow Condensed,sans-serif;font-size:1.25rem;display:block}.brand-sub{font-size:.82rem;display:block}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.user-chip{background:#eef4f7;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.88rem;display:inline-flex}.shell-main{width:min(1280px,100%);margin:0 auto;padding:1.25rem}.home-hero{margin:.5rem 0 1.5rem;animation:.45s both rise}.home-hero .brand-logo{margin-bottom:.85rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0 0 .4rem;font-size:.75rem;font-weight:600}.home-hero h1{color:var(--ink);font-size:clamp(2.2rem,4.5vw,3.2rem);line-height:.95}.home-lead{margin:.6rem 0 0;font-size:1.1rem}.module-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;display:grid}.module-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);padding:1.25rem;transition:transform .2s,box-shadow .2s,border-color .2s;animation:.5s both rise;box-shadow:0 8px 24px #0b1f2a0f}.module-card:nth-child(2){animation-delay:50ms}.module-card:nth-child(3){animation-delay:.1s}.module-card:nth-child(4){animation-delay:.15s}.module-card:nth-child(5){animation-delay:.2s}.module-card:nth-child(6){animation-delay:.25s}.module-card:nth-child(7){animation-delay:.3s}.module-card:hover{border-color:color-mix(in srgb, var(--mod) 35%, var(--line));transform:translateY(-4px);box-shadow:0 16px 32px #0b1f2a1f}.module-icon{background:color-mix(in srgb, var(--mod) 16%, white);width:52px;height:52px;color:var(--mod);border-radius:14px;place-items:center;margin-bottom:.9rem;display:grid}.module-card h2{margin-bottom:.35rem;font-size:1.35rem}.module-card p{color:var(--muted);margin:0;font-size:.95rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.page-header h1{margin:0;font-size:2rem}.page-header p{margin:.2rem 0 0}.stats-row{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:160px;padding:.85rem 1rem}.stat span{color:var(--muted);font-size:.85rem;display:block}.stat strong{font-family:Barlow Condensed,sans-serif;font-size:1.45rem}.stat.ok strong{color:var(--ok)}.stat.warn strong{color:var(--warn)}.toolbar{margin-bottom:1rem}.toolbar input{max-width:420px}.filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:.75rem;margin-bottom:1rem;padding:.9rem 1rem;display:grid}.filters-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.filter-field{color:var(--muted);gap:.3rem;font-size:.82rem;font-weight:600;display:grid}.filter-field span{letter-spacing:.02em}.filter-field input,.filter-field select{color:var(--ink);font-weight:500}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.7rem .75rem}th{white-space:nowrap;background:#f4f7fa;font-weight:600}tr.paid{background:#f7fbf8}tr.row-pronto{background:#f3f9ec}.check-col{white-space:nowrap;width:110px}.pronto-check{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;font-size:.85rem;font-weight:700;display:inline-flex}.pronto-check input{width:1.15rem;height:1.15rem;accent-color:var(--accent);cursor:pointer;margin:0}.pronto-check:has(input:checked){color:var(--ok)}button.stat{font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}button.stat:hover{border-color:#b7c4ce}button.stat.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent)}.config-tabs{border-bottom:1px solid var(--line);align-items:center;gap:.35rem;margin:0 0 1rem;padding-bottom:0;display:flex}.config-tab{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.4rem;margin-bottom:-1px;padding:.65rem 1rem;font-weight:600;display:inline-flex}.config-tab:hover{color:var(--ink)}.config-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.config-tab-panel{margin-top:.25rem}.config-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.paid-date{color:var(--warn);font-weight:600}.actions{white-space:nowrap;gap:.35rem;display:flex}.produto-cell{max-width:280px}.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted);padding:2.5rem 1rem}.group-block{margin-bottom:1.25rem}.group-head{justify-content:space-between;align-items:baseline;margin-bottom:.45rem;display:flex}.subtotal{color:var(--warn);font-family:Barlow Condensed,sans-serif;font-size:1.2rem}.split-page{grid-template-columns:1fr 260px;align-items:start;gap:1rem;display:grid}.month-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;position:sticky;top:80px}.month-summary ul{margin:.75rem 0;padding:0;list-style:none}.month-summary li{border-bottom:1px solid var(--line);justify-content:space-between;gap:.5rem;padding:.45rem 0;font-size:.9rem;display:flex}.month-total{border-top:2px solid var(--ink);color:var(--warn);justify-content:space-between;padding-top:.75rem;font-family:Barlow Condensed,sans-serif;font-size:1.15rem;display:flex}.badge{border-radius:999px;padding:.15rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.badge.entrada,.badge.status-aprovado,.badge.status-valido,.badge.status-convertido{color:var(--ok);background:#e4f5ec}.badge.saida,.badge.status-recusado,.badge.status-vencido{color:var(--warn);background:#fdeceb}.badge.status-aberto,.badge.status-pendente{color:#9a5b00;background:#fff4e5}.modal-backdrop{z-index:50;background:#0b1f2a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow:auto}.modal{background:var(--surface);width:min(720px,100%);max-height:90vh;box-shadow:var(--shadow);border-radius:16px;padding:1.1rem 1.2rem 1.3rem;overflow:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.form-grid .full{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:.5rem;margin-top:.4rem;display:flex}.confirm-row{gap:.3rem;display:inline-flex}.modules-fieldset{border:1px solid var(--line);border-radius:12px;padding:.75rem 1rem 1rem}.check-grid{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.check{align-items:center;gap:.45rem;font-weight:400;display:flex}.check input{width:auto}.page-with-cal{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1rem;display:grid}.page-with-cal>*{min-width:0}.cal-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem;position:sticky;top:80px}.cal-head{flex-direction:column;gap:.55rem;margin-bottom:.75rem;display:flex}.cal-head strong{font-family:Barlow Condensed,sans-serif;font-size:1.15rem}.cal-selected{color:var(--muted);margin:.15rem 0 0;font-size:.85rem}.cal-nav{justify-content:space-between;align-items:center;gap:.35rem;display:flex}.cal-month{font-size:.92rem;font-weight:600}.cal-weekdays{text-align:center;color:var(--muted);grid-template-columns:repeat(7,1fr);gap:.2rem;margin-bottom:.25rem;font-size:.72rem;font-weight:600;display:grid}.cal-grid{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.cal-cell{aspect-ratio:1;cursor:pointer;font:inherit;color:var(--ink);background:#f5f7f5;border:1px solid #0000;border-radius:10px;place-items:center;padding:0;transition:background .15s,border-color .15s,transform .12s;display:grid;position:relative}.cal-cell.empty{cursor:default;background:0 0}.cal-cell:not(.empty):hover{border-color:var(--accent);transform:translateY(-1px)}.cal-cell.today{border-color:#b7d97a}.cal-cell.selected{background:var(--accent);color:var(--accent-ink);font-weight:700}.cal-cell.has-open .cal-dot{background:var(--warn)}.cal-cell.has-done .cal-dot{background:var(--ok)}.cal-cell.selected .cal-dot{background:var(--accent-ink)}.cal-day{font-size:.88rem;line-height:1}.cal-dot{background:var(--muted);border-radius:50%;width:5px;height:5px;position:absolute;bottom:5px}.cal-actions{flex-wrap:wrap;gap:.4rem;margin-top:.75rem;display:flex}.btn.ok{color:var(--ok);background:#e4f5ec;border-color:#bfe5cd}.pay-summary{color:var(--muted);margin:0 0 .25rem;line-height:1.5}.pay-summary strong{color:var(--ink)}.link-inline{color:var(--ok);margin-top:.45rem;font-size:.85rem;font-weight:600;text-decoration:underline;display:inline-block}.day-banner{background:color-mix(in srgb, var(--accent) 14%, white);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.day-banner strong{font-family:Barlow Condensed,sans-serif;font-size:1.2rem}@media (width<=900px){.shell-main{padding:.85rem}.split-page,.page-with-cal{grid-template-columns:1fr}.page-with-cal .cal-panel{order:-1;position:static;top:auto}.cal-panel,.month-summary{position:static}.form-grid,.check-grid{grid-template-columns:1fr}.page-header h1{font-size:1.55rem}.home-hero h1{font-size:clamp(1.8rem,8vw,2.4rem)}.module-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.stat{flex:140px;min-width:0}.filters-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.modal{width:min(560px,100vw - 1.25rem);max-height:calc(100vh - 1.5rem);overflow:auto}.table-wrap{-webkit-overflow-scrolling:touch;margin-inline:-.15rem}table{min-width:640px;font-size:.85rem}th,td{padding:.55rem .5rem}.actions{flex-wrap:wrap}.config-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:0;overflow-x:auto}.config-tab{flex-shrink:0;padding:.6rem .75rem}.group-head{flex-wrap:wrap;gap:.25rem}}@media (width<=640px){.topbar{gap:.5rem;padding:.65rem .75rem}.brand-logo{height:32px}.brand-link{gap:.45rem;min-width:0}.brand-sub,.brand-link strong{white-space:nowrap;text-overflow:ellipsis;max-width:42vw;font-size:.78rem;overflow:hidden}.topbar-actions{gap:.3rem}.topbar-actions .btn{padding:.45rem .55rem}.topbar-actions .btn-label,.user-chip .btn-label{display:none}.user-chip{padding:.4rem .55rem}.shell-main{padding:.7rem}.page-header{gap:.65rem}.page-header .btn.primary{justify-content:center;width:100%}.page-header h1{font-size:1.35rem}.page-header p{font-size:.88rem}.home-hero .brand-logo.lg{height:56px}.module-grid{grid-template-columns:1fr}.module-card{padding:1rem 1.1rem}.stats-row{gap:.5rem}.stat{flex:calc(50% - .5rem);padding:.7rem .8rem}.stat strong{font-size:1.25rem}.filters{padding:.75rem}.filters-grid{grid-template-columns:1fr 1fr}.day-banner{padding:.65rem .8rem}.day-banner strong{font-size:1.05rem}.login-card{padding:1.35rem}.login-brand h1{font-size:1.7rem}.brand-logo.xl{height:72px}.produto-cell{max-width:180px}.cal-actions .btn{flex:1;justify-content:center}.config-panel-head{flex-direction:column;align-items:stretch}.config-panel-head .btn{justify-content:center;width:100%}.modal-head{gap:.5rem}.modal-head h2{font-size:1.15rem}}@media (width<=420px){.filters-grid{grid-template-columns:1fr}.stat{flex:100%}.check-col span{display:none}.check-col{width:44px}}
