@import "https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Sora:wght@600;700&display=swap";*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#162230;background:radial-gradient(circle at 18% 10%,#13427529,#0000 34%),radial-gradient(circle at 78% 6%,#e2783624,#0000 30%),linear-gradient(#f4f8fc 0%,#edf2f7 100%);font-family:Barlow,sans-serif}h1,h2,h3{font-family:Sora,sans-serif}.auth-shell{place-items:center;min-height:100svh;padding:24px;display:grid}.auth-card{background:radial-gradient(circle at 88% 8%,#24778533,#0000 45%),radial-gradient(circle at 12% 95%,#cb373b33,#0000 40%),#fff;border:1px solid #e6edf4;border-radius:20px;width:min(460px,100%);padding:34px 30px 28px;box-shadow:0 18px 36px #14233824}.auth-logo{width:110px;height:auto;margin:0 auto 12px;display:block}.auth-card h1{text-align:center;color:#1d2430;margin:0;font-size:1.5rem}.auth-card p{text-align:center;color:#4f5e73;margin:8px 0 18px}.auth-form{gap:12px;display:grid}.auth-form label{color:#384961;gap:6px;font-size:.86rem;display:grid}.auth-form input{height:42px;font:inherit;border:1px solid #cad8e7;border-radius:11px;padding:10px 12px}.auth-form input:focus{border-color:#247785;outline:none;box-shadow:0 0 0 3px #24778524}.auth-error{color:#cb373b;background:#fff5f5;border:1px solid #f3bdbe;border-radius:10px;padding:9px 10px;font-size:.85rem}.auth-form button{height:44px;font:inherit;color:#fff;cursor:pointer;background:linear-gradient(90deg,#cb373b,#247785);border:none;border-radius:11px;font-weight:700}.auth-form button:disabled{opacity:.75;cursor:wait}.dashboard-shell{gap:18px;width:min(1200px,94vw);margin:24px auto 40px;display:grid}.hero-block{background:radial-gradient(circle at 84% 14%,#24778540,#0000 38%),radial-gradient(circle at 20% 110%,#cb373b33,#0000 45%),linear-gradient(145deg,#fff8f8 0%,#fff 65%);border:1px solid #f1d3d5;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px;display:flex}.kicker{letter-spacing:.15em;text-transform:uppercase;color:#cb373b;margin:0;font-size:.78rem}.hero-block h1{color:#17202c;margin:8px 0 6px;font-size:clamp(1.4rem,2.4vw,2.2rem)}.hero-actions{align-items:center;gap:12px;display:flex}.hero-logo{object-fit:contain;width:clamp(120px,18vw,180px);max-height:62px}.logout-btn{color:#314155;min-width:88px;height:38px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d8e1ea;border-radius:10px;font-weight:600}.subtitle{color:#4d5b6c;margin:0}.invite-panel{background:#fff;border:1px solid #d7e0ea;border-radius:14px;gap:10px;padding:14px;display:grid}.invite-head h2{color:#1f2e43;margin:0;font-size:1rem}.invite-head p{color:#5b6b7f;margin:4px 0 0;font-size:.86rem}.invite-form{grid-template-columns:1fr auto;gap:8px;display:grid}.invite-form input,.invite-result input{min-height:38px;font:inherit;border:1px solid #c9d3df;border-radius:10px;padding:8px 10px}.invite-form button,.invite-result button{min-height:38px;font:inherit;cursor:pointer;color:#fff;background:linear-gradient(90deg,#cb373b,#247785);border:1px solid #c9d3df;border-radius:10px;padding:8px 12px;font-weight:600}.invite-result{grid-template-columns:1fr auto;gap:8px;display:grid}.filters{background:#fff;border:1px solid #d7e0ea;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;display:grid}.filters label{color:#334155;gap:4px;font-size:.82rem;display:grid}.filters input,.filters select,.filters button{min-height:38px;font:inherit;border:1px solid #c9d3df;border-radius:10px;padding:8px 10px}.filters button{color:#fff;cursor:pointer;background:linear-gradient(90deg,#cb373b,#247785);align-self:end;font-weight:600}.filters button:disabled{opacity:.6;cursor:not-allowed}.error-box{color:#a83a1f;background:#fff2ee;border:1px solid #f2b4a0;border-radius:10px;padding:10px 12px}.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.kpi-card{background:#f9fbfd;border:1px solid #dce6f1;border-radius:12px;padding:12px}.kpi-card h3{color:#405066;margin:0;font-size:.84rem;font-weight:600}.kpi-card strong{color:#152031;margin-top:8px;font-size:1.35rem;display:block}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.panel{background:#fff;border:1px solid #d7e0ea;border-radius:12px;padding:14px}.app-footer{color:#4d5b6c;border-top:1px solid #dbe4ef;justify-content:center;align-items:center;gap:10px;margin-top:4px;padding-top:12px;font-size:.82rem;display:flex}.app-footer p{margin:0}.footer-logo{object-fit:contain;width:clamp(70px,10vw,96px);height:auto;max-height:34px;display:block}.panel h2{color:#1f2e43;margin:0 0 12px;font-size:1.05rem}.bar-list{gap:8px;max-height:380px;display:grid;overflow:auto}.bar-row{grid-template-columns:92px 1fr 90px;align-items:center;gap:8px;font-size:.82rem;display:grid}.bar-wrap{background:#edf2f7;border-radius:999px;height:10px}.bar{border-radius:999px;height:100%}.bar-primary{background:linear-gradient(90deg,#2f7cf7,#3da8f5)}.bar-accent{background:linear-gradient(90deg,#e15f2d,#f19a4c)}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;border-bottom:1px solid #edf2f7;padding:8px 6px}th{color:#475569;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.badge-status,.badge-origem{border-radius:999px;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.badge-ok{color:#166534;background:#e8f7ee;border:1px solid #c2ebd1}.badge-warn{color:#9a5800;background:#fff8e8;border:1px solid #f2dfb2}.badge-muted{color:#334155;background:#f1f5f9;border:1px solid #dbe4ee}.badge-web{color:#0f4fa8;background:#e7f2ff;border:1px solid #c9def9}.badge-app{color:#9b3e18;background:#fff1eb;border:1px solid #f4d4c6}.badge-neutral{color:#334155;background:#f8fafc;border:1px solid #e2e8f0}.origem-cell{gap:4px;display:grid}.origem-cell small{color:#64748b;font-size:.74rem}.table-note{color:#64748b;margin:10px 0 0;font-size:.78rem}@media (width<=980px){.hero-block{flex-direction:column}.hero-actions{justify-content:space-between;width:100%}.hero-logo{width:clamp(110px,34vw,160px)}.filters,.invite-form,.invite-result{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid{grid-template-columns:1fr}.app-footer{text-align:center;flex-direction:column;gap:6px}}
