:root{--azul-noite:#0b1a2e;--sinal:#00e08a;--terra-claro:#00a86a;--laranja:#ff5a1f;--cinza-porto:#5b6b80;--branco-cal:#f2f5f9;--bg:#f2f5f9;--surface:#fff;--surface-2:#f7f9fc;--surface-hover:#f3f6fa;--text:#0b1a2e;--text-2:#5b6b80;--text-3:#7d8a9c;--line:#e4e9f0;--line-strong:#7a889b;--accent:#00a86a;--accent-strong:#008a57;--accent-soft:#00a86a1a;--warn:#ff5a1f;--warn-text:#c43d0b;--warn-soft:#ff5a1f1a;--err:#c43d0b;--err-soft:#fff1ea;--info:#2e5b8c;--info-soft:#2e5b8c1a;--primary:#0b1a2e;--primary-hover:#1a3150;--on-primary:#fff;--tooltip-bg:#0b1a2e;--sidebar-bg:#0b1a2e;--sidebar-line:#f2f5f914;--chart-1:#00a86a;--chart-2:#ff5a1f;--chart-3:#2e5b8c;--chart-4:#a3b0c0;--chart-line:#00a86a;--chart-grid:#edf1f5;--font:"Space Grotesk", system-ui, -apple-system, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #0b1a2e0d;--shadow:0 1px 2px #0b1a2e0a, 0 6px 20px -6px #0b1a2e14;--shadow-lg:0 24px 64px -12px #0b1a2e4d;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#07111f;--surface:#0d1b2e;--surface-2:#10223a;--surface-hover:#132842;--text:#eef2f7;--text-2:#9aa8b9;--text-3:#75869b;--line:#1c3150;--line-strong:#4f6380;--accent:#00e08a;--accent-strong:#3debaa;--accent-soft:#00e08a1f;--warn:#ff7a45;--warn-text:#ff9a70;--warn-soft:#ff7a4524;--err:#ff7a5c;--err-soft:#ff7a5c1f;--info:#7aa7d9;--info-soft:#7aa7d924;--primary:#00e08a;--primary-hover:#3debaa;--on-primary:#0b1a2e;--tooltip-bg:#1c3150;--sidebar-bg:#050c17;--chart-1:#00e08a;--chart-2:#ff7a45;--chart-3:#7aa7d9;--chart-4:#6e7f95;--chart-line:#00e08a;--chart-grid:#15283f;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 8px 24px -8px #00000080;--shadow-lg:0 24px 64px -12px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#07111f;--surface:#0d1b2e;--surface-2:#10223a;--surface-hover:#132842;--text:#eef2f7;--text-2:#9aa8b9;--text-3:#75869b;--line:#1c3150;--line-strong:#4f6380;--accent:#00e08a;--accent-strong:#3debaa;--accent-soft:#00e08a1f;--warn:#ff7a45;--warn-text:#ff9a70;--warn-soft:#ff7a4524;--err:#ff7a5c;--err-soft:#ff7a5c1f;--info:#7aa7d9;--info-soft:#7aa7d924;--primary:#00e08a;--primary-hover:#3debaa;--on-primary:#0b1a2e;--tooltip-bg:#1c3150;--sidebar-bg:#050c17;--chart-1:#00e08a;--chart-2:#ff7a45;--chart-3:#7aa7d9;--chart-4:#6e7f95;--chart-line:#00e08a;--chart-grid:#15283f;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 8px 24px -8px #00000080;--shadow-lg:0 24px 64px -12px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;color:var(--text);margin:0;transition:background-color .2s ease-out}h1,h2,h3,p{margin:0}a{color:inherit}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--mono)}.muted{color:var(--text-2)}.strong{font-weight:600}.capitalize{display:inline-block}.capitalize:first-letter{text-transform:uppercase}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);padding:8px 14px;font-weight:600;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}.spin{animation:.8s linear infinite spin}.shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar-bg);color:var(--branco-cal);border-right:1px solid var(--sidebar-line);z-index:40;flex-direction:column;gap:24px;height:100vh;padding:22px 14px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:0 8px;display:flex}.brand-name{font-size:17px;font-weight:700;line-height:1.1}.brand-sub{font-family:var(--mono);letter-spacing:.14em;color:var(--sinal);text-transform:uppercase;font-size:11px}.brand .sidebar-close{margin-left:auto;display:none}.nav{flex-direction:column;gap:2px;display:flex}.nav-title{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#f2f5f973;padding:0 12px 8px;font-size:11px}.nav a{color:#f2f5f9b3;border-radius:10px;align-items:center;gap:12px;min-height:42px;padding:0 12px;font-weight:500;text-decoration:none;transition:background-color .15s ease-out,color .15s ease-out;display:flex;position:relative}.nav a:before{content:"";background:var(--sinal);width:3px;transition:transform .22s var(--ease-out);border-radius:0 3px 3px 0;position:absolute;top:10px;bottom:10px;left:-14px;transform:scaleY(0)}.nav a svg{transition:transform .22s var(--ease-out)}@media (hover:hover){.nav a:hover{color:#fff;background:#f2f5f90d}.nav a:hover svg{transform:translate(2px)}}.nav a.active{color:#fff;background:linear-gradient(90deg,#00e08a24,#00e08a05)}.nav a.active svg{color:var(--sinal)}.nav a.active:before{transform:scaleY(1)}.sidebar-card{border-radius:var(--radius);background:linear-gradient(140deg,#00e08a1f,#00e08a05);border:1px solid #00e08a2e;align-items:flex-start;gap:12px;margin-top:auto;padding:14px;display:flex}.sidebar-card strong{font-size:13px;display:block}.sidebar-card span:not(.live-dot){color:#f2f5f99e;font-size:12px}.live-dot{background:var(--sinal);border-radius:50%;flex:none;width:9px;height:9px;margin-top:5px;position:relative}.live-dot:after{content:"";background:var(--sinal);animation:ping 1.8s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}.sidebar-user{border-top:1px solid var(--sidebar-line);align-items:center;gap:10px;padding:12px 8px 0;display:flex}.sidebar-user-text{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-user-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.sidebar-user-text span{color:#f2f5f994;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.workspace{flex-direction:column;min-width:0;display:flex}.topbar{z-index:30;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(14px);border-bottom:1px solid var(--line);align-items:center;gap:12px;height:60px;padding:0 32px;display:flex;position:sticky;top:0}.topbar .menu-btn{display:none}.crumbs{color:var(--text-2);align-items:center;gap:8px;font-size:14px;display:flex}.crumbs strong{color:var(--text);font-weight:600}.topbar-actions{gap:8px;margin-left:auto;display:flex}.theme-icon{animation:theme-swap .32s var(--ease-out);display:inline-flex}.main{width:100%;max-width:1800px;margin:0 auto;padding:28px 32px 56px}.page{animation:page-in .32s var(--ease-out)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-header h1{letter-spacing:-.02em;font-size:26px;line-height:1.2}.page-header p{color:var(--text-2);margin-top:4px}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);min-width:0}.card-pad{padding:20px}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.card-head.card-pad{margin-bottom:0;padding-bottom:12px}.card-head h2{font-size:15px;font-weight:600}.card-sub{color:var(--text-2);margin-top:2px;font-size:13px}.card-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.card-toolbar-title{font-size:14px;font-weight:600}.enter{animation:rise .52s var(--ease-out) both;animation-delay:calc(var(--i,0) * 60ms)}.row-enter{animation:fade-up .36s var(--ease-out) both;animation-delay:calc(var(--i,0) * 28ms)}.grid-kpi{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.kpi{--kpi:var(--accent);--kpi-soft:var(--accent-soft);transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);flex-direction:column;gap:12px;padding:18px 18px 14px;display:flex;position:relative;overflow:hidden}.kpi:after{content:"";background:linear-gradient(90deg, var(--kpi), transparent 70%);opacity:.8;height:3px;position:absolute;inset:0 0 auto}@media (hover:hover){.kpi:hover{box-shadow:var(--shadow), 0 12px 28px -12px color-mix(in srgb, var(--kpi) 40%, transparent);transform:translateY(-2px)}}.kpi[data-accent=orange]{--kpi:var(--warn);--kpi-soft:var(--warn-soft)}.kpi[data-accent=blue]{--kpi:var(--info);--kpi-soft:var(--info-soft)}.kpi[data-accent=slate]{--kpi:var(--text-2);--kpi-soft:color-mix(in srgb, var(--text-2) 12%, transparent)}.kpi-head{align-items:center;gap:10px;display:flex}.kpi-icon{background:var(--kpi-soft);width:32px;height:32px;color:var(--kpi);border-radius:9px;place-items:center;display:grid}.kpi-label{color:var(--text-2);font-size:13px;font-weight:500}.kpi-body{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.kpi-value{font-family:var(--mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:26px;font-weight:600;line-height:1.15}.kpi-value small{color:var(--text-2);font-size:15px;font-weight:500}.kpi-hint{color:var(--text-2);margin-top:4px;font-size:12px}.kpi .sparkline{color:var(--kpi);flex:none;max-width:45%}.kpi-foot{border-top:1px dashed var(--line);padding-top:10px;font-size:12px}.kpi-link{color:var(--text-2);align-items:center;gap:4px;font-weight:500;text-decoration:none;display:inline-flex}.kpi-link:hover{color:var(--text)}.kpi-link svg{transition:transform .2s var(--ease-out)}.kpi-link:hover svg{transform:translate(3px)}.kpi-note{color:var(--text-2)}.delta{align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.delta-suffix{color:var(--text-2);font-weight:400}.delta-up{color:var(--accent-strong)}.delta-down{color:var(--err)}.delta-flat,.delta-new{color:var(--text-2);font-weight:500}.grid-main{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.span-2{grid-column:span 2}.chart{width:100%;position:relative}.chart svg{touch-action:pan-y;display:block;overflow:visible}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-axis{fill:var(--text-3);font-size:11px;font-family:var(--mono)}.chart-line{fill:none;stroke:var(--chart-line);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:draw 1.1s var(--ease-out) both}.chart-area{transform-box:fill-box;transform-origin:bottom;animation:grow-y .9s var(--ease-out) both;animation-delay:.12s}.sparkline-line{stroke:currentColor;stroke-width:2px;animation-delay:.3s}.chart-cursor line{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 4}.chart-cursor circle{fill:var(--surface);stroke:var(--chart-line);stroke-width:3px}.chart-tooltip{pointer-events:none;background:var(--tooltip-bg);color:#fff;white-space:nowrap;box-shadow:var(--shadow-lg);transition:left .12s var(--ease-out), top .12s var(--ease-out);animation:tooltip-in .16s var(--ease-out);border-radius:10px;flex-direction:column;gap:2px;padding:8px 12px;font-size:12px;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 14px))}.chart-tooltip strong{font-family:var(--mono);font-size:14px}.chart-tooltip-label{color:#f2f5f9b8}.chart-tooltip-label:first-letter{text-transform:uppercase}.donut{flex-direction:column;align-items:center;gap:18px;display:flex}.donut-figure{width:168px;height:168px;position:relative}.donut-track{fill:none;stroke:var(--chart-grid)}.donut-arc{fill:none;cursor:pointer;animation:arc-in .9s var(--ease-out) both;transition:opacity .2s ease-out}.donut-arc[data-dim=true]{opacity:.25}.donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-center strong{font-family:var(--mono);font-size:24px;line-height:1.1}.donut-center span{color:var(--text-2);font-size:12px}.legend{flex-direction:column;gap:2px;width:100%;margin:0;padding:0;list-style:none;display:flex}.legend li{border-radius:8px;grid-template-columns:10px 1fr auto 40px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;transition:opacity .2s ease-out,background-color .15s ease-out;display:grid}.legend li:hover{background:var(--surface-hover)}.legend li[data-dim=true]{opacity:.45}.legend-swatch{border-radius:3px;width:10px;height:10px}.legend-label{align-items:center;gap:6px;display:inline-flex}.legend-label svg{color:var(--text-2)}.legend-value{font-family:var(--mono);font-weight:600}.legend-pct{text-align:right;font-family:var(--mono);color:var(--text-2);font-size:12px}.columns-chart{flex-direction:column;gap:10px;display:flex}.columns-readout{min-height:20px;font-size:13px;font-weight:600}.columns{border-bottom:1px solid var(--line);grid-template-columns:repeat(24,minmax(0,1fr));align-items:end;gap:4px;height:160px;padding-bottom:2px;display:grid}.column{align-items:flex-end;height:100%;display:flex}.column-bar{background:color-mix(in srgb, var(--chart-line) 30%, transparent);transform-origin:bottom;width:100%;animation:grow-y .7s var(--ease-out) both;border-radius:5px 5px 2px 2px;transition:background-color .15s ease-out}.column[data-peak=true] .column-bar{background:var(--chart-line)}.column[data-active=true] .column-bar{background:var(--chart-2)}.columns-axis{font-family:var(--mono);color:var(--text-3);grid-template-columns:repeat(24,minmax(0,1fr));gap:4px;font-size:11px;display:grid}.columns-axis span{white-space:nowrap}.ring{flex:none}.ring-track{fill:none;stroke:var(--chart-grid)}.ring-value{fill:none;stroke:var(--info);stroke-linecap:round;animation:arc-in 1s var(--ease-out) .3s both}.status-bars{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.status-bars a{border-radius:8px;grid-template-columns:1fr auto;gap:6px 10px;padding:7px 8px;font-size:13px;text-decoration:none;transition:background-color .15s ease-out;display:grid}.status-bars a:hover{background:var(--surface-hover)}.status-name{align-items:center;gap:8px;display:inline-flex}.dot{border-radius:50%;flex:none;width:8px;height:8px}.status-count{font-family:var(--mono);font-weight:600}.status-track{background:var(--chart-grid);border-radius:3px;grid-column:1/-1;height:5px;overflow:hidden}.status-fill{transform-origin:0;height:100%;transition:transform .7s var(--ease-out);animation:grow-x .9s var(--ease-out) .3s both;border-radius:3px;display:block}.banner{border-radius:var(--radius);background:var(--warn-soft);border:1px solid color-mix(in srgb, var(--warn) 30%, transparent);color:var(--text);transition:transform .16s var(--ease-out);align-items:center;gap:14px;margin-bottom:16px;padding:14px 18px;text-decoration:none;display:flex}.banner:active{transform:scale(.995)}.banner-icon{background:var(--warn);color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid;position:relative}.banner-icon:after{content:"";border:2px solid var(--warn);animation:ping 1.8s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}.banner strong{display:block}.banner-sub{color:var(--text-2);font-size:13px}.banner-arrow{color:var(--warn-text);transition:transform .2s var(--ease-out);flex:none;margin-left:auto}.banner:hover .banner-arrow{transform:translate(4px)}.feed{margin:0;padding:0 8px 8px;list-style:none}.feed-item{border-radius:var(--radius);animation:fade-up .4s var(--ease-out) both;animation-delay:calc(.5s + var(--i,0) * 40ms);grid-template-columns:auto minmax(0,2fr) minmax(0,1fr) auto 120px;align-items:center;gap:14px;padding:12px;transition:background-color .15s ease-out;display:grid}.feed-item+.feed-item{box-shadow:inset 0 1px 0 var(--line)}.feed-item:hover{background:var(--surface-hover)}.service-chip{background:color-mix(in srgb, currentColor 12%, transparent);border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.feed-main{min-width:0}.feed-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.feed-title .muted{font-weight:400}.route{color:var(--text-2);align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}.route span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.route svg{color:var(--text-3);flex:none}.route-from:before,.route-to:before{content:"";vertical-align:1px;background:var(--accent);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.route-to:before{background:var(--warn);border-radius:1px}.feed-driver{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;min-width:0;font-size:13px;display:flex;overflow:hidden}.feed-value{flex-direction:column;align-items:flex-end;display:flex}.feed-value strong{font-family:var(--mono);font-size:14px}.feed-value span{color:var(--text-2);font-size:12px}.empty-inline{color:var(--text-2);padding:24px 20px 32px}.btn{cursor:pointer;white-space:nowrap;min-height:40px;transition:transform .12s var(--ease-out), background-color .15s ease-out, border-color .15s ease-out, box-shadow .15s ease-out;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:0 1px 2px #0b1a2e33,inset 0 1px #ffffff14}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-outline{background:var(--surface);border-color:var(--line);color:var(--text);box-shadow:var(--shadow-sm)}.btn-outline:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-hover)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover{background:var(--surface-hover);color:var(--text)}.btn-ghost svg{transition:transform .2s var(--ease-out)}.btn-ghost:hover svg{transform:translate(3px)}.btn-danger{border-color:color-mix(in srgb, var(--err) 45%, transparent);color:var(--err);background:0 0}.btn-danger:hover:not(:disabled){background:var(--err-soft)}.btn-danger-solid{color:#fff;background:#c43d0b}.btn-danger-solid:hover:not(:disabled){background:#a83409}.btn-sm{min-height:32px;padding:0 12px;font-size:13px}.btn-lg{min-height:48px;font-size:15px}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.icon-btn{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--text-2);cursor:pointer;transition:background-color .15s ease-out, color .15s ease-out, transform .12s var(--ease-out);border-radius:10px;place-items:center;display:inline-grid;position:relative}.icon-btn:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.icon-btn:active:not(:disabled){transform:scale(.94)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn-sm{background:0 0;border:none;width:28px;height:28px}.icon-btn-dark{border-color:var(--sidebar-line);color:#f2f5f9b8;background:0 0}.icon-btn-dark:hover:not(:disabled){color:#fff;background:#f2f5f914}.icon-btn-danger:hover:not(:disabled){color:var(--err);background:var(--err-soft);border-color:color-mix(in srgb, var(--err) 35%, transparent)}.icon-btn-ok:hover:not(:disabled){color:var(--accent-strong);background:var(--accent-soft)}@media (hover:hover){.icon-btn[data-tip]:after{content:attr(data-tip);background:var(--tooltip-bg);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease-out, transform .16s var(--ease-out);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.icon-btn[data-tip]:hover:after{opacity:1;transition-delay:.3s;transform:translate(-50%)}}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:13px 16px;font-size:14px}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background-color .12s ease-out}tbody tr:hover{background:var(--surface-hover)}th.num,td.num{text-align:right}.table-wrap table{min-width:860px}td:not(:first-child){white-space:nowrap}td:first-child .route{max-width:340px}.cell-title{font-weight:600}.cell-sub{color:var(--text-2);font-size:12.5px}.person{align-items:center;gap:12px;min-width:0;display:flex}.person-sm{gap:10px}.person .cell-title,.person .cell-sub{white-space:nowrap}.plate{border:1px solid var(--line-strong);font-family:var(--mono);letter-spacing:.06em;border-radius:5px;margin-top:3px;padding:1px 7px;font-size:12px;font-weight:600;display:inline-block}.actions{justify-content:flex-end;gap:6px;display:flex}.rating{font-family:var(--mono);align-items:baseline;gap:4px;font-size:13px;display:inline-flex}.rating-star{color:#f5a623}.input-row{gap:8px;display:flex}.input-row input{min-width:0;font-family:var(--mono);flex:1}.input-row .btn{min-height:44px}.form-stack{flex-direction:column;gap:16px;display:flex}.row-click{cursor:pointer}.timeline{border-left:2px solid var(--line);flex-direction:column;gap:14px;margin:0;padding:0 0 0 6px;list-style:none;display:flex}.timeline-item{animation:fade-up .3s var(--ease-out) both;animation-delay:calc(var(--i,0) * 50ms);gap:14px;padding-left:14px;display:flex;position:relative}.timeline-dot{background:var(--accent);border:2px solid var(--surface);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-8px}.timeline-dot-err{background:var(--err)}.badge{white-space:nowrap;background:color-mix(in srgb, var(--text-2) 12%, transparent);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge:before{content:"";background:var(--text-3);border-radius:50%;width:7px;height:7px}.badge-ok{background:var(--accent-soft)}.badge-ok:before{background:var(--accent)}.badge-warn{background:var(--warn-soft)}.badge-warn:before{background:var(--warn)}.badge-err{background:var(--err-soft);color:var(--err)}.badge-err:before{background:var(--err)}.badge-info{background:var(--info-soft)}.badge-info:before{background:var(--info)}.badge[data-live=true]:before{animation:1.6s ease-in-out infinite pulse}.avatar{--av-bg:#e0f5ec;--av-fg:#00744a;letter-spacing:.02em;background:var(--av-bg);color:var(--av-fg);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid;position:relative}.avatar[data-hue="1"]{--av-bg:#ffe8de;--av-fg:#a63609}.avatar[data-hue="2"]{--av-bg:#e1eaf5;--av-fg:#1f4570}.avatar[data-hue="3"]{--av-bg:#ede6fb;--av-fg:#573a90}.avatar[data-hue="4"]{--av-bg:#fff1d1;--av-fg:#7d5200}.avatar[data-hue="5"]{--av-bg:#e3edf0;--av-fg:#35535e}:root[data-theme=dark] .avatar{background:color-mix(in srgb, var(--av-fg) 40%, #0d1b2e);color:var(--av-bg)}.sidebar .avatar{color:var(--sinal);background:#00e08a29}.presence{border:2px solid var(--surface);background:var(--text-3);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.presence[data-state=online]{background:var(--accent)}.presence[data-state=busy]{background:var(--warn)}.mini-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.mini-stat{--tone:var(--text-3);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;gap:2px;padding:14px 16px 14px 20px;display:flex;position:relative;overflow:hidden}.mini-stat:before{content:"";background:var(--tone);border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:0}.mini-stat[data-tone=ok]{--tone:var(--accent)}.mini-stat[data-tone=warn]{--tone:var(--warn)}.mini-stat[data-tone=err]{--tone:var(--err)}.mini-stat[data-tone=info]{--tone:var(--info)}.mini-stat-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.mini-stat-label{color:var(--text-2);font-size:12.5px}.segmented{background:var(--surface-2);border:1px solid var(--line);scrollbar-width:none;border-radius:10px;flex:none;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.segmented button{min-height:30px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;transition:background-color .16s ease-out,color .16s ease-out,box-shadow .16s ease-out;display:inline-flex}.segmented button:hover{color:var(--text)}.segmented button[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0b1a2e14, 0 0 0 1px var(--line);font-weight:600}.segmented-count{font-family:var(--mono);background:color-mix(in srgb, var(--text-2) 14%, transparent);border-radius:999px;padding:0 6px;font-size:11px}.search{min-width:240px;color:var(--text-3);flex:0 320px;align-items:center;display:flex;position:relative}.search svg{pointer-events:none;position:absolute;left:12px}.search input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:38px;color:var(--text);border-radius:10px;padding:0 12px 0 38px;transition:border-color .15s ease-out,box-shadow .15s ease-out}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.chips{scrollbar-width:none;flex:auto;gap:6px;min-width:0;padding:2px;display:flex;overflow-x:auto}.chip{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--text-2);cursor:pointer;border-radius:999px;flex:none;padding:0 12px;font-size:13px;font-weight:500;transition:background-color .15s ease-out,color .15s ease-out,border-color .15s ease-out}.chip:hover{color:var(--text);border-color:var(--line-strong)}.chip[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.empty{text-align:center;color:var(--text-2);animation:fade-up .4s var(--ease-out);flex-direction:column;align-items:center;gap:8px;padding:56px 24px;display:flex}.empty strong{color:var(--text);font-size:15px}.empty p{max-width:360px;margin-bottom:8px;font-size:14px}.empty-icon{background:var(--surface-2);border:1px solid var(--line);width:56px;height:56px;color:var(--text-2);border-radius:16px;place-items:center;margin-bottom:4px;display:grid}.skeleton-list{padding:8px 16px}.skeleton-row{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:14px 0;display:flex}.skeleton-row:last-child{border-bottom:none}.skeleton{background:linear-gradient(90deg, var(--surface-2) 0%, color-mix(in srgb, var(--text-2) 14%, var(--surface-2)) 50%, var(--surface-2) 100%);background-size:200% 100%;border-radius:6px;height:12px;animation:1.4s linear infinite shimmer;display:block}.skeleton-circle{border-radius:50%;flex:none;width:36px;height:36px}.skeleton-lg{height:26px}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:13.5px;font-weight:600}.field input,.field select{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:44px;color:var(--text);border-radius:10px;padding:0 12px;transition:border-color .15s ease-out,box-shadow .15s ease-out}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input-icon{align-items:center;display:flex;position:relative}.input-icon>svg{color:var(--text-3);pointer-events:none;transition:color .15s ease-out;position:absolute;left:13px}.input-icon:focus-within>svg{color:var(--accent)}.input-icon input{padding-left:42px}.input-icon input:has(+.input-action){padding-right:48px}.input-action{width:38px;height:38px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid;position:absolute;right:4px}.input-action:hover{background:var(--surface-hover);color:var(--text)}.field .hint{color:var(--text-2);font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid .full{grid-column:1/-1}.form-section{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);grid-column:1/-1;align-items:center;gap:10px;margin-top:6px;font-size:11px;font-weight:500;display:flex}.form-section:after{content:"";background:var(--line);flex:1;height:1px}.alert{border:1px solid color-mix(in srgb, var(--err) 30%, transparent);background:var(--err-soft);color:var(--text);animation:fade-up .26s var(--ease-out);border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:14px;display:flex}.alert>svg{color:var(--err);flex:none;margin-top:1px}.alert-ok{border-color:color-mix(in srgb, var(--accent) 30%, transparent);background:var(--accent-soft)}.alert-ok>svg{color:var(--accent)}.alert-warn{border-color:color-mix(in srgb, var(--warn) 30%, transparent);background:var(--warn-soft)}.alert-warn>svg{color:var(--warn-text)}.modal .alert,.login-form .alert{margin-bottom:0}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:60;background:#050c1780;justify-content:center;align-items:flex-start;padding:7vh 16px 48px;animation:.18s ease-out fade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--line);width:100%;max-width:640px;box-shadow:var(--shadow-lg);animation:modal-in .26s var(--ease-out);border-radius:18px}.modal-sm{max-width:440px}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 0;display:flex}.modal-header h2{letter-spacing:-.01em;font-size:19px}.modal-desc{color:var(--text-2);margin-top:4px;font-size:14px}.modal-body{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.modal-footer{border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 18px 18px;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.modal-header+.modal-footer{margin-top:20px}.toaster{z-index:80;pointer-events:none;flex-direction:column;gap:10px;width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:20px;right:20px}.toast{pointer-events:auto;background:var(--azul-noite);color:#fff;box-shadow:var(--shadow-lg);animation:toast-in .32s var(--ease-out);border:1px solid #f2f5f91a;border-radius:14px;align-items:flex-start;gap:12px;padding:14px 10px 14px 14px;display:flex}.toast[data-leaving=true]{animation:.18s ease-out forwards toast-out}.toast-icon{width:28px;height:28px;color:var(--sinal);background:#00e08a29;border-radius:50%;flex:none;place-items:center;display:grid}.toast-err .toast-icon{color:#ff8a5c;background:#ff5a1f2e}.toast-body{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:14px;display:flex}.toast-body span{color:#f2f5f9b8;font-size:13px}.toast .icon-btn{color:#f2f5f999}.toast .icon-btn:hover{color:#fff;background:#f2f5f914}.login{background:var(--bg);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;display:grid}.login-hero{background:var(--azul-noite);color:var(--branco-cal);isolation:isolate;flex-direction:column;gap:28px;padding:44px 48px;display:flex;position:relative;overflow:hidden}.hero-grid{z-index:-1;background-image:linear-gradient(#f2f5f90d 1px,#0000 1px),linear-gradient(90deg,#f2f5f90d 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 60% 40%,#000 20%,#0000 75%);mask-image:radial-gradient(at 60% 40%,#000 20%,#0000 75%)}.hero-glow{z-index:-1;background:radial-gradient(circle,#00e08a38,#0000 65%);border-radius:50%;width:520px;height:520px;animation:9s ease-in-out infinite alternate glow;position:absolute;top:10%;right:-120px}.hero-visual{flex:1;align-items:center;min-height:260px;display:flex;position:relative}.hero-route{width:100%;max-width:600px;overflow:visible}.hero-route-base{fill:none;stroke:#f2f5f924;stroke-width:2px;stroke-dasharray:2 8;stroke-linecap:round}.hero-route-line{fill:none;stroke:var(--sinal);stroke-width:3px;stroke-linecap:round;stroke-dasharray:1;animation:draw 2.4s var(--ease-in-out) .3s both;filter:drop-shadow(0 0 8px #00e08a80)}.hero-stop{fill:var(--azul-noite);stroke:var(--sinal);stroke-width:3px}.hero-stop-end{stroke:var(--laranja);transform-box:fill-box;transform-origin:50%;animation:pop-in .4s var(--ease-out) 2.5s both}.hero-car{animation:.4s ease-out 2.8s both fade}.hero-car-halo{fill:#00e08a40}.hero-car-dot{fill:#fff;filter:drop-shadow(0 0 6px #00e08ae6)}.float-card{-webkit-backdrop-filter:blur(10px);background:#13253db8;border:1px solid #f2f5f91f;border-radius:14px;align-items:center;gap:10px;padding:10px 14px;font-size:12px;display:flex;position:absolute;box-shadow:0 16px 40px -12px #00000080}.float-card div span{color:#f2f5f99e;display:block}.float-card strong{font-size:14px}.float-a{animation:rise .7s var(--ease-out) .9s both, float 6s ease-in-out 1.6s infinite;top:4%;left:6%}.float-b{animation:rise .7s var(--ease-out) 1.2s both, float 7s ease-in-out 2s infinite reverse;bottom:2%;right:4%}.float-icon{width:30px;height:30px;color:var(--sinal);background:#00e08a29;border-radius:9px;place-items:center;display:grid}.float-icon-orange{color:#ff8a5c;background:#ff5a1f2e}.hero-copy h1{letter-spacing:-.025em;max-width:460px;animation:rise .7s var(--ease-out) .2s both;font-size:36px;line-height:1.12}.hero-copy p{color:#f2f5f9b3;max-width:440px;animation:rise .7s var(--ease-out) .32s both;margin-top:12px}.login-form-wrap{justify-content:center;align-items:center;padding:48px 24px;display:flex}.login-form{width:100%;max-width:380px;animation:rise .6s var(--ease-out) .1s both;flex-direction:column;gap:18px;display:flex}.login-form h2{letter-spacing:-.02em;font-size:26px}.login-mobile-brand{display:none}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}@keyframes modal-in{0%{opacity:0;transform:translateY(16px)scale(.97)}}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.96)}}@keyframes toast-out{to{opacity:0;transform:translate(24px)}}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 8px))scale(.96)}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes grow-y{0%{opacity:0;transform:scaleY(.15)}}@keyframes grow-x{0%{transform:scaleX(0)}}@keyframes arc-in{0%{stroke-dasharray:0 100}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{0%{opacity:.7;transform:scale(1)}80%,to{opacity:0;transform:scale(2.6)}}@keyframes pulse{50%{opacity:.35}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes theme-swap{0%{opacity:0;transform:rotate(-90deg)scale(.6)}}@keyframes glow{to{transform:translate(-60px,40px)scale(1.15)}}@keyframes float{50%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.live-dot:after,.banner-icon:after{display:none}}@media (width<=1180px){.grid-kpi,.grid-main{grid-template-columns:repeat(2,minmax(0,1fr))}.feed-item{grid-template-columns:auto minmax(0,1fr) auto 110px}.feed-driver{display:none}}@media (width<=960px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{width:280px;transition:transform .28s var(--ease-out);box-shadow:var(--shadow-lg);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar[data-open=true]{transform:none}.brand .sidebar-close,.topbar .menu-btn{display:inline-grid}.scrim{z-index:35;background:#050c1780;animation:.2s ease-out fade;position:fixed;inset:0}.topbar{padding:0 16px}.main{padding:20px 16px 48px}.grid-main{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}.login{grid-template-columns:1fr}.login-hero{display:none}.login-mobile-brand{display:block}.form-grid{grid-template-columns:1fr}.mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.grid-kpi{grid-template-columns:minmax(0,1fr)}.page-header h1{font-size:22px}.feed-item{grid-template-columns:auto minmax(0,1fr) auto}.feed-item .badge{display:none}.search{flex:100%;min-width:0}.columns{gap:2px}.columns-axis{gap:2px;font-size:10px}.toaster{bottom:16px;right:16px}}.toolbar-end{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:flex}.load-more{border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}.load-more-count{color:var(--text-2);font-size:13px}.load-more .btn[aria-disabled=true]{opacity:.7;cursor:progress}.is-stale{opacity:.6;transition:opacity .15s ease-out}.finance{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding-top:0;display:grid}.finance>div{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.finance dt{color:var(--text-2);font-size:13px}.finance dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:22px;font-weight:700}.finance-accent dd{color:var(--accent)}@media (width<=720px){.finance{grid-template-columns:1fr}}.cell-link{color:inherit;text-decoration:none}.cell-link:hover{color:var(--accent);text-decoration:underline}.waitlist-islands{margin-bottom:18px}.waitlist-islands-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.waitlist-islands-head h2{margin:0;font-size:16px}.waitlist-bars{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 24px;margin:0;padding:0;list-style:none;display:grid}.waitlist-bars button{width:100%;min-height:36px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:96px 1fr 32px;align-items:center;gap:10px;padding:4px 8px;font-size:14px;display:grid}.waitlist-bars button:hover,.waitlist-bars button.is-active{background:var(--accent-soft)}.waitlist-bar-track{background:var(--line);border-radius:999px;height:8px;overflow:hidden}.waitlist-bar-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .6s cubic-bezier(.23,1,.32,1);display:block}.waitlist-bar-count{font-variant-numeric:tabular-nums;text-align:right;color:var(--text-2)}
