1212 --enaex-line : # E3E6EA ;
1313 --enaex-line-strong : # D2D6DB ;
1414 --white : # FFFFFF ;
15- --off-white : # FFFFFF ;
15+ --off-white : # F6F7F8 ;
1616 --gray-50 : # FFFFFF ;
1717 --gray-100 : # F5F6F7 ;
1818 --gray-200 : # E3E6EA ;
5555 --enaex-chart-track : # EDEFF2 ;
5656
5757 /* Tipografia hero para KPIs de destaque */
58- --enaex-hero-value : 2.25rem ;
58+ --enaex-hero-value : 2.1rem ;
59+ --app-max-width : 1760px ;
5960}
6061
6162* , * ::before , * ::after { box-sizing : border-box; margin : 0 ; padding : 0 ; }
@@ -154,9 +155,16 @@ h3 { font-size: 0.95rem; font-weight: 600; line-height: 1.4; }
154155.status-chip--info { background : var (--blue-light ); color : var (--blue ); }
155156
156157/* ── LAYOUT ────────────────────────────────────── */
157- .app-frame { width : 100% ; max-width : 1340px ; margin : 0 auto; padding : var (--space-7 ) var (--space-7 ) 72px ; }
158- .app-frame--operator { max-width : 1200px ; }
159- .app-body { display : grid; grid-template-columns : 216px 1fr ; gap : var (--space-7 ); align-items : start; }
158+ .app-frame {
159+ display : grid;
160+ gap : var (--space-5 );
161+ width : 100% ;
162+ max-width : var (--app-max-width );
163+ margin : 0 auto;
164+ padding : var (--space-5 ) var (--space-7 ) 72px ;
165+ }
166+ .app-frame--operator { max-width : 1280px ; }
167+ .app-body { display : grid; grid-template-columns : 196px minmax (0 , 1fr ); gap : var (--space-5 ); align-items : start; }
160168.app-body--client { grid-template-columns : 1fr ; }
161169.app-main { min-width : 0 ; }
162170
@@ -207,7 +215,7 @@ h3 { font-size: 0.95rem; font-weight: 600; line-height: 1.4; }
207215.nav-item .is-active small { color : rgba (255 , 255 , 255 , 0.5 ); }
208216
209217/* ── PAGE ──────────────────────────────────────── */
210- .page-stack { display : grid; gap : var (--space-5 ); }
218+ .page-stack { display : grid; gap : var (--space-4 ); }
211219
212220/* Assinatura Enaex: barra vermelha fina abaixo do título das seções */
213221.card__head h2 ,
@@ -233,8 +241,8 @@ h3 { font-size: 0.95rem; font-weight: 600; line-height: 1.4; }
233241.card {
234242 background : var (--white );
235243 border : 1px solid var (--border );
236- border-radius : var (--radius-lg );
237- box-shadow : var (--shadow-sm );
244+ border-radius : var (--radius-md );
245+ box-shadow : var (--shadow-xs );
238246}
239247.card--shell { background : var (--white ); }
240248
@@ -360,6 +368,7 @@ h3 { font-size: 0.95rem; font-weight: 600; line-height: 1.4; }
360368.dashboard-filters__controls , .form-actions , .export-actions ,
361369.table-actions , .entity-actions , .header-actions ,
362370.fleet-map__summary , .fleet-map__legend { display : flex; align-items : center; gap : 8px ; flex-wrap : wrap; }
371+ .dashboard-filters__controls label { width : 170px ; }
363372
364373.dashboard-filters__controls label , .filters-grid label ,
365374.form-grid label , .form-grid--two label ,
@@ -495,11 +504,13 @@ input::placeholder, textarea::placeholder { color: var(--gray-400); }
495504.filter-chip__clear : hover { background : var (--white ); color : var (--enaex-red ); }
496505
497506/* ── STAT CARDS ────────────────────────────────── */
498- .stats-grid { grid-template-columns : repeat (auto-fit, minmax (158 px , 1fr )); }
507+ .stats-grid { grid-template-columns : repeat (auto-fit, minmax (150 px , 1fr )); }
499508.stats-grid--compact { grid-template-columns : repeat (auto-fit, minmax (180px , 1fr )); }
500509.stat-card {
501510 display : grid;
502511 gap : var (--space-1 );
512+ align-content : start;
513+ min-height : 118px ;
503514 border-radius : var (--radius-md );
504515 border : 1px solid var (--border-light );
505516 border-top : 2px solid var (--enaex-line );
@@ -508,7 +519,7 @@ input::placeholder, textarea::placeholder { color: var(--gray-400); }
508519 transition : box-shadow 140ms ease, transform 140ms ease;
509520}
510521.stat-card : hover { box-shadow : var (--shadow-sm ); transform : translateY (-1px ); }
511- .stat-card strong { color : var (--enaex-gray ); font-size : 1.55 rem ; font-weight : 700 ; letter-spacing : -0.02 em ; font-variant-numeric : tabular-nums; }
522+ .stat-card strong { color : var (--enaex-gray ); font-size : 1.45 rem ; font-weight : 700 ; letter-spacing : 0 ; font-variant-numeric : tabular-nums; overflow-wrap : anywhere ; }
512523.stat-card p { color : var (--gray-500 ); font-size : 0.72rem ; font-weight : 600 ; letter-spacing : 0.08em ; text-transform : uppercase; }
513524/* Hero: KPI principal, valor grande em vermelho Enaex (padrão Sismografia) */
514525.stat-card--hero { border-top-color : var (--enaex-red ); }
@@ -534,18 +545,27 @@ input::placeholder, textarea::placeholder { color: var(--gray-400); }
534545.entity-actions { justify-content : flex-end; }
535546
536547/* ── DASHBOARD ─────────────────────────────────── */
537- .dashboard-layout { gap : var (--space-4 ); }
538- .dashboard-columns { grid-template-columns : repeat (2 , 1fr ); }
539- .dashboard-pie-grid--dense { grid-template-columns : repeat (auto-fit, minmax (250px , 1fr )); }
540- .dashboard-pie-grid--two { grid-template-columns : repeat (2 , 1fr ); }
548+ .dashboard-filters { padding : var (--space-5 ) var (--space-6 ); }
549+ .dashboard-layout {
550+ display : grid;
551+ grid-template-columns : repeat (12 , minmax (0 , 1fr ));
552+ gap : var (--space-4 );
553+ align-items : start;
554+ }
555+ .dashboard-layout > .dashboard-block ,
556+ .dashboard-layout > .dashboard-columns { grid-column : 1 / -1 ; }
557+ .dashboard-columns { grid-template-columns : repeat (2 , minmax (0 , 1fr )); }
558+ .dashboard-pie-grid--dense { grid-template-columns : repeat (auto-fit, minmax (390px , 1fr )); }
559+ .dashboard-pie-grid--two { grid-template-columns : repeat (2 , minmax (0 , 1fr )); }
560+ .dashboard-block--activity { grid-column : 1 / -1 ; }
541561
542- .pie-chart-card { overflow : hidden; }
543- .pie-chart-card__body { display : grid; grid-template-columns : 172 px 1fr ; gap : var (--space-6 ); align-items : center; }
562+ .pie-chart-card { overflow : hidden; min-width : 0 ; }
563+ .pie-chart-card__body { display : grid; grid-template-columns : 160 px minmax ( 0 , 1fr ) ; gap : var (--space-5 ); align-items : center; }
544564.pie-chart-card__figure { display : grid; place-items : center; }
545565.pie-chart-card__ring {
546566 display : grid;
547567 place-items : center;
548- width : 156 px ;
568+ width : 144 px ;
549569 aspect-ratio : 1 ;
550570 padding : 15px ;
551571 border-radius : 50% ;
@@ -569,7 +589,7 @@ input::placeholder, textarea::placeholder { color: var(--gray-400); }
569589.pie-chart-card__legend { display : grid; gap : 4px ; }
570590.pie-chart-card__legend-item {
571591 display : grid;
572- grid-template-columns : 10px 1fr auto;
592+ grid-template-columns : 10px minmax ( 0 , 1fr ) auto;
573593 align-items : center;
574594 gap : var (--space-3 );
575595 padding : 7px 10px ;
@@ -579,20 +599,24 @@ input::placeholder, textarea::placeholder { color: var(--gray-400); }
579599 transition : border-color 120ms ease, background 120ms ease;
580600}
581601.pie-chart-card__legend-item : hover { border-color : var (--border ); background : var (--gray-50 ); }
602+ .pie-chart-card__legend-meta { min-width : 0 ; }
603+ .pie-chart-card__legend-meta strong ,
604+ .pie-chart-card__legend-meta small { overflow-wrap : anywhere; }
582605.pie-chart-card__swatch { width : 10px ; height : 10px ; border-radius : 3px ; box-shadow : 0 0 0 1px rgba (23 , 31 , 38 , 0.06 ); }
583606.pie-chart-card__percent { color : var (--enaex-gray ); font-weight : 700 ; font-size : 0.82rem ; font-variant-numeric : tabular-nums; }
584607.pie-chart-card__footnote { margin-top : var (--space-3 ); color : var (--gray-400 ); font-size : 0.72rem ; }
585- .pie-chart-card--compact .pie-chart-card__body { grid-template-columns : 1fr ; gap : var (--space-4 ); justify-items : center; }
608+ .pie-chart-card--compact .pie-chart-card__body { grid-template-columns : 150px minmax (0 , 1fr ); gap : var (--space-5 ); justify-items : stretch; }
609+ .pie-chart-card--compact .pie-chart-card__figure { align-self : start; }
586610.pie-chart-card--compact .pie-chart-card__legend { width : 100% ; }
587611
588612/* ── EQUIPMENT STATUS ──────────────────────────── */
589613.equipment-status-list { display : grid; gap : 4px ; }
590- .equipment-status-item { display : grid; grid-template-columns : 1.25fr 1fr 0.8fr auto; align-items : center; gap : 8px ; }
614+ .equipment-status-item { display : grid; grid-template-columns : minmax ( 120 px , 1.25fr ) minmax ( 160 px , 1fr ) minmax ( 110 px , 0.8fr ) auto; align-items : center; gap : 8px ; }
591615.equipment-status-item p { margin-top : 1px ; }
592616
593617/* ── BAR / STACKED / TARGET ────────────────────── */
594618.bar-list , .stacked-list , .target-list { display : grid; gap : var (--space-2 ); }
595- .bar-list__item , .target-list__item { display : grid; grid-template-columns : minmax (0 , 1.1 fr ) minmax (120 px , 1fr ) auto auto; align-items : center; gap : var (--space-4 ); }
619+ .bar-list__item , .target-list__item { display : grid; grid-template-columns : minmax (160 px , 1.2 fr ) minmax (140 px , 1fr ) minmax ( 112 px , auto) auto; align-items : center; gap : var (--space-4 ); }
596620.bar-list__track , .target-list__track , .stacked-list__track { overflow : hidden; position : relative; min-height : 8px ; border-radius : 999px ; background : var (--enaex-chart-track ); }
597621.bar-list__track span , .target-list__track span { position : absolute; inset : 0 auto 0 0 ; border-radius : inherit; background : var (--enaex-chart-neutral ); transition : width 320ms cubic-bezier (0.22 , 1 , 0.36 , 1 ); }
598622/* Primeiro item da lista sempre em vermelho — foco visual no maior valor */
@@ -613,8 +637,8 @@ input::placeholder, textarea::placeholder { color: var(--gray-400); }
613637.stacked-list__meta { grid-template-columns : repeat (auto-fit, minmax (90px , 1fr )); }
614638
615639/* ── FLEET MAP ─────────────────────────────────── */
616- .fleet-map { display : grid; grid-template-columns : 1fr 260 px ; gap : var (--space-3 ); }
617- .fleet-map__canvas { position : relative; overflow : hidden; min-height : 360 px ; border-radius : var (--radius-md ); background : var (--gray-100 ); }
640+ .fleet-map { display : grid; grid-template-columns : minmax ( 0 , 1fr ) 300 px ; gap : var (--space-4 ); }
641+ .fleet-map__canvas { position : relative; overflow : hidden; min-height : 340 px ; border-radius : var (--radius-md ); background : var (--gray-100 ); }
618642.fleet-map__frame , .fleet-map__overlay , .fleet-map__veil , .fleet-map__blocker { position : absolute; inset : 0 ; }
619643.fleet-map__frame { width : 100% ; height : 100% ; border : 0 ; filter : grayscale (1 ) brightness (1.04 ) contrast (0.9 ); }
620644.fleet-map__veil , .fleet-map__blocker { pointer-events : none; }
@@ -643,15 +667,15 @@ input::placeholder, textarea::placeholder { color: var(--gray-400); }
643667
644668/* ── TABLE ─────────────────────────────────────── */
645669.records-table { width : 100% ; border-collapse : collapse; }
646- .records-table th , .records-table td { padding : 10 px 12px ; border-bottom : 1px solid var (--border-light ); text-align : left; vertical-align : top; }
670+ .records-table th , .records-table td { padding : 9 px 12px ; border-bottom : 1px solid var (--border-light ); text-align : left; vertical-align : top; }
647671.records-table th { color : var (--gray-500 ); font-size : 0.65rem ; font-weight : 600 ; letter-spacing : 0.08em ; text-transform : uppercase; background : var (--gray-50 ); position : sticky; top : 0 ; }
648672.records-table tbody tr { transition : background 100ms ease; }
649673.records-table tbody tr : hover { background : var (--gray-50 ); }
650674.records-table td strong , .records-table td small { display : block; }
651675.records-table td small { margin-top : 1px ; }
652676.dashboard-kpi-table__total td { background : var (--gray-50 ); border-top : 1px solid var (--border ); }
653677.dashboard-kpi-table__total td strong { color : var (--enaex-gray ); }
654- .table-wrap { overflow-x : auto; border-radius : var (--radius-md ); }
678+ .table-wrap { overflow-x : auto; border-radius : var (--radius-md ); max-width : 100 % ; }
655679.table-footnote { margin-top : var (--space-2 ); color : var (--gray-400 ); font-size : 0.72rem ; }
656680.readonly-pill span , .form-note p , .equipment-status-item small ,
657681.stacked-list__value small , .target-list__label small , .bar-list__label small { color : var (--gray-500 ); }
@@ -663,6 +687,10 @@ input::placeholder, textarea::placeholder { color: var(--gray-400); }
663687/* ── RESPONSIVE ────────────────────────────────── */
664688@media (max-width : 1240px ) {
665689 .app-body { grid-template-columns : 188px 1fr ; gap : var (--space-5 ); }
690+ .stats-grid { grid-template-columns : repeat (auto-fit, minmax (170px , 1fr )); }
691+ .dashboard-pie-grid--dense { grid-template-columns : repeat (auto-fit, minmax (340px , 1fr )); }
692+ .pie-chart-card--compact .pie-chart-card__body { grid-template-columns : 1fr ; justify-items : center; text-align : center; }
693+ .pie-chart-card--compact .pie-chart-card__legend { width : 100% ; }
666694}
667695
668696@media (max-width : 1080px ) {
@@ -677,8 +705,10 @@ input::placeholder, textarea::placeholder { color: var(--gray-400); }
677705 .page-banner , .operator-topbar { flex-direction : column; align-items : flex-start; }
678706 .operator-live-bar , .form-grid , .filters-grid { grid-template-columns : repeat (2 , 1fr ); }
679707 .equipment-status-item , .bar-list__item , .target-list__item { grid-template-columns : 1fr ; }
680- .pie-chart-card__body { justify-items : center; text-align : center; }
708+ .pie-chart-card__body ,
709+ .pie-chart-card--compact .pie-chart-card__body { justify-items : center; text-align : center; }
681710 .pie-chart-card__legend { width : 100% ; }
711+ .dashboard-filters__controls label { width : min (100% , 180px ); }
682712}
683713
684714@media (max-width : 820px ) {
@@ -690,7 +720,9 @@ input::placeholder, textarea::placeholder { color: var(--gray-400); }
690720 .nav-list { grid-auto-flow : row; }
691721 .nav-item { min-width : 0 ; }
692722 .operator-live-bar , .stats-grid , .stats-grid--compact , .form-grid ,
693- .form-grid--two , .filters-grid , .mini-form , .stacked-list__meta { grid-template-columns : 1fr ; }
723+ .form-grid--two , .filters-grid , .mini-form , .stacked-list__meta ,
724+ .dashboard-pie-grid--dense { grid-template-columns : 1fr ; }
725+ .dashboard-filters__controls label { width : 100% ; }
694726 .mini-form input : last-of-type , .mini-form button , .toggle-field--inline { grid-column : auto; }
695727 .card__head { grid-template-columns : 1fr ; }
696728 .records-table , .records-table thead , .records-table tbody ,
0 commit comments