:root{--bg:#0a0a0b;--surface:#0f0f11;--surface-1:#0f0f11;--surface-2:#15151a;--fg:#f2efe6;--fg-2:#f2efe69e;--fg-3:#f2efe666;--fg-4:#f2efe642;--border:#f2efe61a;--accent:#ef4444;--accent-text:#f99;--accent-soft:#ef444421;--warn:#fbbf24;--danger:#f87171;--ok:#4ade80;--info:#60a5fa}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font-family:inherit}a{color:inherit}.brand{letter-spacing:-.02em;font-size:18px;font-weight:800}.brand .dot{color:var(--accent)}.tag{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);border:1px solid var(--border);border-radius:20px;margin-left:10px;padding:3px 10px;font-size:11px;display:inline-block}.auth-card .tag{margin-left:0}.mono{font-family:ui-monospace,Geist Mono,monospace}.muted{color:var(--fg-3);font-size:13px}.loading{min-height:100vh;color:var(--fg-3);place-items:center;display:grid}.badge{color:var(--fg-2);background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:2px 9px;font-size:11px;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px}.card.empty{text-align:center;color:var(--fg-3);padding:24px;font-size:13.5px}.auth-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:380px;padding:32px 28px}.auth-h1{letter-spacing:-.02em;margin:0 0 6px;font-size:24px;font-weight:800}.auth-sub{color:var(--fg-2);margin:0 0 22px;font-size:13.5px;line-height:1.5}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{color:var(--fg-3);flex-direction:column;gap:6px;font-size:12px;display:flex}.auth-form input{background:var(--surface-2);border:1px solid var(--border);color:var(--fg);border-radius:9px;outline:none;padding:11px 12px;font-size:14px}.auth-form input:focus{border-color:var(--accent)}.auth-msg{color:var(--accent-text);background:var(--accent-soft);border-radius:8px;padding:9px 11px;font-size:12.5px}.btn-google{color:#1f1f1f;cursor:pointer;background:#fff;border:none;border-radius:9px;justify-content:center;align-items:center;gap:10px;width:100%;padding:11px;font-size:14px;font-weight:600;display:flex}.btn-google:hover{background:#f1f1f1}.auth-or{color:var(--fg-4);align-items:center;gap:12px;margin:16px 0;font-size:12px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--border);flex:1;height:1px}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:12px;font-size:14px;font-weight:600}.btn-primary:disabled{opacity:.6;cursor:default}.auth-toggle{color:var(--fg-3);cursor:pointer;background:0 0;border:none;width:100%;margin-top:16px;font-size:12.5px}.auth-toggle:hover{color:var(--fg)}.app{min-height:100vh}.app-top{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.brand-link{align-items:center;text-decoration:none;display:inline-flex}.app-user{color:var(--fg-3);align-items:center;gap:12px;font-size:13px;display:flex}.app-user .email{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.link{color:var(--accent-text);cursor:pointer;background:0 0;border:none;font-size:13px}.app-main{max-width:1100px;margin:0 auto;padding:28px 24px 60px}.page-head h1{letter-spacing:-.02em;margin:0 0 4px;font-size:26px;font-weight:800}.page-head .sub{color:var(--fg-2);margin:0 0 22px;font-size:14px}.page-head.row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.btn-ghost{background:var(--surface-2);color:var(--fg-2);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:600}.btn-ghost:hover{border-color:var(--accent);color:var(--fg)}.add-cnpj{flex-direction:column;gap:10px;margin-bottom:18px;padding:16px;display:flex}.add-row{gap:10px;display:flex}.add-row input{background:var(--surface-2);border:1px solid var(--border);color:var(--fg);border-radius:9px;outline:none;flex:1;padding:10px 12px;font-size:14px}.add-row input:focus{border-color:var(--accent)}.btn-primary.sm{width:auto;padding:10px 18px}.stats{flex-wrap:wrap;gap:14px;margin-bottom:22px;display:flex}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:130px;padding:14px 18px}.stat .k{color:var(--fg-3);font-size:12px;display:block}.stat .v{font-size:24px;font-weight:800}.proc-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.proc-card{text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;color:inherit;border-radius:12px;flex-direction:column;gap:8px;padding:16px;transition:border-color .12s,transform .12s;display:flex}.proc-card:hover{border-color:var(--accent);transform:translateY(-2px)}.pc-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.pc-top .ref{color:var(--accent-text);font-size:16px;font-weight:800}.pc-imp{color:var(--fg-2);font-size:13px}.pc-meta{color:var(--fg-3);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.pc-foot{justify-content:space-between;align-items:center;margin-top:4px;font-size:12px;display:flex}.pc-foot .arrow{color:var(--accent-text);font-weight:600}.back{color:var(--fg-3);cursor:pointer;background:0 0;border:none;padding:0 0 14px;font-size:13px}.back:hover{color:var(--fg)}.dt-head{align-items:center;gap:12px;margin-bottom:18px;display:flex}.dt-head h1{margin:0;font-size:24px;font-weight:800}.info-grid{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 22px;margin-bottom:26px;padding:18px;display:grid}.info{flex-direction:column;gap:3px;display:flex}.info .ik{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);font-size:11px}.info .iv{font-size:14px;font-weight:600}.sec{margin:0 0 14px;font-size:16px;font-weight:700}.map-card{margin-bottom:18px;padding:8px}.journeys{flex-direction:column;gap:16px;display:flex}@media (width<=560px){.app-main{padding:20px 16px 40px}.page-head h1{font-size:22px}}
