:root{--ink:#1d1d1f;--text-secondary:#6e6e73;--blue:#0ea5e9;--blue-dark:#0284c7;--bg:#fff;--bg-soft:#f5f5f7;--border:#d2d2d7;--radius:18px;--green:#16a34a;--green-bg:#16a34a1a;--amber:#b45309;--amber-bg:#f59e0b1f}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--ink);background-color:var(--bg-soft);margin:0;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;overflow-x:hidden}h1,h2,h3{letter-spacing:-.02em;color:var(--ink);margin:0;font-family:inherit;font-weight:800}button,input{font-family:inherit}a{color:inherit}.login-page{background:var(--bg-soft);padding:24px;padding-top:max(24px, env(safe-area-inset-top));padding-bottom:max(24px, env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.login-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:360px;padding:40px 36px;box-shadow:0 24px 48px #0000000f}.login-brand{justify-content:center;align-items:center;gap:10px;margin-bottom:28px;display:flex}.login-brand img{border-radius:9px;width:34px;height:34px}.login-brand span{color:var(--ink);letter-spacing:-.01em;font-size:15px;font-weight:800}.login-card h1{text-align:center;margin-bottom:6px;font-size:22px}.login-card .subtitle{text-align:center;color:var(--text-secondary);margin-bottom:24px;font-size:14px;font-weight:500}.field{margin-bottom:14px}.field label{color:var(--text-secondary);margin-bottom:6px;font-size:12.5px;font-weight:700;display:block}.field input{border:1.5px solid var(--border);background:var(--bg);width:100%;color:var(--ink);border-radius:10px;padding:11px 14px;font-size:14px;transition:border-color .15s}.field input:focus{border-color:var(--blue);outline:none}.form-error{color:#dc2626;margin:4px 0 16px;font-size:13px;font-weight:600}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s,background-color .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:default}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn-blue{background:var(--blue);color:#fff;width:100%;margin-top:6px;box-shadow:0 8px 20px #0ea5e947}.btn-blue:not(:disabled):hover{background:var(--blue-dark)}.btn-outline{color:var(--ink);border:1.5px solid var(--border);background:0 0}.btn-outline:hover{border-color:var(--ink)}.painel{background:var(--bg-soft);min-height:100dvh}.painel-topbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding-top:env(safe-area-inset-top);background:#ffffffdb;position:sticky;top:0}.painel-topbar-inner{justify-content:space-between;align-items:center;gap:12px;max-width:1140px;margin:0 auto;padding:16px 24px;display:flex}.painel-brand{align-items:center;gap:10px;display:flex}.painel-brand img{border-radius:7px;width:28px;height:28px}.painel-brand-text strong{color:var(--ink);letter-spacing:-.01em;font-size:15px;font-weight:800;display:block}.painel-brand-text span{color:var(--text-secondary);font-size:12px;font-weight:600;display:block}.painel-topbar-acoes{align-items:center;gap:10px;display:flex}.painel-sync-msg{color:var(--blue-dark);background:#0ea5e914;border-radius:10px;margin-bottom:20px;padding:10px 14px;font-size:13.5px;font-weight:600}.painel-content{max-width:1140px;margin:0 auto;padding:40px 24px 80px}.painel-state{color:var(--text-secondary);text-align:center;padding:60px 0;font-weight:600}.painel-state.erro{color:#dc2626}.stats-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px;display:grid}.stat-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;padding:24px;transition:transform .2s,box-shadow .2s;display:flex}.stat-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px #0000000f}.stat-icon{border-radius:11px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:16px;font-size:18px;display:flex}.stat-label{color:var(--text-secondary);margin-bottom:6px;font-size:12.5px;font-weight:700}.stat-value{color:var(--ink);letter-spacing:-.02em;font-size:30px;font-weight:800}.panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:28px}.panel-title{color:var(--ink);margin-bottom:20px;font-size:15px;font-weight:800}.panel-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.panel-header-row .panel-title{margin-bottom:0}.periodo-filtros{background:var(--bg-soft);border-radius:999px;gap:4px;padding:4px;display:flex}.periodo-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:700;transition:background .15s,color .15s}.periodo-btn:hover{color:var(--ink)}.periodo-btn.active{background:var(--bg);color:var(--blue);box-shadow:0 1px 3px #0000001a}.usuarios-filtros{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.select-ordenar{appearance:none;background:var(--bg-soft);color:var(--ink);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236e6e73' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:none;border-radius:999px;padding:8px 32px 8px 14px;font-size:12.5px;font-weight:700}.select-ordenar:focus{outline:none;box-shadow:0 0 0 2px #0ea5e94d}.texto-fraco{color:var(--text-secondary);font-style:italic}.tabela-vazia{text-align:center;color:var(--text-secondary);font-weight:600;padding:32px 0!important}.painel-table{border-collapse:collapse;width:100%;font-size:13.5px}.painel-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);border-bottom:1px solid var(--border);padding:10px 12px;font-size:12px;font-weight:700}.painel-table tbody td{border-bottom:1px solid var(--bg-soft);color:var(--ink);padding:12px;font-weight:500}.painel-table tbody tr:hover{background:var(--bg-soft)}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.badge{border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge-green{background:var(--green-bg);color:var(--green)}.badge-blue{color:var(--blue-dark);background:#0284c71a}.badge-amber{background:var(--amber-bg);color:var(--amber)}.badge-muted{background:var(--bg-soft);color:var(--text-secondary)}@media (width<=900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (pointer:coarse){.btn{min-height:44px;padding-top:12px;padding-bottom:12px}.field input,.painel-table tbody tr{min-height:44px}}@media (width<=560px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.stat-card{padding:14px}.stat-icon{border-radius:9px;width:32px;height:32px;margin-bottom:10px;font-size:15px}.stat-label{font-size:11.5px}.stat-value{font-size:22px}.panel{border-radius:14px;margin-bottom:16px;padding:18px}.painel-content{padding:20px 14px max(48px, env(safe-area-inset-bottom))}.painel-topbar-inner{padding:12px 16px}.painel-brand img{width:24px;height:24px}.painel-brand-text strong{font-size:13.5px}.painel-brand-text span{font-size:11px}.painel-topbar .btn-outline{padding:8px 14px;font-size:13px}}@media (width<=640px){.table-scroll{overflow-x:visible}.painel-table{width:100%}.painel-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.painel-table,.painel-table tbody,.painel-table tr,.painel-table td{width:100%;display:block}.painel-table tr{background:var(--bg);border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:4px 14px}.painel-table tr:hover{background:var(--bg)}.painel-table td{border-bottom:1px solid var(--bg-soft);flex-direction:column;gap:3px;padding:10px 0;display:flex}.painel-table td:last-child{border-bottom:none}.painel-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);font-size:10.5px;font-weight:700}}@media (width<=400px){.login-page{padding:16px}.login-card{padding:28px 22px}}
