
:root{--green:#087a49;--green2:#10a66f;--dark:#10212a;--muted:#61717a;--bg:#f4f8f6;--card:#fff;--line:#dfe9e5;--bad:#b42318;--warn:#b7791f;--ok:#087a49;--blue:#175cd3}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--dark)}button,select,input{font:inherit}.app{max-width:1160px;margin:0 auto;background:#fff;min-height:100vh}
.topbar{height:76px;padding:12px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:10}.logo{height:52px;max-width:190px;object-fit:contain}.ghost{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 18px;font-weight:800;color:var(--green)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;padding:34px 24px;background:linear-gradient(145deg,#00303a,#087a49);color:white;border-radius:0 0 34px 34px}.pill{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 12px;font-weight:800}.hero h1{font-size:42px;line-height:1.04;margin:16px 0}.hero p{font-size:18px;line-height:1.45;opacity:.94}.flow{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.flow span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);padding:8px 12px;border-radius:999px;font-weight:800}
.uploadCard{background:white;color:var(--dark);border-radius:26px;padding:18px;box-shadow:0 18px 40px rgba(0,0,0,.18)}.drop{border:2px dashed #b7c9c2;background:#f7fbf9;border-radius:22px;padding:28px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;cursor:pointer;text-align:center}.drop strong{font-size:22px}.drop span{color:var(--muted)}input[type=file]{display:none}
.row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px}select{border:1px solid var(--line);border-radius:16px;padding:13px;background:white;min-width:0}.primary,.secondary{border:0;border-radius:16px;padding:13px 18px;font-weight:900;cursor:pointer}.primary{background:var(--green);color:white}.secondary{background:#eef4f2;color:var(--dark)}button:disabled{opacity:.65;cursor:not-allowed}.fileStatus{margin-top:12px;border-radius:14px;padding:11px 12px;font-weight:800;font-size:14px}.fileStatus.info{background:#eef4f2;color:#40515a}.fileStatus.success{background:#e7f7ee;color:#087a49}.fileStatus.loading{background:#fff4d6;color:#8a5b00}.fileStatus.error{background:#fee4e2;color:#b42318}
.catalog{padding:20px 24px;border-bottom:1px solid var(--line)}.catalog h2{margin:0 0 12px}.catalogGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.catalogGrid button{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;font-weight:900;color:var(--green)}
.summary{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:14px;padding:22px 24px}.scoreCard,.metric{border:1px solid var(--line);border-radius:22px;padding:18px;background:#fff}.scoreCard{display:flex;align-items:center;gap:16px}.scoreCircle{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) 0%,#edf3f0 0);font-size:25px;font-weight:900;color:var(--green)}.scoreCard h2{margin:0}.scoreCard p{margin:6px 0 0;color:var(--muted);line-height:1.35}.metric b{font-size:34px;display:block}.metric span{color:var(--muted);font-weight:700}.metric.bad b{color:var(--bad)}.metric.warn b{color:var(--warn)}.metric.fix b{color:var(--ok)}
.beforeAfter{margin:0 24px 22px;border:1px solid var(--line);border-radius:24px;padding:18px;background:#fff}.beforeAfter h2{margin-top:0}.compareGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.compareGrid div{background:#f7fbf9;border:1px solid var(--line);border-radius:16px;padding:12px}.compareGrid span{display:block;color:var(--muted);font-weight:700;font-size:13px}.compareGrid b{font-size:22px}
.dashboard{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 24px 22px}.panel{border:1px solid var(--line);background:#fff;border-radius:24px;padding:18px}.panel h2{margin-top:0}.barRow{margin:12px 0}.barLabel{display:flex;justify-content:space-between;font-weight:800;font-size:14px;margin-bottom:6px}.barTrack{height:13px;background:#edf3f0;border-radius:999px;overflow:hidden}.barFill{height:100%;background:linear-gradient(90deg,var(--green),var(--green2));border-radius:999px}.barFill.bad{background:linear-gradient(90deg,#b42318,#f97066)}.barFill.warn{background:linear-gradient(90deg,#b7791f,#fdb022)}
.executive{padding:0 24px 22px}.executive ul{margin:8px 0 0;padding-left:20px}.executive li{margin:6px 0}.actions{display:flex;gap:12px;flex-wrap:wrap;padding:0 24px 18px}.results{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;padding:0 24px 24px}.issue{border:1px solid #edf1ef;border-radius:18px;padding:14px;margin:10px 0;background:#fbfdfc}.issueTop{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.tag{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.tag.erro{background:#fee4e2;color:#b42318}.tag.alerta{background:#fef0c7;color:#b7791f}.field{font-weight:900}.suggestion{background:#f3faf6;border-radius:12px;padding:10px;margin-top:10px}
.premium{margin:0 24px 26px;border:1px solid var(--line);border-radius:28px;padding:22px;background:#f8fbfa}.premium h2{margin-top:0}.premium p{color:var(--muted);line-height:1.4}.premiumGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.premiumGrid div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.premiumGrid b{display:block;margin-bottom:8px}.premiumGrid span{color:var(--muted);font-size:14px}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#10212a;color:white;border-radius:999px;padding:12px 18px;display:none;z-index:99}.toast.show{display:block}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding:24px 16px;border-radius:0 0 26px 26px}.hero h1{font-size:34px}.summary{grid-template-columns:1fr 1fr}.scoreCard{grid-column:1/-1}.catalogGrid{grid-template-columns:1fr 1fr}.dashboard{grid-template-columns:1fr}.results{grid-template-columns:1fr}.premiumGrid{grid-template-columns:1fr}.row{grid-template-columns:1fr}.primary,.secondary{width:100%}.summary,.dashboard,.catalog,.executive,.actions,.results{padding-left:16px;padding-right:16px}.premium,.beforeAfter{margin-left:16px;margin-right:16px}.compareGrid{grid-template-columns:1fr 1fr}.logo{height:48px;max-width:160px}}
@media print{body{background:#fff}.topbar,.hero,.catalog,.actions,.premium,.results{display:none}.app{max-width:none}.summary,.dashboard,.executive,.beforeAfter{display:block!important;padding:10px;margin:0}.panel,.metric,.scoreCard,.beforeAfter{box-shadow:none;break-inside:avoid}}
