:root{--orange:#ef7623;--ink:#20242a;--muted:#747a84;--line:#e8e9ec;--bg:#f5f6f8;--white:#fff;--sidebar:244px;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);font-size:17.5px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}svg{width:22px;height:22px;flex-shrink:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.045em;margin:0;color:var(--ink)}h1{font-size:40px;font-weight:800;line-height:1.3}h2{font-size:26.25px;font-weight:800}h3{font-size:20px}p{color:var(--muted);line-height:1.65;margin:9px 0 0}small{font-size:15px}.skip{position:fixed;top:-100px;z-index:10;background:white;padding:14px}.skip:focus{top:0}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#1c2026;color:#aab0b9;padding:30px 18px 20px;display:flex;flex-direction:column;z-index:20;overflow-y:auto}.brand{display:block;padding:0 14px}.brand img{width:128px;height:auto;filter:brightness(0) invert(1)}.brand>span{display:block;font-size:10px;letter-spacing:1.5px;margin-top:9px;color:#a5aab0}.workspace{display:flex;align-items:center;gap:10px;padding:16px 10px;border:1px solid #383d45;border-radius:10px;margin:30px 0 25px}.workspace-icon{background:#3f342b;color:#ffac6b;padding:9px 12px;border-radius:7px;font-weight:700}.workspace strong{font-size:15px;color:#f3f4f7;display:block}.workspace small{display:block;margin-top:4px;color:#8e96a1;font-size:13.75px}.online-dot{width:6px;height:6px;border-radius:50%;background:#78bf9a;margin-left:auto}.nav-label{font-size:11.25px;letter-spacing:1.6px;margin:0 14px 12px;color:#7d8490}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:11px 14px;border-radius:7px;font-size:15px;transition:background .15s,color .15s}.sidebar nav a svg{width:18px;height:18px}.sidebar nav a:hover{color:white;background:#2b3037}.sidebar nav a[aria-current]{background:#ee7623;color:white;font-weight:600}.sidebar nav i{margin-left:auto;width:5px;height:5px;border-radius:50%;background:white}.sidebar-bottom{margin-top:auto;padding:30px 12px 0;display:flex;flex-direction:column;gap:18px}.sidebar-bottom>a{font-size:15px}.test-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5d3c2;background:#fff4ea;color:#9e5e2e;border-radius:5px;font-size:11.25px;letter-spacing:1.1px;padding:7px 9px;font-weight:700;align-self:flex-start}.sidebar .test-badge{background:#2c2925;border-color:#4e3b2a;color:#d5a57b}.app{margin-left:var(--sidebar);min-height:100vh;display:flex;flex-direction:column}.topbar{height:80px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{font-size:15px;color:var(--muted)}.breadcrumb span{padding:0 14px;color:#c6cad0}.breadcrumb strong{color:#454a53;font-weight:500}.account{display:flex;align-items:center;gap:10px}.avatar{display:flex;align-items:center;justify-content:center;background:#f8eee5;border-radius:50%;width:35px;height:35px;color:#ad6127;font-weight:700}.account strong,.account small{display:block;font-size:13.75px}.account small{color:var(--muted);margin-top:4px;font-size:12.5px}.account form{margin-left:12px}main#conteudo{padding:32px 38px 45px;max-width:1760px;width:100%;margin:auto;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.eyebrow{font-size:11.25px;letter-spacing:1.8px;font-weight:700;color:#a06b46;margin:0 0 9px}.page-heading>div>p:last-child{font-size:16.25px;margin-top:8px}.today{border:1px solid var(--line);background:white;border-radius:7px;padding:10px 14px;color:#757d86;font-size:13.75px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--orange);border:1px solid var(--orange);color:#fff;padding:11px 17px;border-radius:7px;font-size:15px;font-weight:700;min-height:40px;white-space:nowrap;transition:background .15s}.button:hover{background:#d86518;border-color:#d86518}.button.secondary{background:#fff;color:#515964;border-color:#dfe2e7}.button.secondary:hover{background:#f5f6f8}.button.danger{background:#fff0f0;color:#b54747;border-color:#edc7c7}.button.full{width:100%;justify-content:space-between}.text-button{background:none;border:0;padding:5px;color:#767d88;font-size:13.75px;cursor:pointer}.text-button:hover{color:var(--orange)}.back-link{display:inline-block;font-size:15px;margin:0 0 20px;color:#7c838b}.welcome{background:#232a31;color:white;position:relative;display:flex;align-items:center;justify-content:space-between;border-radius:13px;min-height:258px;padding:30px 36px;overflow:hidden;margin-bottom:23px}.welcome h2{font-size:36.25px;line-height:1.4;color:#fff;margin:14px 0}.welcome em{font-style:normal;color:#ffac73}.welcome p{color:#b2bac3;font-size:15px;max-width:400px}.welcome .button{margin-top:22px}.pill{font-size:11.25px;letter-spacing:1px;font-weight:600;padding:5px 8px;background:#f4f5f7;color:#687481;border-radius:4px;display:inline-block}.welcome .pill{color:#e6ad87;background:#3d3935}.welcome-art{position:relative;width:260px;height:220px;display:flex;align-items:center;justify-content:center;margin-right:40px}.orbit{border:1px solid #48505a;border-radius:50%;position:absolute}.orbit.one{width:240px;height:240px}.orbit.two{width:175px;height:175px}.orbit.three{width:110px;height:110px;background:#303943;border-color:#6c4b32}.welcome-art>span{z-index:1;color:#ff9349}.welcome-art>span svg{width:48px;height:48px}.welcome-art:after{content:'';position:absolute;top:10px;right:44px;width:12px;height:12px;background:#ee7623;border:4px solid #61442f;border-radius:50%;box-shadow:0 0 0 5px #3d3831}.art-label{position:absolute;bottom:-7px;right:-38px;font-size:10px;letter-spacing:3px;color:#a8b1bc;background:#232a31;padding:10px}.art-label strong{font-size:7.5px;font-weight:400}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat-card{background:white;border:1px solid var(--line);border-radius:10px;padding:20px}.stat-card>div{display:flex;align-items:center;justify-content:space-between;color:#747d88;font-size:15px}.stat-card svg{width:18px;color:#bd956e}.stat-card>strong{font-family:Manrope,sans-serif;display:block;font-size:41.25px;margin:12px 0 15px;font-weight:800;letter-spacing:-1px}.stat-card small{display:flex;justify-content:space-between;border-top:1px solid #f1f2f4;padding-top:11px;color:#8b929b;font-size:12.5px}.stat-card:hover{border-color:#edb287}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;margin:0 0 22px;padding:25px;box-shadow:0 2px 4px #22222202}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}.panel-heading h2{font-size:21.25px}.panel-heading p{font-size:13.75px}.panel-heading>svg{color:#a5acb5}.quick-reports a{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:17px 0}.quick-reports h3{font-size:16.25px;letter-spacing:-.02em}.quick-reports p{font-size:13.75px;margin-top:4px}.quick-reports a>span{width:28px;height:28px;border-radius:50%;background:#f6f6f7;display:grid;place-items:center;color:#949ca5}.quick-reports a:hover>span{background:#fff0e5;color:#cd681d}.tile-icon{display:inline-flex;padding:12px;background:#fff2e8;border-radius:9px;color:#d57832;margin-bottom:18px}.start-panel p{font-size:15px;margin:10px 0 20px}.start-panel>a{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:15px}.step{font-size:12.5px;color:#abaeb7}.start-panel b{margin-left:auto;color:#929aa4;font-weight:400}.app-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 38px;color:#9299a3;font-size:12.5px}.filter-bar{display:flex;align-items:flex-end;gap:13px;margin-bottom:22px}.filter-bar label{min-width:140px;color:#6a7381;font-size:13.75px;display:flex;flex-direction:column;gap:7px}.filter-bar .search-label{flex:1}input,textarea,select{border:1px solid #dee2e7;background:white;border-radius:6px;color:#373f4a;padding:10px 12px;width:100%;min-height:40px;transition:border-color .15s}input::placeholder{color:#a7adb6;font-size:15px}input:focus,select:focus,textarea:focus{outline:2px solid #fde3cd;border-color:#df9961}input[type=checkbox]{width:16px;height:16px;min-height:16px;accent-color:var(--orange);padding:0}.table-scroll{overflow:auto;margin:0 -25px}table{border-collapse:collapse;width:100%;text-align:left;font-size:15px;white-space:nowrap}th{font-size:12.5px;font-weight:600;color:#838b97;background:#f9fafb;padding:13px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:17px 22px;border-bottom:1px solid #f0f1f3;max-width:370px;overflow:hidden;text-overflow:ellipsis}tr:last-child td{border-bottom:0}tr:hover td{background:#fdfaf7}.status{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;color:#7a8491;background:#f0f2f5;border-radius:4px;padding:5px 8px}.status:before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}.status.ativo{color:#387c62;background:#edf7f1}.status.inativo{color:#9d6a57;background:#faf1eb}.table-link{font-size:13.75px;color:#d2722d}.empty{padding:55px 20px;text-align:center;white-space:normal}.empty>svg{width:37px;height:37px;color:#c6cbd2;margin-bottom:17px}.empty h3{font-size:20px}.empty p{font-size:15px;max-width:390px;margin:9px auto}.pagination{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid var(--line);color:#8d949e;font-size:13.75px;margin-top:20px}.actions{display:flex;gap:10px;align-items:center}.impersonation{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#fff4ea;border-bottom:1px solid #f0d9c4;color:#8a4f1e;padding:10px 38px;font-size:15px}.impersonation .button{min-height:34px;padding:6px 12px;font-size:13.75px}.notice{padding:14px 17px;border-radius:7px;margin-bottom:20px;font-size:16.25px}.notice.success{color:#2d7853;background:#e9f6ec;border:1px solid #c4e2cb}.notice.error{color:#a14438;background:#fff0ec;border:1px solid #efcec5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:9px;color:#687381;font-size:15px}.field small{font-size:12.5px;color:#949ba3}.required{color:#df823a}.span-all{grid-column:1/-1}fieldset{border:1px solid var(--line);padding:20px;border-radius:8px;margin:0}legend{padding:0 8px;font-weight:600;font-size:15px}.checks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.check-label{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:15px}.form-actions{border-top:1px solid var(--line);padding-top:22px;margin-top:28px;display:flex;gap:12px;justify-content:flex-end}.question-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin:17px 0}.question-row label{font-size:13.75px;color:#818995}.question-row input,.question-row select{margin-top:7px}.muted{color:#818995;font-size:15px}.accordion summary{cursor:pointer;font-size:18.75px;font-weight:700;padding:2px}.accordion[open] summary{margin-bottom:25px}.inline-form{display:flex;align-items:center;justify-content:space-between;gap:18px}.inline-form p{font-size:15px}.association-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);font-size:15px}.association-row:last-of-type{margin-bottom:20px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:25px}.feature-card{padding:25px;background:white;border:1px solid var(--line);border-radius:11px;transition:border-color .2s,transform .2s}.feature-card:hover{border-color:#eab084;transform:translateY(-2px)}.feature-card>svg{color:#d48243;margin:0 0 25px}.feature-card h2{font-size:21.25px}.feature-card p{font-size:15px;min-height:42px}.feature-card>span{display:block;font-size:13.75px;color:#b87440;margin-top:25px}.account-details{display:grid;grid-template-columns:100px 1fr;gap:15px;font-size:15px;margin-top:25px}.account-details dt{color:#8a929b}.account-details dd{margin:0}.tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:23px}.tabs a{padding:10px 15px;background:white;color:#79828e;border:1px solid var(--line);border-radius:6px;font-size:13.75px}.tabs a.active{border-color:#efb486;background:#fff2e7;color:#b86c31}.report-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.report-filters label{display:flex;flex-direction:column;gap:8px;font-size:13.75px;color:#707b87}.report-filters .actions{grid-column:1/-1;justify-content:flex-end;margin-top:6px;padding-top:18px;border-top:1px solid var(--line)}.report-meta{display:flex;gap:8px;margin-bottom:17px}.chart-bars{display:flex;gap:14px;align-items:flex-end;height:210px;padding:20px 0;border-bottom:1px solid var(--line);overflow-x:auto}.chart-bar{min-width:45px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:9px;font-size:11.25px;color:#9b785d}.chart-bar i{display:block;background:#ed8c46;width:75%;max-width:55px;border-radius:4px 4px 0 0;min-height:1px}.chart-bar small{font-size:11.25px;color:#818b98;max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heat-grid{display:grid;grid-template-columns:90px repeat(24,minmax(18px,1fr));gap:3px;overflow:auto;font-size:11.25px;margin-top:20px}.heat-cell{min-height:23px;background:#edf0f3;border-radius:2px}.heat-cell.active{background:#ec8e4b}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-story{background:#20272e;padding:45px 58px;color:white;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story:after{content:'';position:absolute;border:1px solid #3a424a;border-radius:50%;width:650px;height:650px;right:-420px;bottom:-350px;box-shadow:0 0 0 60px #ffffff03,0 0 0 120px #ffffff02;pointer-events:none}.login-story .brand{padding:0}.login-message h1{font-size:clamp(40px,4.375vw,70px);color:white;line-height:1.3;margin:20px 0}.login-message h1 em{font-style:normal;color:#f59a58}.login-message>p{color:#abb5c0;font-size:17.5px}.login-message .eyebrow{color:#cc9d78;font-size:12.5px}.login-features{display:flex;gap:24px;margin-top:40px;color:#b3bdc7;font-size:13.75px}.login-features span{display:flex;align-items:center;gap:8px}.login-features svg{width:17px;color:#d58a51}.login-story>small{color:#6f7d8b;font-size:13.75px}.login-form-wrap{display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:48px;background:#fafbfc}.login-form-wrap>.test-badge{align-self:flex-end}.login-form{width:100%;max-width:350px;margin:40px auto}.login-symbol{display:inline-flex;background:#fff0e4;padding:13px;border-radius:10px;color:#dc7b31;margin-bottom:30px}.login-form h2{font-size:35px}.login-form>p{font-size:16.25px}.login-form form{margin-top:30px}.login-form label{font-size:15px;display:block;color:#606d7a;margin-bottom:20px}.login-form label>input,.password-field{margin-top:9px}.password-field{position:relative}.password-field input{padding-right:70px}.show-password{position:absolute;right:10px;top:9px;background:none;border:0;font-size:12.5px;padding:5px;color:#8c9299}.login-form .back-link{display:block;text-align:center;margin:22px 0 0;font-size:13.75px}.login-form .login-legal{font-size:12.5px;text-align:center;margin-top:35px;color:#9aa2ac}.login-legal a{text-decoration:underline}.icon-button{background:none;border:0;padding:7px}.mobile-menu{display:none}
@media(min-width:1500px){main#conteudo{padding:40px 60px}.welcome{min-height:290px}}@media(max-width:1100px){:root{--sidebar:215px}.sidebar{padding-left:12px;padding-right:12px}.topbar{padding:0 25px}main#conteudo{padding:26px 25px}.welcome-art{margin-right:0;transform:scale(.8)}.welcome{padding:25px}.welcome h2{font-size:31.25px}.stat-grid{gap:12px}.stat-card{padding:15px}.card-grid{grid-template-columns:repeat(2,1fr)}.report-filters{grid-template-columns:repeat(3,1fr)}.login-story{padding:35px}.login-features{gap:15px;font-size:11.25px}}@media(max-width:800px){:root{--sidebar:0px}.sidebar{width:244px;transform:translateX(-100%);transition:transform .2s}.menu-open .sidebar{transform:translateX(0);box-shadow:0 0 0 100vmax #0006}.mobile-menu{display:block}.topbar{height:65px;gap:10px}.breadcrumb{margin-right:auto}.account>span:not(.avatar){display:none}.account form{margin-left:0}main#conteudo{padding:25px 20px}.today{display:none}.page-heading h1{font-size:33.75px}.welcome-art{display:none}.welcome{min-height:240px}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr;gap:0}.card-grid{grid-template-columns:repeat(2,1fr);gap:14px}.feature-card{padding:20px}.filter-bar{flex-wrap:wrap}.filter-bar .search-label{flex-basis:100%}.form-grid{grid-template-columns:1fr}.checks{grid-template-columns:repeat(2,1fr)}.question-row{grid-template-columns:1fr 1fr}.question-row>label:first-child{grid-column:1/-1}.inline-form{align-items:flex-start;flex-direction:column}.panel{padding:20px}.table-scroll{margin:0 -20px}.report-filters{grid-template-columns:1fr 1fr}.report-filters .actions{flex-wrap:wrap}.app-footer{padding:20px;font-size:11.25px}.login-layout{grid-template-columns:1fr}.login-story{display:none}.login-form-wrap{min-height:100vh;padding:30px}.login-form{max-width:370px}.panel-heading{flex-wrap:wrap}.welcome h2{font-size:33.75px}}@media(max-width:430px){.card-grid{grid-template-columns:1fr}.report-filters{grid-template-columns:1fr}.account .avatar{display:none}.breadcrumb{font-size:12.5px}.checks{grid-template-columns:1fr}.welcome h2{font-size:30px}.stat-card>strong{font-size:35px}}
@media print{.sidebar,.topbar,.app-footer,.filter-bar,.report-filters,.page-heading .today,.tabs,.button,.back-link{display:none!important}.app{margin:0}body{background:white}main#conteudo{padding:0}.panel{box-shadow:none;border:0;padding:10px}.table-scroll{overflow:visible;margin:0}table{white-space:normal;font-size:11.25px}th,td{padding:5px}h1{font-size:28.75px}}.sidebar{scrollbar-width:thin;scrollbar-color:#454d58 #1c2026}.report-meta{flex-wrap:wrap}.report-filters fieldset{grid-column:1/-1}.report-filters .check-label{flex-direction:row;align-items:center}.heat-cell.impact{background:#e8b94e}.heat-cell.maintenance{background:#7e8a9c}.heat-cell.blocked{background:#d36c65}.heat-cell.offline{background:#dfe4ea}
/* Shared report filter layout: keep each date beside its time. */
.report-filters-organized{display:flex;flex-direction:column;gap:18px}.report-filter-section{min-width:0;background:#fafbfc;padding:18px 20px}.report-filter-section legend{font-size:15px;color:#364452}.report-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.report-period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.report-date-pair{display:flex;gap:12px;align-items:end;min-width:0}.report-date-pair>label{flex:1;min-width:0}.report-date-pair>label:has(input[type=time]){flex:0 0 116px}.report-filters-organized input,.report-filters-organized select{min-width:0;max-width:100%;box-sizing:border-box}.report-filter-grid select[multiple]{height:116px}.report-filters-organized small,.filter-help{font-size:13.75px;color:#7b8590;line-height:1.6}.filter-help{margin:12px 0 0}.report-indicators{border-top:1px solid var(--line);margin-top:18px;padding-top:4px}.report-indicators .checks{margin-top:12px}.report-filter-actions{flex-wrap:wrap}.report-filter-actions>.text-button{margin-right:auto}.report-filters-organized .check-label{min-height:42px}
@media(max-width:1100px){.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-period-grid{gap:16px}.report-date-pair>label:has(input[type=time]){flex-basis:105px}}
@media(max-width:650px){.report-period-grid,.report-filter-grid{grid-template-columns:1fr}.report-filter-section{padding:14px}.report-date-pair{gap:10px}.report-filter-actions>.text-button{flex-basis:100%}.report-filter-actions .button{flex:1;justify-content:center}.report-indicators .checks{grid-template-columns:1fr}}

.filter-selection-field{min-width:0}.filter-selection-field>label{display:flex;flex-direction:column;gap:8px}.filter-selection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px}.filter-selection-actions .text-button{padding:4px 0;min-height:32px}.filter-selection-actions small{flex-basis:100%;color:var(--muted,#64748b)}

.bulk-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:14px 24px;background:#f8fafc;border-top:1px solid #e5e7eb}.bulk-toolbar label{margin:0}.bulk-toolbar>label:not(.check-label){min-width:220px;flex:1}.bulk-toolbar select{width:100%}input[data-bulk-item],input[data-bulk-all]{width:18px;height:18px;flex-shrink:0;accent-color:#e87520}.association-row:has(input:checked){background:#fff5ec}tr:has(input[data-bulk-item]:checked){background:#fff5ec}.bulk-toolbar button:disabled{opacity:.45;cursor:not-allowed}

.bulk-confirm-dialog{max-width:500px;width:calc(100% - 40px);border:0;border-radius:16px;padding:28px;box-shadow:0 20px 80px #0005}.bulk-confirm-dialog::backdrop{background:#17203388}.bulk-confirm-dialog p{line-height:1.6;margin:18px 0 24px}.bulk-confirm-dialog .actions{justify-content:flex-end}

/* Room for the 25% larger typography. */
:root{--sidebar:280px}.filter-bar,.actions,.page-heading,.topbar{flex-wrap:wrap}.topbar{height:auto;min-height:80px;padding-top:12px;padding-bottom:12px}.report-date-pair>label:has(input[type=time]){flex-basis:145px}.report-filter-grid select[multiple]{height:145px}.password-field input{padding-right:88px}.show-password{top:7px}.account-details{grid-template-columns:minmax(125px,auto) 1fr}.account-details dd{overflow-wrap:anywhere}.login-form{max-width:420px}.sidebar nav a{overflow-wrap:anywhere}.page-heading{gap:16px}.button{white-space:normal;text-align:center}.bulk-confirm-dialog .actions{flex-wrap:wrap}@media(max-width:1100px){:root{--sidebar:255px}.report-period-grid{grid-template-columns:1fr}}@media(max-width:800px){:root{--sidebar:0px}.sidebar{width:280px}.report-date-pair{flex-wrap:wrap}.report-date-pair>label{flex-basis:160px}.report-date-pair>label:has(input[type=time]){flex:1 1 130px}.login-features{flex-wrap:wrap}}

button.table-link{background:none;border:0;padding:0;font-family:inherit;font-size:13.75px;color:#d2722d;cursor:pointer;text-align:left;line-height:inherit}
.row-actions{white-space:nowrap}.row-actions .table-link{display:block;padding:2px 0}

.field-label{font-weight:600;color:#515964}
.check-field{display:flex;flex-direction:column;gap:9px;color:#687381;font-size:15px;min-width:0}
.check-list{border:1px solid #dfe2e7;border-radius:7px;background:#fff;min-width:0}
.check-list.invalid{border-color:#b54747;box-shadow:0 0 0 2px #edc7c7}
.check-list.invalid .check-required-msg{display:block;margin:0;padding:8px 12px;color:#b54747;font-size:13.5px;border-top:1px solid #edc7c7}
.check-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 12px;background:#f8fafc;border-bottom:1px solid var(--line);border-radius:7px 7px 0 0;font-size:13.5px;color:#515964}
.check-list-toolbar input[type=search]{flex:1 1 150px;min-width:0;padding:6px 9px;font-size:13.5px;border:1px solid #dfe2e7;border-radius:6px}
.check-list-toolbar .check-label{font-size:13.5px;white-space:nowrap}
.check-count{font-weight:700;color:#d2722d;white-space:nowrap}
.check-list.has-selection .check-count{background:#fff5ec;padding:2px 8px;border-radius:999px}
.check-list-items{max-height:230px;overflow:auto;padding:2px 12px}
.check-item{padding:8px 4px;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink);cursor:pointer;border-radius:4px}
.check-item:first-child{border-top:0}
.check-item:has(input:checked){background:#fff5ec}
.check-item[hidden]{display:none}
.check-empty{margin:0;padding:12px 0;color:var(--muted)}
.associate-form .form-actions{margin-top:18px;padding-top:16px}

/* ===== Compactação geral (pedido de 2026-10-23): menos espaço entre linhas, formulários em 2 colunas, rótulo acima do campo ===== */
p{line-height:1.5;margin:5px 0 0}
main#conteudo{padding:22px 28px 32px}
.page-heading{margin-bottom:16px}
.back-link{margin:0 0 12px;font-size:14px}
.panel{padding:18px 20px;margin:0 0 14px}
.panel-heading{margin-bottom:14px;gap:12px}
.panel-heading h2{font-size:19px}
h2{font-size:23px}h3{font-size:17.5px}
.stat-grid{gap:12px;margin-bottom:14px}
.stat-card>strong{font-size:34px;margin:8px 0 10px}
.dashboard-grid{gap:14px}.card-grid{gap:14px;margin-bottom:16px}
.feature-card>svg{margin:0 0 14px}.feature-card p{min-height:0}
.quick-reports a{padding:10px 0}.start-panel>a{padding:8px 0;font-size:14px}
.tile-icon{padding:9px;margin-bottom:10px}
th{padding:8px 14px;font-size:12px}
td{padding:8px 14px;font-size:14px}
.status{padding:3px 7px;font-size:12px}
.filter-bar{gap:10px;margin-bottom:12px}
.filter-bar label{gap:5px;font-size:13px}
input,textarea,select{padding:7px 10px;min-height:36px;font-size:14px}
textarea{min-height:72px}
.button{padding:8px 14px;min-height:36px;font-size:14px}
.button.small{padding:6px 12px;font-size:13.5px}
.text-button{padding:4px;font-size:13px}
/* Formulários: rótulo acima do campo (já é coluna) e sempre 2 colunas, 1 coluna só em telas estreitas */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}
.field{gap:4px;font-size:13.5px;color:#5f6975}
.field-label{font-size:13.5px}
.field small{font-size:12.5px;color:var(--muted)}
small{font-size:13px}.muted{font-size:13.5px}
.check-label{font-size:14px;gap:8px}
fieldset{padding:12px 14px}legend{font-size:14px}
.checks{gap:8px 14px}
.form-actions{margin-top:14px;padding-top:12px;gap:10px}
.question-row{margin:10px 0;gap:10px}.question-row input,.question-row select{margin-top:4px}
.accordion summary{font-size:16px;padding:4px 0}
details.accordion>*:not(summary){margin-top:12px}
.inline-form{gap:14px}.inline-form h3{font-size:16px}
.account-details{gap:8px 15px;margin-top:14px;font-size:14px}
/* Listas de vínculo: vincular e desvincular com o mesmo visual compacto */
.association-row{padding:6px 4px;font-size:14px;justify-content:flex-start;gap:8px;border-top:1px solid var(--line)}
.unlink-list .bulk-toolbar{padding:8px 12px;gap:8px 14px;border-top:0;border-bottom:1px solid var(--line);border-radius:7px 7px 0 0;font-size:13.5px}
.unlink-list .bulk-toolbar .check-label{font-size:13.5px}
.unlink-list [data-bulk-count]{font-weight:700;color:#d2722d;white-space:nowrap}
.unlink-list .bulk-toolbar .button{padding:5px 11px;min-height:30px;font-size:13px;margin-left:auto}
.unlink-list .check-list-items{max-height:230px;overflow:auto;padding:2px 12px}
.unlink-list .check-item:first-child{border-top:0}
.unlink-list .check-item:has(input:checked){background:#fff5ec}
input[data-bulk-item],input[data-bulk-all]{width:16px;height:16px}
.check-item{padding:6px 4px;font-size:14px}
.check-list-items{max-height:230px}
.associate-form .form-actions{margin-top:10px;padding-top:10px}
details.accordion .field+.associate-form{margin-top:12px}
.bulk-toolbar{padding:8px 14px;gap:8px 16px}
/* Relatórios */
.report-filters-organized{gap:12px}.report-filter-grid{gap:10px 14px}.report-period-grid{gap:12px}
.report-filter-section{padding:12px 14px}.report-filter-section legend{font-size:14px}
.report-filters label{gap:4px;font-size:13.5px}
.filter-help{margin:8px 0 0;font-size:13px}
.report-indicators .checks{margin-top:8px}
.report-filters .actions{margin-top:4px;padding-top:12px}
.tabs a{padding:7px 12px;font-size:13px}
.heat-grid{margin-top:12px}
.empty{padding:34px 20px}

/* seleção com Shift: evita selecionar texto das linhas */
.check-item,.association-row,[data-bulk-form] td{user-select:none}
.check-item:focus-within,.association-row:focus-within{outline:2px solid #f3c7a6;outline-offset:-2px}

/* Localização (mapa) */
.localizacao-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}
.mapa-wrap{position:relative;min-height:520px}
#mapa{position:absolute;inset:0;border:1px solid var(--line);border-radius:8px;background:#eef1f4;z-index:0}
.mapa-vazio{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f8fafcd9;border-radius:8px;z-index:500;padding:20px;pointer-events:none}
.mapa-vazio p{max-width:360px;font-size:13.5px}
.loc-lista{border:1px solid #dfe2e7;border-radius:7px;background:#fff;display:flex;flex-direction:column;min-height:0;max-height:520px}
.loc-itens{list-style:none;margin:0;padding:2px 10px;overflow:auto}
.loc-item{display:flex;gap:9px;align-items:flex-start;padding:7px 4px;border-top:1px solid var(--line);font-size:13.5px;cursor:pointer;border-radius:4px}
.loc-item:first-child{border-top:0}.loc-item:hover,.loc-item:focus{background:#fff5ec;outline:none}
.loc-item.sem-gps{cursor:default;color:#8a929c}
.loc-dot{width:10px;height:10px;border-radius:50%;background:#8a929c;margin-top:5px;flex-shrink:0}
.loc-item.recente .loc-dot{background:#2e9e5b}.loc-item.sem-gps .loc-dot{background:#d9dde2}
.loc-item small{color:var(--muted);font-size:12.5px}
.maplibregl-map{font:inherit}.maplibregl-popup-content{font-size:13.5px;line-height:1.45;padding:12px 14px;border-radius:8px}.loc-marcador{display:block}
@media(max-width:900px){.localizacao-grid{grid-template-columns:1fr}.mapa-wrap{min-height:380px}.loc-lista{max-height:260px}}

/* o aviso de "sem GPS" precisa sumir quando marcado como hidden (display:flex vencia o atributo) */
.mapa-vazio[hidden]{display:none!important}

/* Rastreio */
.rastreio-filtros{margin-bottom:8px;flex-wrap:wrap}
.rastreio-filtros .search-label{flex:1 1 320px}
.rastreio-inicio{display:block;width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid #ef7623;box-shadow:0 0 0 2px #fff}
.rastreio-pontos{counter-reset:none}
.rastreio .filter-help{margin:0 0 10px}

/* Rastreio: aviso como faixa no topo do mapa (não cobre o marcador da última posição) */
.mapa-banner{position:absolute;left:50px;right:12px;top:12px;z-index:500;background:#fffbe6;border:1px solid #f1dc9a;color:#6b5a1e;border-radius:7px;padding:8px 12px;font-size:13.5px;pointer-events:none}
.mapa-banner[hidden]{display:none!important}
.rastreio-filtros .check-label{flex-direction:row;align-items:center;align-self:flex-end;min-height:36px;min-width:0;white-space:nowrap}
.rastreio-filtros>label:not(.check-label){min-width:120px}
/* Firmwares: importação em lote */
.firmwares-lote-form{display:grid;gap:12px;margin-top:8px}.firmwares-lote-form label{display:grid;gap:6px;font-weight:600;font-size:13.5px}
.firmwares-lote-form input[type=file]{font-weight:400}
.lote-ok{color:#2d7853}.lote-erro{color:#a14438}tr.lote-erro td{color:#a14438}
.field-text{display:inline}.field-text .required{margin-right:2px}

/* Listas de vínculo em tabela (módulos de clientes): colunas Módulo/MAC/Placa/Firmware/Conexão com cabeçalho ordenável e filtro. */
.check-list-items:has(.check-table),.unlink-list .check-list-items:has(.check-table){padding:0}
.check-table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap;table-layout:auto}
.check-table th{position:sticky;top:0;z-index:1;background:#f8fafc;padding:7px 10px;font-size:12px;font-weight:600;color:#838b97;border-top:0;border-bottom:1px solid var(--line);text-align:left}
.check-table td{padding:7px 10px;border-bottom:1px solid var(--line);max-width:none;font-size:14px}
.check-table tr.check-item{border-top:0;padding:0;cursor:pointer}
.check-table tr.check-item:last-child td{border-bottom:0}
.check-table .check-col{width:36px;text-align:center}
.check-table .check-col input{margin:0;vertical-align:middle}
.sort-button{background:none;border:0;padding:0;font:inherit;font-size:12px;font-weight:600;color:#838b97;display:inline-flex;align-items:center;gap:5px;cursor:pointer;text-transform:uppercase;letter-spacing:.4px}
.sort-button:hover,th[aria-sort] .sort-button{color:#d2722d}
.sort-button i{font-style:normal;font-size:10px;opacity:.45}
.sort-button i:after{content:'↕'}
th[aria-sort=ascending] .sort-button i{opacity:1}th[aria-sort=ascending] .sort-button i:after{content:'▲'}
th[aria-sort=descending] .sort-button i{opacity:1}th[aria-sort=descending] .sort-button i:after{content:'▼'}
.unlink-list .bulk-toolbar input[type=search]{flex:1 1 150px;min-width:0;width:auto;min-height:0;padding:6px 9px;font-size:13.5px;border:1px solid #dfe2e7;border-radius:6px;order:-1}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Campos travados (operadores: função/identificação/posição na edição; posição/credencial antes de escolher a função) */
.field select:disabled,.field input:disabled{background:#f3f4f6;color:#8b929b;cursor:not-allowed;border-color:#e3e6ea}
/* Prévia da senha final (operadores): posição + credencial em destaque, ao lado da credencial de acesso */
.senha-final strong{font-family:Manrope,system-ui,sans-serif;font-size:22px;font-weight:800;letter-spacing:.14em;color:var(--ink);line-height:40px;min-height:40px}
.senha-final strong .pend{color:#c3c8cf;font-weight:600}

/* Listas: barra horizontal no topo, cabeçalho fixo ao rolar, rodapé (paginação) sempre visível; só a lista se move. */
.table-scroll{position:relative;overflow:auto;overscroll-behavior:contain;margin:0 -20px}
.table-scroll thead th{position:sticky;top:0;z-index:2;box-shadow:inset 0 -1px var(--line)}
.scroll-top{overflow-x:auto;overflow-y:hidden;height:14px;margin:0 -20px;background:#f9fafb;border-top:1px solid var(--line)}.scroll-top>div{height:1px}.scroll-top[hidden]{display:none}
.check-list-items>.scroll-top,.check-list-items .scroll-top{margin:0}
.check-list-items{position:relative}
.pagination{position:sticky;bottom:0;z-index:3;background:#fff;margin:0 -20px;padding:10px 20px;flex-wrap:wrap;gap:10px 18px;border-top:1px solid var(--line)}
.pagination .per-page{display:flex;align-items:center;margin:0}.pagination .per-page label{display:flex;align-items:center;gap:8px;font-size:13px;color:#6a7381;white-space:nowrap}.pagination .per-page select{width:auto;min-height:32px;padding:4px 8px;font-size:13px}
.pagination .actions .button{padding:6px 11px;min-height:32px;font-size:13px}
table[data-sortable] th .sort-button{font-size:12px;text-transform:none;letter-spacing:0}table[data-sortable] th.check-col{width:36px;text-align:center}
table[data-sortable] td.check-col{text-align:center}
@media(max-width:800px){.scroll-top{margin:0 -20px}}
@media print{.scroll-top{display:none!important}.table-scroll{max-height:none!important}.table-scroll thead th{position:static}.pagination{position:static}}

/* Módulos: funções habilitadas (W25) e prévia do comando */
.w25 .checks{align-items:end}.w25 .checks .field{gap:6px}.w25 .checks .field select{min-height:36px;padding:6px 10px}
.w25-preview{margin-top:16px;display:flex;flex-direction:column;gap:6px;color:#687381;font-size:15px}
.w25-preview code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--ink);background:#f8fafc;border:1px solid var(--line);border-radius:6px;padding:8px 10px;overflow-wrap:anywhere}
/* Gráficos (ECharts) e indicadores do painel */
.echart{width:100%;min-height:240px}
.echart-error{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px;border:1px dashed var(--line);border-radius:8px}
.dashboard-grid.charts{grid-template-columns:1fr 1fr;margin-bottom:22px}
.dashboard-grid.charts .panel{min-width:0}
.panel-foot{margin:12px 0 0;text-align:right}
.stat-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}
.stat-card.compact>strong{font-size:29px;margin:8px 0 10px}
.stat-card small.kpi-sub{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start}
.stat-card small.kpi-sub .ok{color:#387c62}.stat-card small.kpi-sub .bad{color:#c2655a}
.stat-card.tone-ok>strong{color:#387c62}.stat-card.tone-bad>strong{color:#c2655a}.stat-card.tone-warn>strong{color:#b8862f}.stat-card.tone-muted>strong{color:#747a84}
.kpi-ok{color:#387c62;font-weight:600}.kpi-bad{color:#c2655a;font-weight:600}
@media(max-width:1100px){.stat-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid.charts{grid-template-columns:1fr}}
@media(max-width:640px){.stat-grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Módulos: condição (novo / usado / em estoque) */
.cond{display:inline-flex;align-items:center;font-size:12.5px;color:#7a8491;background:#f0f2f5;border-radius:4px;padding:5px 8px}.cond.novo{color:#2a5db0;background:#eaf1fd}.cond.usado{color:#8a6d3b;background:#fbf4e6}.cond.estoque{color:#387c62;background:#edf7f1}
/* Logs: filtros (período, hora, MAC, busca) */
.logs-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;margin-bottom:18px}.logs-filters label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#6a7381}.logs-filters .search-label{grid-column:1/-1}.logs-filters .actions{grid-column:1/-1;flex-wrap:wrap}@media(max-width:800px){.logs-filters{grid-template-columns:1fr 1fr}}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px}
/* Credenciais no módulo (painel do cliente) */
.cred-table{margin:10px 0 18px}.cred-report{border-top:1px solid var(--line);padding:10px 0}.cred-report summary{cursor:pointer;font-size:15px}.cred-report table{margin-top:10px}
[data-report-perms] .check-list-toolbar{margin-bottom:12px}
/* 2026-10-29 (2ª leva): condição "em cliente", W25 (controle de acesso), colunas da lista de módulos, ações por linha, habilitações */
.cond.cliente{color:#a05a1c;background:#fff1e6}
.w25-access{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end;margin-bottom:16px}.w25-access .field{gap:6px}.w25-access select:disabled{opacity:.55}
td.c-pciModel,td.c-firmwareVersion,th.c-pciModel,th.c-firmwareVersion{max-width:140px;width:1%}td.c-moduleCondition,th.c-moduleCondition{width:1%}
.table-link.danger{color:#b54747}form.inline{display:inline}.row-actions form.inline{margin-left:10px}
td.c-credencial{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px}
#habilitacoes h3{margin:22px 0 14px}#habilitacoes .record-form{margin-top:10px}
@media(max-width:800px){.w25-access{grid-template-columns:1fr}}
/* Gráficos ApexCharts (motor igual ao site anterior) */
.apex-chart{width:100%;min-height:240px}.apex-chart .apexcharts-toolbar{z-index:2}.chart-scroll{overflow-x:auto}.chart-scroll .apex-chart{min-width:100%}
/* O painel fixa todo svg em 22px (ícones); os SVGs do ApexCharts usam os próprios atributos de tamanho */
.apex-chart svg,.apexcharts-canvas svg{width:auto;height:auto;flex-shrink:0}.apexcharts-canvas svg.apexcharts-svg{display:block}.apexcharts-canvas svg[width="100%"]{width:100%;height:100%}
.apexcharts-toolbar svg{width:24px;height:24px}.apexcharts-legend-marker svg{width:12px;height:12px}
/* Locadoras (2026-10-29) */
.status.pendente{color:#9a6b17;background:#fbf4e6}.stat-card small a{color:#b87440}
/* Operadores (2026-10-30): "Exibir nome no equipamento" logo após o texto de Nome completo; prefixo / sufixo / senha final em 3 colunas; habilitações no cadastro novo */
.check-inline{display:inline-flex;align-items:center;gap:6px;margin-left:14px;font-size:13px;color:#5f6975;vertical-align:middle;white-space:nowrap;font-weight:400}.check-inline input[type=checkbox]{width:15px;height:15px;min-height:15px;margin:0}
.senha-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px}.senha-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.lic-row{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:12px;align-items:end;margin:10px 0}.lic-row label{font-size:13.5px;color:#5f6975;display:flex;flex-direction:column;gap:4px;min-width:0}.lic-row input{min-width:0}.lic-row input[type=file]{padding:7px 10px}
[data-op-machines] .check-list-items{max-height:320px;overflow:auto}.op-machines-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.op-machines-grid>.field{min-width:0}.op-machines-grid .field-label{display:block;margin-bottom:6px}.op-machines-grid .check-empty{margin:8px 0;color:var(--muted);font-size:13.5px}
.check-actions{display:flex;justify-content:flex-end;margin-top:8px}.assoc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.assoc-grid>.field,.assoc-grid>form{min-width:0}.assoc-grid .field-label{display:block;margin-bottom:6px}.assoc-grid .check-empty{margin:8px 0;color:var(--muted);font-size:13.5px}.unlink-list .check-actions{padding:0 12px 10px}.check-actions .button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.op-machines-grid,.assoc-grid{grid-template-columns:1fr}}
@media(max-width:800px){.senha-grid,.lic-row{grid-template-columns:1fr}.check-inline{margin-left:0;display:flex;margin-top:4px}}
/* Logs: textos longos com "ver tudo" e janela de texto completo */
td.long-text{white-space:normal;max-width:520px}td.long-text .see-all{padding:0 4px;font-size:13px;color:var(--orange);white-space:nowrap}
.text-dialog{border:0;border-radius:11px;padding:0;width:min(960px,94vw);max-height:88vh;box-shadow:0 20px 60px #0004}.text-dialog::backdrop{background:#0006}
.text-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.text-dialog-head strong{font-size:15px}
.text-dialog pre{margin:0;padding:16px 18px;max-height:calc(88vh - 70px);overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5;background:#fafbfc}
/* ===== DashBoard (painel-dashboard.php) — tema claro, 5 visões ===== */
.dash{--c-cyan:#1486b8;--c-green:#2e9e5b;--c-amber:#d9930d;--c-rose:#d64545;--c-info:#5b6b8a}
.dash-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.dash-tabs{display:flex;gap:6px;flex-wrap:wrap}.dash-tabs a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:14px;color:#5f6975;font-weight:600}.dash-tabs a svg{width:17px;height:17px}.dash-tabs a.active{border-color:#efb486;background:#fff2e7;color:#b86c31}.dash-badge{font-size:11px;background:#eef0f3;color:#5f6975;border-radius:10px;padding:1px 7px;font-weight:700}.dash-tabs a.active .dash-badge{background:#f6d7bd;color:#9a5a24}
.dash-top-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dash-cliente label{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#5f6975}.dash-cliente select{width:auto;min-width:220px;min-height:36px;padding:6px 10px}
.dash-live{font-size:12.5px;color:#5f6975;display:inline-flex;align-items:center;gap:7px}.dash-live i{width:8px;height:8px;border-radius:50%;background:var(--c-green);box-shadow:0 0 0 3px #2e9e5b22;animation:dash-pulse 2s infinite}@keyframes dash-pulse{0%,100%{box-shadow:0 0 0 3px #2e9e5b22}50%{box-shadow:0 0 0 7px #2e9e5b11}}
.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.dash-kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.dash-kpi{background:#fff;border:1px solid var(--line);border-left:4px solid var(--kc,#ccc);border-radius:10px;padding:16px 18px;min-width:0}.dash-kpi.c-cyan{--kc:var(--c-cyan)}.dash-kpi.c-green{--kc:var(--c-green)}.dash-kpi.c-amber{--kc:var(--c-amber)}.dash-kpi.c-rose{--kc:var(--c-rose)}
.dash-kpi-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11.5px;letter-spacing:1.2px;color:#6b7684;font-weight:700;text-transform:uppercase}.dash-kpi-head svg{width:30px;height:30px;padding:6px;border-radius:8px;background:color-mix(in srgb,var(--kc) 12%,#fff);color:var(--kc)}
.dash-kpi strong{display:block;font-family:Manrope,system-ui,sans-serif;font-size:32px;font-weight:800;letter-spacing:-.03em;margin:8px 0 4px;color:var(--ink)}.dash-kpi small{display:block;font-size:12.5px;color:#7a8490;line-height:1.5}
.dash-main{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:16px;margin-bottom:16px}.dash-main>.panel{margin:0;min-width:0}.dash .panel-heading h2 svg{width:20px;height:20px;vertical-align:-4px;color:#d57832;margin-right:4px}
.dash-map-wrap{position:relative}.dash-map{height:420px;border-radius:9px;border:1px solid var(--line);background:#eef1f4}.dash-map.tall{height:480px}.dash-map-empty{position:absolute;inset:auto 12px 12px 12px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13px}
.dash-legend{position:absolute;z-index:2;top:10px;right:10px;display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:6px 10px;font-size:12.5px;color:#5f6975}.dash-legend.inline{position:static;border:0;padding:0;background:none}.dash-legend .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}.dot.ok{background:var(--c-green)}.dot.warn{background:var(--c-amber)}.dot.muted{background:#8a929c}
.dash-selected{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);margin-top:14px;padding-top:14px;font-size:14px}.dash-selected p{margin:2px 0 0;font-size:13px}.dash-selected>a{margin-left:auto;white-space:nowrap}.dash-selected-icon,.dash-eq-icon{width:40px;height:40px;border-radius:9px;background:#fff2e8;color:#d57832;display:grid;place-items:center;flex-shrink:0}.dash-selected-icon svg,.dash-eq-icon svg{width:22px;height:22px}
.pill.live{background:#fdebea;color:#b43c3c;border:1px solid #f1c2c2}
.dash-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:560px;overflow:auto}.dash-feed li{border:1px solid var(--line);border-left:4px solid #c9ced5;border-radius:8px;padding:9px 12px;background:#fafbfc}.dash-feed li.sev-alta{border-left-color:var(--c-rose)}.dash-feed li.sev-media{border-left-color:var(--c-amber)}.dash-feed li.sev-baixa{border-left-color:var(--c-cyan)}
.dash-feed-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px}.dash-tag{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:5px;background:#eef0f3;color:#44505e}.sev-alta .dash-tag{background:#fdebea;color:#b43c3c}.sev-media .dash-tag{background:#fff3dc;color:#9a6a0a}.sev-baixa .dash-tag{background:#e6f3f9;color:#1b6f94}.dash-feed time{font-size:12px;color:#8a929c;white-space:nowrap}.dash-feed strong{font-size:13.5px;display:block}.dash-feed p{margin:2px 0 0;font-size:12.5px}.dash-feed-panel .button.full{margin-top:12px;justify-content:center}
.dash-eq{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:16px}.dash-eq>.panel{margin:0;min-width:0}.dash-search{margin:0 0 10px;min-height:38px}
.dash-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:720px;overflow:auto}.dash-card{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:9px;padding:11px 13px;cursor:pointer;color:inherit;font:inherit}.dash-card:hover{border-color:#efb486}.dash-card.active{border-color:#e08a44;box-shadow:0 0 0 3px #ef762322}.dash-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;color:#7a8490}.dash-card strong{display:block;font-size:14.5px;margin-top:4px}.dash-card small{color:#7a8490;font-size:12.5px}.dash-card-foot{display:flex;justify-content:space-between;border-top:1px solid #f0f1f3;margin-top:8px;padding-top:7px;font-size:12px;color:#6b7684;font-family:ui-monospace,Menlo,Consolas,monospace}
.dash-status{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:5px;background:#eef0f3;color:#5f6975;white-space:nowrap}.dash-status.ok{background:#e7f5ec;color:#2b7a4c}.dash-status.warn{background:#fff3dc;color:#9a6a0a}.dash-status.bad{background:#fdebea;color:#b43c3c}.dash-status.info{background:#e9ecf5;color:#4a5a7a}.dash-status.muted{background:#eef0f3;color:#7a8490}
.dash-eq-head{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.dash-eq-head h2{font-size:20px}.dash-eq-head h2 .pill{margin-left:8px;vertical-align:middle}.dash-eq-head p{font-size:13px;margin-top:3px}.dash-eq-head>a{margin-left:auto;white-space:nowrap}
.dash-eq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dash-eq-grid section{border:1px solid var(--line);border-radius:9px;padding:12px 14px;background:#fafbfc}.dash-eq-grid h3{font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:#6b7684;margin-bottom:8px}
.dash-param{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px dashed #e8e9ec;font-size:13.5px;flex-wrap:wrap}.dash-param:last-child{border-bottom:0}.dash-param span{color:#5f6975}.dash-param b{color:var(--ink)}.dash-param small{flex-basis:100%;color:#8a929c;font-size:12px}
.dash-eq-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.dash-ops-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px}.dash-ops-bar label{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#5f6975}.dash-ops-bar select{width:auto;min-width:200px;min-height:36px;padding:6px 10px}.dash-ops-bar .dash-search{margin:0;flex:1;min-width:200px}.dash-ops-bar>.button{margin-left:auto}
.dash-ops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dash-op{margin:0;padding:16px 18px}.dash-op-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:10px}.dash-op-head strong{font-size:15px;display:block}.dash-op-head small{color:#7a8490;font-size:12px}.dash-avatar{width:42px;height:42px;border-radius:50%;background:#f8eee5;color:#ad6127;font-weight:800;display:grid;place-items:center;flex-shrink:0;font-size:17px}
.dash-op-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px;margin:0}.dash-op-dl dt{color:#6b7684}.dash-op-dl dd{margin:0;text-align:right;font-weight:600;color:var(--ink)}.dash-op-dl dd small{font-weight:400;color:#8a929c}.hab-ok{color:#2b7a4c!important}.hab-vence{color:#b4780a!important}.hab-vencida,.bad{color:#b43c3c!important}.hab-sem{color:#7a8490!important;font-weight:400!important}
.dash-more{text-align:center;margin:16px 0 0}
.dash-op-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:13px}
.dash-bars{display:flex;flex-direction:column;gap:14px}.dash-bar-head{display:flex;gap:10px;align-items:baseline;font-size:13px;color:#5f6975;flex-wrap:wrap}.dash-bar-head strong{font-size:14px;color:var(--ink)}.dash-bar-vals{margin-left:auto}.dash-bar-vals b{color:var(--ink)}.dash-bar-vals b.ok{color:#2b7a4c}.dash-bar-vals b.warn{color:#b4780a}.dash-bar-track{display:flex;height:12px;border-radius:6px;background:#eef0f3;overflow:hidden;margin-top:6px}.dash-bar-track i{display:block;height:100%}.dash-bar-track i.ok{background:var(--c-cyan)}.dash-bar-track i.warn{background:var(--c-amber)}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace}td.ok{color:#2b7a4c}
.dash-traj-foot{display:flex;gap:24px;flex-wrap:wrap;margin-top:12px;font-size:13.5px;color:#5f6975}.dash-traj-foot b{color:#c3661a}.dash-traj-pt{display:block;width:10px;height:10px;border-radius:50%;background:#ef7623;border:2px solid #fff;box-shadow:0 0 0 1px #c3661a}.dash-traj-pt.ini{background:var(--c-cyan);width:14px;height:14px}.dash-traj-pt.fim{background:var(--c-green);width:14px;height:14px}
@media(max-width:1200px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-ops{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.dash-main,.dash-eq,.dash-eq-grid{grid-template-columns:1fr}.dash-kpis.three{grid-template-columns:1fr}.dash-ops{grid-template-columns:1fr}.dash-map{height:320px}}
.dash-periodo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-6px 0 16px}.dash-periodo>span{font-size:13.5px;color:#5f6975;margin-right:4px}.dash-periodo .button{min-height:34px;padding:6px 14px;font-size:13.5px}.dash-periodo small{color:#8a929c;font-size:12.5px;margin-left:6px}
