:root{--navy:#061d57;--blue:#0b3d91;--orange:#ff4b16;--green:#087a35;--paper:#f4f7fb;--ink:#10213f;--muted:#66738b;--line:#dce3ee}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}header{background:linear-gradient(125deg,var(--navy),var(--blue));color:#fff;padding:34px max(24px,calc((100% - 1320px)/2));display:flex;justify-content:space-between;align-items:center;gap:24px}h1{font-size:34px;margin:3px 0}header p{margin:0;color:#dbe8ff}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:#ffcfbf}main{max-width:1320px;margin:auto;padding:24px}.actions,.filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.actions span{margin-left:auto;color:var(--muted)}button{border:0;border-radius:10px;padding:11px 17px;background:var(--orange);color:white;font-weight:750;cursor:pointer}button:hover{filter:brightness(.96)}button.secondary{background:white;color:var(--navy)}button.ghost{background:#e8edf6;color:var(--navy)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;padding:11px 12px;font:inherit;color:inherit}.filters input{min-width:280px;flex:1}.filters select{width:auto;min-width:170px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}.metric b{display:block;font-size:25px;color:var(--navy)}.metric span{color:var(--muted)}.cards{display:grid;gap:14px}.lead{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;display:grid;grid-template-columns:1.1fr 1.25fr .8fr;gap:18px;box-shadow:0 3px 12px #16345a0b}.lead h3{margin:0 0 4px;font-size:19px}.muted{color:var(--muted)}.tag{display:inline-flex;padding:4px 8px;border-radius:99px;background:#edf2fb;color:var(--blue);font-size:12px;font-weight:700;margin-top:8px}.offer{border-left:4px solid var(--green);padding-left:14px}.offer strong{font-size:19px;color:var(--green)}.offer .money{font-size:24px;font-weight:850}.warning{color:#a23e12;font-weight:700}.lead-actions{display:flex;flex-direction:column;gap:8px}.lead-actions select{padding:9px}.whatsapp{background:#168c45;text-align:center;text-decoration:none;color:#fff;border-radius:10px;padding:11px 12px;font-weight:800}.small{padding:8px 10px;font-size:13px}.negotiation{margin-top:8px;padding:8px;background:#fff6ea;border-radius:8px;font-size:13px}.empty{text-align:center;padding:70px 20px;background:#fff;border:1px dashed #b9c4d5;border-radius:16px;color:var(--muted)}dialog{border:0;border-radius:18px;padding:0;box-shadow:0 24px 90px #00183c55;max-width:620px;width:calc(100% - 30px)}dialog::backdrop{background:#04122c99}dialog form{padding:26px;position:relative}dialog h2{margin-top:0}label{display:block;font-weight:700;margin:14px 0}label input,label textarea{margin-top:6px;font-weight:400}.close{position:absolute;right:14px;top:12px;background:transparent;color:var(--muted);font-size:25px;padding:3px 9px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}#toast{position:fixed;right:22px;bottom:22px;background:#10213f;color:#fff;padding:13px 17px;border-radius:10px;display:none;max-width:420px}.campaign-results{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:18px}.campaign-results h2{margin:0 0 4px;font-size:21px}.result-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.result-card{background:#f3f7fd;border-radius:11px;padding:13px}.result-card b{display:block;color:var(--navy);font-size:22px}.result-card.gain{background:#edf9f1}.result-card.gain b{color:var(--green)}.status-counters{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.status-counter{background:#eef2f8;color:var(--navy);padding:10px;text-align:left}.status-counter.aggregate{background:#e5f6eb;border:1px solid #b9e0c8}.status-counter.aggregate b{color:var(--green)}.status-counter b{display:block;font-size:19px}.status-counter span{font-size:12px;font-weight:650;color:var(--muted)}.app-nav{max-width:1320px;margin:0 auto;padding:14px 24px 0;display:flex;gap:8px;overflow-x:auto}.nav-tab{white-space:nowrap}.nav-tab.active{background:var(--navy);color:#fff}.app-page[hidden]{display:none}.module-hero{background:linear-gradient(110deg,#fff,#eef4ff);border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:15px;padding:20px;margin-bottom:18px}.module-hero.compact{padding:15px 20px}.module-hero h2{margin:0 0 4px}.module-hero p{margin:0;color:var(--muted)}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.module-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.module-card h3{margin-top:0}.safe-notice{padding:14px 17px;background:#edf9f1;border:1px solid #b9e0c8;border-radius:12px;margin-bottom:16px}.coming-next{margin-top:18px;padding:18px;text-align:center;background:#fff6ea;border:1px solid #f4d7fb;border-radius:12px;color:#8a4a12;font-weight:700}.finance-chart{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;margin-bottom:18px}.finance-chart h3{margin:0}.chart-legend{display:flex;gap:18px;color:var(--muted);margin:8px 0}.income-dot:before,.expense-dot:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.income-dot:before{background:#159447}.expense-dot:before{background:#ef6a3a}.bar-chart{height:260px;display:flex;align-items:flex-end;gap:9px;border-bottom:1px solid var(--line);padding-top:15px;overflow-x:auto}.month-bars{height:100%;min-width:66px;display:flex;align-items:flex-end;justify-content:center;gap:5px;position:relative;padding-bottom:28px}.month-bars .bar{width:20px;min-height:2px;border-radius:5px 5px 0 0}.bar.income{background:#159447}.bar.expense{background:#ef6a3a}.month-bars small{position:absolute;bottom:5px;left:0;right:0;text-align:center;color:var(--muted)}.account-list{display:grid;gap:7px}.account-row{display:flex;justify-content:space-between;padding:8px;background:#f4f7fb;border-radius:8px}@media(max-width:850px){.module-grid{grid-template-columns:1fr}.metrics,.result-summary{grid-template-columns:1fr 1fr}.status-counters{grid-template-columns:repeat(3,1fr)}.lead{grid-template-columns:1fr}.actions span{width:100%;margin:0}}@media(max-width:500px){header{align-items:flex-start;flex-direction:column}.metrics,.result-summary,.status-counters{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}main{padding:15px}}.client-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;display:grid;grid-template-columns:1.5fr 1fr .62fr;gap:18px;box-shadow:0 3px 12px #16345a0b}.client-card h3{margin:0 0 4px;font-size:19px}.client-main{display:grid;gap:13px}.client-plan{background:#f4f7fb;border-radius:10px;padding:10px 12px}.client-plan ul{margin:5px 0 0;padding-left:18px}.client-plan li{margin:3px 0}.client-billing{border-left:4px solid var(--orange);padding-left:14px}.client-billing p{color:var(--muted);line-height:1.6}.tag-good{background:#edf9f1;color:var(--green)}.tag-danger{background:#fff0eb;color:#b43b16}.detail-line{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}#clientsSearch{min-width:260px}@media(max-width:850px){.client-card{grid-template-columns:1fr}.client-billing{border-left:0;border-top:4px solid var(--orange);padding:12px 0 0}}
.tech-request-panel{display:none;margin-bottom:18px}.technician-view .tech-request-panel{display:block}.technician-view #schedulePage .schedule-grid{display:none!important}.technician-view #schedulePage .admin-only{display:none!important}
.login-message{min-height:20px;color:#9d2d24;font-weight:800}
.login-locked header,.login-locked .app-nav,.login-locked main{pointer-events:none;user-select:none;visibility:hidden}
.login-locked #loginDialog,.login-locked #loginDialog *{pointer-events:auto;user-select:auto;filter:none}
.approval-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid #f5d48a;background:#fff9e8;border-radius:10px;padding:10px;margin-bottom:8px}.approval-row p{margin:0}.approval-row small{color:var(--muted)}.approval-row div{display:flex;gap:6px;flex-wrap:wrap}
.approval-row.approved-row{border-color:#d8e2f0;background:#f7fbff}
.balance-row{display:grid;grid-template-columns:1fr repeat(5,minmax(86px,120px));gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;background:#f8fbff;padding:12px;margin-top:10px}.balance-row b{display:flex;align-items:center;gap:8px;color:var(--navy)}.balance-row small{display:block;color:var(--muted)}.balance-row span{text-align:center;background:#fff;border:1px solid #edf2fb;border-radius:10px;padding:8px}.balance-row span strong{display:block;font-size:20px;color:var(--navy)}.balance-row.debt{border-color:#ffd6c7;background:#fff7f3}.balance-row.debt>div small{color:#a23e12;font-weight:700}.balance-row.credit{border-color:#b9e0c8;background:#f2fbf5}.balance-row.ok{border-color:#d8e2f0}@media(max-width:850px){.balance-row{grid-template-columns:1fr 1fr}.balance-row>div{grid-column:1/-1}.balance-row span{text-align:left}}
.compensation-metric{padding:18px;display:grid;gap:12px}.comp-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.comp-card-head b{font-size:23px}.comp-status{border-radius:999px;padding:5px 10px;font-size:12px;font-weight:850;letter-spacing:.04em}.compensation-metric.is-ok .comp-status{background:#e5f6eb;color:#087a35}.compensation-metric.has-debt .comp-status{background:#fff0eb;color:#b43b16}.comp-primary{display:flex;align-items:baseline;gap:8px}.comp-primary strong{font-size:34px;line-height:1;color:var(--navy)}.comp-primary span{font-size:15px;color:var(--ink)}.comp-month-split{display:flex;gap:8px;flex-wrap:wrap}.comp-month-split span{background:#f0f4fa;color:var(--ink);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.comp-month-split span:last-child{background:#fff0eb;color:#a23e12}.comp-history{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.comp-history span{font-size:13px;color:var(--muted)}.comp-history strong{color:var(--navy);font-size:16px}.compensation-metric>small{color:var(--muted)}

.technician-view #schedulePage .approval-row button{display:none!important}

.statement-upload{display:none!important}

.service-agenda-card{margin-bottom:22px;padding:22px;overflow:hidden}.service-agenda-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.service-agenda-title h3{margin:0 0 4px;font-size:23px}.service-agenda-title p{margin:0}.agenda-day-nav{display:flex;align-items:center;gap:7px}.agenda-day-nav input{width:165px}.agenda-day-nav button{padding:10px 13px}.service-agenda-grid{display:grid;grid-template-columns:110px repeat(var(--agenda-techs),minmax(260px,1fr));min-width:calc(110px + var(--agenda-techs) * 260px);border:1px solid #cbd7e7;border-radius:14px;overflow:hidden}.agenda-corner,.agenda-tech-head{background:#eef4fc;border-right:1px solid #cbd7e7;border-bottom:1px solid #cbd7e7;padding:15px;min-height:88px}.agenda-corner{display:grid;place-items:center;font-weight:800;color:var(--navy)}.agenda-tech-head{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-content:center}.agenda-tech-head b{font-size:18px;color:var(--navy)}.agenda-tech-head small{grid-column:2;color:var(--muted);font-weight:650}.agenda-time{min-height:165px;padding:18px 12px;background:#f7f9fc;border-right:1px solid #cbd7e7;border-bottom:1px solid #cbd7e7;text-align:center}.agenda-time b{display:block;font-size:20px;color:var(--navy)}.agenda-time span{font-size:12px;color:var(--muted)}.agenda-slot{min-height:165px;padding:10px;border-right:1px solid #cbd7e7;border-bottom:1px solid #cbd7e7;background:#fff;display:flex;flex-direction:column;gap:9px}.add-service-order{min-height:44px;background:#f1f5fb;color:var(--blue);border:1px dashed #9db2d0}.agenda-empty{margin:auto;color:var(--muted);font-size:13px}.service-order-card{position:relative;display:grid;gap:3px;text-align:left;border-radius:11px;padding:12px 12px 11px 43px;color:#10213f;border:2px solid transparent;box-shadow:none}.service-order-card:hover{filter:brightness(.98)}.service-order-card:disabled{opacity:1;cursor:default}.service-order-card.lancada{background:#e9f2ff;border-color:#3b82f6}.service-order-card.concluida{background:#e8f8ee;border-color:#22a454}.service-order-card.atrasada{background:#fff7d6;border-color:#f59e0b}.service-order-card b{font-size:15px}.service-order-card small{line-height:1.3}.service-order-card em{font-style:normal;font-size:11px;text-transform:uppercase;font-weight:900;margin-top:3px}.order-sequence{position:absolute;left:9px;top:10px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);font-weight:900}.order-points{position:absolute;right:8px;top:8px;background:#fff;border-radius:99px;padding:2px 6px;font-size:11px;font-weight:850}.order-summary{display:grid;gap:6px;background:#f3f7fd;border-radius:12px;padding:15px;margin:12px 0}.order-summary p{margin:0}.completion-note{margin-top:8px;background:#e8f8ee;border-left:4px solid #22a454;padding:11px}.completion-note p{margin-top:5px}.technician-view .service-agenda-card{display:block!important}.technician-view .service-agenda-title{display:flex!important}@media(max-width:850px){.service-agenda-title{flex-direction:column}.agenda-day-nav{width:100%;flex-wrap:wrap}#serviceAgenda{overflow-x:auto}.service-agenda-card{padding:15px}}

.monthly-service-calendar{overflow:hidden}.calendar-scroll{overflow-x:auto;padding-bottom:12px}.monthly-service-calendar .calendar-weekdays,.monthly-service-calendar .schedule-calendar{grid-template-columns:repeat(7,minmax(330px,1fr));min-width:2310px}.monthly-service-calendar .calendar-cell{min-height:690px;padding:10px;align-content:start}.monthly-service-calendar .empty-cell{background:#f7f9fc;min-height:690px}.monthly-service-calendar .calendar-day{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;padding:8px 10px}.monthly-service-calendar .calendar-day>b{font-size:25px}.monthly-service-calendar .calendar-day>span{text-align:right}.day-note{grid-column:1/-1;color:#7a5b00;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-swap{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;font-size:11px;margin:6px 0}.compact-swap select{padding:5px 7px;font-size:11px}.day-mini-agenda{display:grid;grid-template-columns:42px repeat(var(--day-techs),minmax(78px,1fr));border:1px solid #d7e0ec;border-radius:9px;overflow:hidden;margin-top:8px;background:#fff}.mini-corner,.mini-tech,.mini-hour,.mini-agenda-slot{border-right:1px solid #d7e0ec;border-bottom:1px solid #d7e0ec;min-height:42px}.mini-corner,.mini-tech{display:grid;place-items:center;background:#eef3f9;font-size:10px;padding:4px}.mini-tech{border-top:4px solid var(--tech-color);color:var(--navy);overflow:hidden}.mini-hour{display:grid;place-items:center;background:#f7f9fc;font-size:10px;font-weight:800;color:var(--muted)}.mini-agenda-slot.agenda-slot{min-height:54px;padding:3px;gap:3px;background:#fff}.mini-add.add-service-order{min-height:22px;padding:1px 4px;border-radius:5px;background:#f4f7fb;color:#315f9c;font-size:14px}.mini-order.service-order-card{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:3px;width:100%;min-height:28px;padding:3px 4px;border-width:1px;border-radius:5px;font-size:9px}.mini-order.service-order-card span{width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:#fff;font-weight:900}.mini-order.service-order-card b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-order.service-order-card small{font-size:8px;font-weight:900}.day-no-team{padding:18px 8px;text-align:center;color:var(--muted);font-size:12px}.monthly-service-calendar .availability-split{margin-top:6px}.monthly-service-calendar .availability-split span{font-size:10px;padding:7px 3px}.technician-view .monthly-service-calendar{display:block!important}@media(max-width:850px){.monthly-service-calendar .calendar-weekdays,.monthly-service-calendar .schedule-calendar{grid-template-columns:repeat(7,minmax(300px,1fr));min-width:2100px}}
/* Agenda diária em lista: um dia por linha, sem rolagem horizontal. */
.monthly-service-calendar .calendar-scroll{overflow:visible;padding-bottom:0}
.monthly-service-calendar .calendar-weekdays{display:none}
.monthly-service-calendar .schedule-calendar{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:16px}
.monthly-service-calendar .empty-cell{display:none}
.monthly-service-calendar .calendar-cell{width:100%;min-width:0;min-height:0;padding:12px}
.monthly-service-calendar .calendar-day{grid-template-columns:auto auto 1fr;gap:8px 12px}
.monthly-service-calendar .calendar-day>span{text-align:left}
.monthly-service-calendar .day-note{grid-column:auto;text-align:right}
.monthly-service-calendar .day-mini-agenda{grid-template-columns:56px repeat(var(--day-techs),minmax(0,1fr))}
.monthly-service-calendar .mini-corner,.monthly-service-calendar .mini-tech{font-size:12px}
.monthly-service-calendar .mini-hour{font-size:11px}
.monthly-service-calendar .mini-agenda-slot.agenda-slot{min-width:0}
@media(max-width:600px){
  .monthly-service-calendar .calendar-cell{padding:8px}
  .monthly-service-calendar .calendar-day{grid-template-columns:auto 1fr}
  .monthly-service-calendar .day-note{grid-column:1/-1;text-align:left;white-space:normal}
  .monthly-service-calendar .day-mini-agenda{grid-template-columns:44px repeat(var(--day-techs),minmax(0,1fr))}
  .monthly-service-calendar .mini-corner,.monthly-service-calendar .mini-tech{font-size:10px;padding:3px 1px}
}
.tech-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0;padding:9px;background:#eef5ff;border-radius:10px}
.tech-points span{display:grid;gap:2px;font-size:11px;line-height:1.25;color:var(--muted)}
.tech-points strong{font-size:22px;color:var(--navy)}
@media(max-width:600px){.tech-points{grid-template-columns:1fr}.tech-points span{grid-template-columns:36px 1fr;align-items:center}.tech-points strong{font-size:19px}}
#serviceOrderDialog{max-height:94dvh;overflow:hidden}
#serviceOrderDialog form{max-height:94dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:90px}
#serviceOrderDialog .dialog-actions{position:sticky;bottom:0;z-index:3;background:#fff;border-top:1px solid var(--line);padding:12px 0 4px;flex-wrap:wrap}
@media(max-width:600px){#serviceOrderDialog{width:calc(100% - 16px);max-height:96dvh}#serviceOrderDialog form{padding:20px 16px 24px;max-height:96dvh}#serviceOrderDialog .dialog-actions button{flex:1 1 135px}.close{z-index:5;min-width:44px;min-height:44px}}
.service-order-proof{display:grid;gap:10px;margin:14px 0;padding:14px;border:1px solid #cbd7e7;border-radius:12px;background:#f7f9fc}.service-order-proof small{color:var(--muted)}.photo-upload-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 14px;border-radius:9px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}.photo-upload-button input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}#serviceOrderPhotoPreview{display:grid;gap:7px}#serviceOrderPhotoPreview img,.completion-photo img{display:block;width:min(100%,520px);max-height:360px;object-fit:contain;border-radius:10px;background:#dfe7f2}.completion-photo{display:grid;gap:7px;margin-top:10px;color:var(--blue);font-weight:800}.completion-photo img{max-height:420px}
.service-order-proof[hidden]{display:none!important}
.light-camera{display:grid;gap:9px;padding:9px;border-radius:10px;background:#101827}.light-camera[hidden]{display:none!important}.light-camera video{display:block;width:100%;max-height:55dvh;object-fit:contain;border-radius:8px;background:#000}.light-camera>div{display:flex;gap:8px;flex-wrap:wrap}.light-camera button{flex:1 1 180px}
.service-order-card[draggable="true"]{cursor:grab}.service-order-card[draggable="true"]:active{cursor:grabbing}.service-order-card.dragging{opacity:.55;outline:2px dashed var(--blue)}.agenda-slot.drop-target{background:#eaf4ff!important;box-shadow:inset 0 0 0 2px #3b82f6}.agenda-slot.drop-target .add-service-order{background:#dbeafe;border-color:#3b82f6}
.tech-sales-card{display:grid;gap:14px}.sales-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.sales-head h3{margin-bottom:4px}.commission-rules{background:#fff6ea;border:1px solid #f0d2a8;border-radius:12px;padding:12px;color:#7a3b00;font-weight:650}.addon-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px;margin-top:8px}.sale-total-preview{display:flex;gap:12px;align-items:center;background:#edf9f1;border:1px solid #b9e0c8;border-radius:12px;padding:12px;margin:12px 0}.sale-total-preview b{font-size:22px;color:var(--green)}.tech-sales-summary{border:1px solid var(--line);border-radius:14px;padding:14px;background:#f8fbff;margin-top:12px}.tech-sales-summary h4{margin:0 0 10px;color:var(--navy)}.sales-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.sales-metrics span{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--muted);font-size:12px}.sales-metrics b{display:block;color:var(--navy);font-size:18px}.sales-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}.sales-table th,.sales-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.sales-table small{display:block;color:var(--muted);margin-top:3px}.link-button{background:transparent;color:var(--blue);padding:0;border-radius:0;text-align:left}.link-button:hover{text-decoration:underline;filter:none}@media(max-width:850px){.sales-head{flex-direction:column}.sales-metrics,.addon-grid{grid-template-columns:1fr}.sale-total-preview{align-items:flex-start;flex-direction:column}.sales-table{font-size:13px}}
.service-order-card.atendimento{background:#f3e8ff;border-color:#8b5cf6}.service-order-card.atendimento em{color:#5b21b6}.service-order-card.reagendar{background:#f6eadf;border-color:#92400e}.service-order-card.reagendar em{color:#78350f}.mini-order.reagendar{background:#f6eadf!important;border-color:#92400e!important}.active-note{background:#f3e8ff;border-left-color:#8b5cf6}.incomplete-note{background:#f6eadf;border-left-color:#92400e}
.service-order-card.remarcacao{background:#fff7d6;border-color:#f59e0b}.service-order-card.remarcacao em{color:#8a4a12}.mini-order.remarcacao{background:#fff7d6!important;border-color:#f59e0b!important}
.schedule-back-top{position:sticky;top:12px;z-index:20;margin:0 0 12px auto;display:block;box-shadow:0 8px 24px #061d5722}.today-scroll-highlight{outline:4px solid #ffb703!important;box-shadow:0 0 0 6px #ffb70333!important}



.tech-suggestion{display:grid;gap:5px;margin:-4px 0 12px;padding:12px 14px;border-radius:12px;background:#eef6ff;border:1px solid #b7d7ff;color:#0b2a5b}.tech-suggestion b{color:var(--navy)}.tech-suggestion span{font-size:13px;color:#46617f}.tech-suggestion button{justify-self:start;margin-top:4px}.score-breakdown{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:8px;margin:10px 0}.score-breakdown span{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px;color:var(--muted);font-size:12px}.score-breakdown b{color:var(--navy)}.score-losses{background:#fff0ed;border:1px solid #f2b0a6;border-radius:12px;padding:10px 12px;margin:10px 0}.score-losses ul{margin:6px 0 0;padding-left:18px}.score-losses li{margin:4px 0;color:#7f1d1d}@media(max-width:850px){.score-breakdown{grid-template-columns:1fr}}

.service-order-conflict{display:grid;gap:8px;margin:0 0 12px;padding:12px 14px;border-radius:12px;background:#fff0ed;border:1px solid #f2b0a6;color:#7f1d1d}.service-order-conflict[hidden]{display:none!important}.service-order-conflict b{color:#9f2416}.service-order-conflict span{font-size:13px;line-height:1.4}.service-order-conflict div{display:flex;gap:8px;flex-wrap:wrap}.service-order-conflict .small{padding:8px 10px;font-size:12px}

.score-rules{background:#eef6ff;border:1px solid #b7d7ff;border-radius:12px;padding:14px;color:#10213f}.score-rules h4{margin:0 0 10px;color:var(--navy)}.score-rules div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.score-rules span{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px;font-size:13px}.score-rules b{display:block;color:var(--navy)}.score-rules ul{margin:8px 0 0;padding-left:20px}.score-rules li{margin:4px 0}.score-rules p{margin:10px 0 0;font-weight:800;color:#7a3b00}@media(max-width:850px){.score-rules div{grid-template-columns:1fr}}

.service-order-card.incomplete-data{box-shadow:0 0 0 2px rgba(239,68,68,.35) inset}
.service-order-card .missing-info{color:#991b1b;font-weight:800}
.order-summary b{color:#05164f}


#toast{z-index:2147483647;box-shadow:0 18px 55px #0008;font-weight:850}
#toast.toast-error{right:24px;top:24px;bottom:auto;max-width:min(560px,calc(100% - 48px));font-size:18px;padding:18px 22px;border:3px solid #fff}
.dialog-toast{position:absolute;top:16px;left:20px;right:20px;z-index:30;display:none;padding:16px 20px;border-radius:12px;color:#fff;box-shadow:0 18px 55px #0008;font-size:16px;font-weight:850;line-height:1.4;pointer-events:none}
.dialog-toast.toast-error{border:3px solid #fff;font-size:18px}
.order-audit{background:#eef6ff;border:1px solid #b7d7ff;border-radius:10px;padding:10px 13px;margin:10px 0;color:#10213f;font-size:13px}.order-audit span{display:block}.order-audit-history{margin:5px 0 0;padding-left:18px}.order-audit-history li{margin:3px 0}
.maintenance-extension{background:#fff9e8;border:1px solid #e9ca70;border-radius:11px;padding:13px 15px;margin:14px 0;display:grid;gap:8px}.maintenance-extension[hidden]{display:none}.maintenance-extension p{margin:0}.maintenance-extension button{justify-self:start}.maintenance-extension small{font-weight:700;color:#76530e}
.agenda-slot.covered-slot,.mini-agenda-slot.covered-slot{background:#f8fafc}
.agenda-slot.blocked-slot,.mini-agenda-slot.blocked-slot{background:#eef1f5}
.agenda-slot.covered-slot .agenda-empty{color:#64748b;font-weight:800;text-align:center}
.mini-blocked{display:grid;place-items:center;height:100%;min-height:22px;color:#64748b;font-size:9px;font-weight:900;text-transform:uppercase}

.client-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.client-tab{border:1px solid #d7e0ef;background:#eef4ff;color:#0b2454;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.client-tab.active{background:#10213f;color:#fff;border-color:#10213f}.client-tab-pane{border:1px solid #e4e9f2;border-radius:14px;padding:14px;background:#fff}.client-tab-pane[hidden]{display:none}.client-history-list{display:grid;gap:10px}.client-history-item{border:1px solid #e4e9f2;border-radius:12px;padding:12px;background:#f8fbff}.client-history-item div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.client-history-item span,.client-history-item small{color:#52627a}.client-history-item p{margin:8px 0 4px}.client-history-item small{display:block;line-height:1.45}

.service-order-card.deslocamento{background:#dcfdfa;border-color:#14b8a6}.service-order-card.deslocamento em{color:#0f766e}.mini-order.deslocamento{background:#dcfdfa!important;border-color:#14b8a6!important}.travel-note{background:#dcfdfa;border-left-color:#14b8a6}

.service-order-card.remarcada-manual{background:#fee2e2;border-color:#dc2626}.service-order-card.remarcada-manual em{color:#991b1b}.mini-order.remarcada-manual{background:#fee2e2!important;border-color:#dc2626!important}

.service-order-card .order-live-timer{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;background:#ffffffcc;border:1px solid #93c5fd;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:900;color:#0b2454}.order-live-timer.warning{background:#fff7d6;border-color:#f59e0b;color:#8a4a12}.order-live-timer.urgent{background:#fee2e2;border-color:#dc2626;color:#991b1b}.order-live-timer.compact{grid-column:1/-1;font-size:8px;padding:1px 4px;white-space:nowrap}.completion-note .order-live-timer{margin:6px 0;display:inline-flex}

.tech-points-wide { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
.network-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:12px; }
.network-map-frame { width:100%; min-height:520px; border:1px solid #d8e2f0; border-radius:18px; background:#eef4ff; }
.network-list { display:grid; gap:10px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.network-list > div { border:1px solid #d8e2f0; border-radius:14px; padding:12px; background:#f8fbff; }
.network-list small { display:block; color:#516080; margin-top:4px; }
.network-list p { margin:8px 0 0; color:#516080; }
@media (max-width: 760px) { .network-map-frame { min-height:360px; } }


.network-own-map{height:520px;border:1px solid #d8e3f5;border-radius:18px;overflow:hidden;margin:16px 0;background:#eef4ff}.network-own-map .empty{height:100%;display:grid;place-content:center;text-align:center;padding:24px}.network-own-map .leaflet-popup-content{font-family:inherit;color:#06194a;line-height:1.4}.network-list div small+small{margin-top:4px}

.network-dot{display:inline-block;width:11px;height:11px;border-radius:999px;margin-right:8px;vertical-align:-1px;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(15,23,42,.12)}

.network-popup-customers{margin:.4rem 0 0 1.1rem;padding:0;max-height:180px;overflow:auto}.network-popup-customers li{margin:.25rem 0;line-height:1.25}.network-popup-customers small{color:#5d6d86}


.network-map-legend{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 8px;color:#52627a;font-size:13px}.network-map-legend span{display:inline-flex;align-items:center;gap:5px;background:#f8fafc;border:1px solid #d8e1ef;border-radius:999px;padding:5px 8px}.network-map-legend i{width:11px;height:11px;border-radius:999px;display:inline-block}

.network-port-test{border:1px solid #d8e3f5;border-radius:16px;background:#f8fbff;padding:14px;margin:14px 0}.network-port-test h3{margin:0 0 6px}.network-test-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:10px 0}.network-test-controls label{min-width:240px;max-width:420px;flex:1}.network-test-panel{display:grid;gap:10px}.network-test-live,.network-test-history>div{border:1px solid #d8e3f5;border-radius:14px;background:#fff;padding:12px}.network-test-live{border-color:#2563eb;box-shadow:0 10px 30px #2563eb18}.network-test-live span,.network-test-history small{display:block;color:#516080;margin-top:4px}.network-test-panel ul{margin:8px 0 0 18px;padding:0}.network-test-panel li.confirmed{color:#087a35;font-weight:800}.network-test-history{display:grid;gap:8px}.network-test-history>b{margin-top:4px}
.network-test-live.reconnect-now{border-color:#ff4b16;background:#fff7ed;box-shadow:0 14px 35px #ff4b1624}.network-test-live.reconnect-now strong{display:block;color:#9d2d24;font-size:20px;margin:6px 0}.network-test-clock{display:inline-flex;align-items:center;justify-content:center;min-width:74px;height:44px;border-radius:999px;background:#10213f;color:#fff!important;font-size:24px;font-weight:900;margin:8px 0}.network-test-live strong{display:block;color:#10213f;margin:6px 0}
.tech-person-marker div{width:34px;height:34px;border-radius:999px;background:var(--tech-color);border:3px solid #fff;box-shadow:0 8px 22px #0005;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1}.tech-person-marker{background:transparent;border:0}
.service-order-card.executada-real{background:#ecfeff;border-color:#0891b2}.service-order-card.executada-real em{color:#155e75}.mini-order.executada-real{background:#ecfeff!important;border-color:#0891b2!important}.moved-placeholder,.mini-moved-placeholder{background:#e5e7eb!important;border-color:#94a3b8!important;color:#475569!important;box-shadow:none!important;cursor:pointer}.moved-placeholder{padding:10px 12px!important;border-style:dashed!important}.moved-placeholder b{font-size:13px}.moved-placeholder small{font-size:12px}.mini-moved-placeholder{display:grid!important;grid-template-columns:1fr!important;min-height:24px!important;padding:3px 5px!important;border-width:1px!important;border-style:dashed!important;border-radius:5px!important;font-size:8px!important;text-align:left!important}.mini-moved-placeholder b{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-moved-placeholder small{font-size:7px}.agenda-slot:has(.moved-placeholder),.mini-agenda-slot:has(.mini-moved-placeholder){background:#f1f5f9!important}
.network-route-info{margin:8px 0;padding:8px 10px;border-radius:10px;background:#eef8f6;color:#0f766e;font-weight:800}.network-route-info b{font-size:15px}.leaflet-popup-content .network-route-info{line-height:1.35}

.agenda-slot{position:relative}.agenda-now-line,.mini-now-line{position:absolute;left:6px;right:6px;top:50%;border-top:2px dashed #ef4444;z-index:4;pointer-events:none}.agenda-now-line::after{content:'agora';position:absolute;right:0;top:-18px;background:#ef4444;color:#fff;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:900}.mini-now-line{left:3px;right:3px;border-top-width:1px}.missed-start-warning{color:#92400e!important;font-weight:900}.mini-missed-label{grid-column:1/-1;color:#92400e!important;font-size:7px!important;font-style:normal!important;text-transform:none!important}.attempt-photo img{max-height:220px}


#serviceOrderDialog{max-width:min(980px,calc(100% - 28px));width:min(980px,calc(100% - 28px))}
.service-history{background:#eef4ff;border:1px solid #c7d7f2;border-radius:14px;padding:14px;margin:0 0 16px}
.service-history summary{cursor:pointer;margin-bottom:8px}
.service-history h4{margin:10px 0 8px;color:#05164f;font-size:16px}
.attempt-feature{background:#fff;border:1px solid #d7e0ec;border-radius:12px;padding:12px;margin:10px 0}
.attempt-feature.current-attempt{background:#f8fbff}
.attempt-card{display:grid;gap:9px;background:#fff;border:1px solid #d7e0ec;border-left:5px solid #94a3b8;border-radius:12px;padding:12px;margin:9px 0}
.attempt-card header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.attempt-card header div{display:grid;gap:2px}
.attempt-card header span,.attempt-card small{color:#5f6f8a;font-size:13px}
.attempt-card em{font-style:normal;font-weight:900;border-radius:999px;padding:4px 8px;background:#eef2f7;color:#334155;font-size:12px;white-space:nowrap}
.attempt-card.done{border-left-color:#22a454}
.attempt-card.failed{border-left-color:#92400e;background:#fffaf3}
.attempt-card.current{border-left-color:#3b82f6}
.attempt-card.remap{border-left-color:#64748b;background:#f8fafc}
.attempt-report,.attempt-reason{background:#f7f9fc;border-radius:10px;padding:10px}
.attempt-reason{background:#fff7df}
.attempt-report b,.attempt-reason b{display:block;color:#05164f;margin-bottom:4px}
.attempt-report p,.attempt-reason p{margin:0;white-space:pre-wrap}
.attempt-photo-meta{display:grid;gap:2px}
.attempt-photo-meta small{display:block}
.attempt-card.compact .completion-photo img{max-height:280px}
.attempt-card.compact{margin-bottom:0}
@media(max-width:850px){.attempt-card header{display:grid}.attempt-card em{justify-self:start}}
@media(max-width:600px){#serviceOrderDialog{width:calc(100% - 16px);max-width:calc(100% - 16px)}}

.attempt-card header{background:#0f3b8f;color:#fff;border-radius:10px;padding:14px 16px;margin:-12px -12px 2px}
.attempt-card header b,.service-history .attempt-card header b{color:#fff}
.attempt-card header span,.service-history .attempt-card header span{color:#dbeafe}
.attempt-card header em{background:#edf5ff;color:#10213f}
.attempt-card.failed header{background:#8a3b0d}
.attempt-card.current header{background:#1557b0}
.attempt-card.remap header{background:#475569}

.agenda-now-map{position:absolute;right:48px;top:calc(50% - 17px);z-index:6;min-height:30px;padding:5px 10px;border-radius:999px;background:#0f3b8f;color:#fff;border:2px solid #fff;box-shadow:0 6px 18px #10213f33;font-size:12px;font-weight:900;line-height:1;white-space:nowrap}
.agenda-now-map:hover{filter:brightness(1.05);transform:translateY(-1px)}
.agenda-slot.blocked-slot .agenda-now-map,.agenda-slot.covered-slot .agenda-now-map{background:#10213f}
@media(max-width:700px){.agenda-now-map{right:38px;padding:5px 8px;font-size:11px}}

.agenda-tech-map{grid-column:2;justify-self:start;margin-top:6px;min-height:30px;padding:6px 10px;border-radius:999px;background:#0f3b8f;color:#fff;font-size:12px;font-weight:900;box-shadow:0 6px 16px #10213f22}
.agenda-tech-map:hover{filter:brightness(1.06)}

.agenda-now-map{left:50%;right:auto;top:50%;transform:translate(-50%,-50%);z-index:30;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:6px 12px;background:#ef4444;color:#fff;border:2px solid #fff;box-shadow:0 8px 22px #7f1d1d55;pointer-events:auto}
.agenda-now-map:hover{filter:brightness(1.05);transform:translate(-50%,-52%)}
.agenda-now-line{z-index:20}

.agenda-now-line{pointer-events:auto;cursor:pointer;z-index:35}
.agenda-now-line::before{content:'📍 Mapa';position:absolute;left:50%;top:-16px;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border-radius:999px;background:#ef4444;color:#fff;border:2px solid #fff;box-shadow:0 8px 22px #7f1d1d55;font-size:12px;font-weight:900;line-height:1;white-space:nowrap;z-index:40}
.agenda-now-line:hover::before{filter:brightness(1.05);transform:translate(-50%,-54%)}

.service-agenda-grid{overflow:visible}
.agenda-corner,.agenda-tech-head{position:sticky;top:0;z-index:45}
.agenda-tech-head{grid-template-columns:auto 1fr;align-items:center;min-height:96px;box-shadow:0 8px 18px #10213f14}
.agenda-tech-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;grid-column:2}
.agenda-tech-title b{line-height:1.1}
.agenda-tech-map{grid-column:auto;margin-top:0;justify-self:auto;min-height:28px;padding:5px 9px;background:#ef4444;color:#fff;border:2px solid #fff;box-shadow:0 5px 14px #7f1d1d33}

.agenda-tech-head b::after{content:'  📍 Localizar';display:inline-flex;margin-left:8px;padding:5px 9px;border-radius:999px;background:#ef4444;color:#fff;border:2px solid #fff;box-shadow:0 5px 14px #7f1d1d33;font-size:12px;font-weight:900;vertical-align:middle;line-height:1}
.agenda-tech-head b{cursor:pointer}
.agenda-tech-head:has(.agenda-tech-map) b::after{content:'';display:none}

/* availability locator styles */
.availability-tech-segment{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
.availability-tech-map{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;min-width:28px!important;border-radius:999px!important;border:2px solid #fff!important;background:#ef4444!important;color:#fff!important;font-size:14px!important;font-weight:900!important;box-shadow:0 5px 14px #7f1d1d44!important;cursor:pointer!important;line-height:1!important}
.availability-tech-map:hover{filter:brightness(1.06);transform:translateY(-1px)}
.monthly-service-calendar .availability-split span.availability-tech-segment{font-size:10px;padding:7px 3px}
@media(max-width:900px){.availability-tech-map{width:24px!important;height:24px!important;min-width:24px!important;font-size:12px!important}.availability-tech-segment{gap:4px!important}}
/* Agenda operacional v2: escala visual de 2px/minuto, sem limitar o agendamento. */
#agendaV2Panel{margin:18px 0} .agenda-v2-head,.agenda-v2-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.agenda-v2-head p{max-width:650px}.agenda-v2-tools{justify-content:flex-start;margin:12px 0}.agenda-contact-list{margin:16px 0}.agenda-contact-list article{padding:12px;margin:8px 0;border-radius:10px}.agenda-v2-scroll{overflow:auto;border:1px solid #cbd5e1;border-radius:12px;margin:16px 0}.agenda-v2-lanes{display:grid;grid-template-columns:repeat(var(--agenda-techs),minmax(260px,1fr));min-width:calc(var(--agenda-techs) * 260px);gap:1px;background:#cbd5e1}.agenda-v2-lane{background:#f8fafc}.agenda-v2-lane h4{position:sticky;top:0;margin:0;padding:14px;background:#fff;z-index:3}.agenda-v2-track{position:relative;height:1320px;margin-left:48px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#e2e8f0 30px)}.agenda-v2-hour{position:absolute;left:-45px;color:#475569;font-size:11px}.agenda-v2-card{position:absolute;left:2px;right:5px;display:flex;flex-direction:column;gap:5px;padding:9px;text-align:left;border:1px solid #93c5fd;border-left:5px solid #2563eb;border-radius:8px;color:#172554;background:linear-gradient(to bottom,#dbeafe 0,#dbeafe 30px,#fff 30px);overflow:auto;font-size:12px;box-shadow:0 2px 4px #0001}.agenda-v2-card:hover{filter:brightness(.97)}.agenda-v2-card b{font-size:14px}.agenda-travel{border-left-color:#7c3aed}.agenda-execution{border-left-color:#0284c7}.agenda-ended{background:#ecfdf5;border-color:#86efac;border-left-color:#16a34a}.agenda-attention{border:2px solid #eab308!important;background-color:#fef9c3!important;animation:agenda-attention-pulse 2s ease-in-out infinite}.agenda-attention strong{color:#854d0e}.agenda-v2-message{position:sticky;bottom:0;background:white;padding:10px;color:#166534}.agenda-v2-message.error{color:#991b1b}#agendaV2Dialog{width:min(720px,94vw);max-height:90dvh;overflow:auto;border:1px solid #cbd5e1;border-radius:14px;padding:20px}#agendaV2Dialog form{display:block}#agendaV2Dialog label{display:flex;flex-direction:column;gap:5px;margin:10px 0}#agendaV2Dialog input,#agendaV2Dialog select,#agendaV2Dialog textarea{width:100%;box-sizing:border-box;padding:10px;font:inherit}#agendaV2Dialog input[type=checkbox]{width:auto;align-self:flex-start}#agendaV2Dialog button{margin:5px;padding:10px}#agendaV2Dialog article{padding:12px;border-bottom:1px solid #cbd5e1}#agendaV2Dialog .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}#agendaV2Dialog [hidden]{display:none!important}@keyframes agenda-attention-pulse{0%,100%{box-shadow:0 0 0 0 #eab30820}50%{box-shadow:0 0 0 4px #eab30860}}@media(prefers-reduced-motion:reduce){.agenda-attention{animation:none}}@media(max-width:600px){#agendaV2Dialog .grid2{grid-template-columns:1fr}.agenda-v2-head{align-items:flex-start}}
/* Cartões legíveis: detalhes ocupam a largura do cartão, sem cair na coluna do número. */
.monthly-service-calendar .calendar-cell{overflow-x:auto}
.monthly-service-calendar .day-mini-agenda{grid-template-columns:64px repeat(var(--day-techs),minmax(230px,1fr));min-width:calc(64px + var(--day-techs)*230px)}
.monthly-service-calendar .mini-order.service-order-card{grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:5px 8px;padding:9px 10px;min-height:68px;font-size:13px;line-height:1.35;text-align:left}
.monthly-service-calendar .mini-order.service-order-card>span:not(.order-live-timer){grid-column:1;grid-row:1;width:22px;height:22px;font-size:12px}
.monthly-service-calendar .mini-order.service-order-card>b{grid-column:2;grid-row:1;min-width:0;font-size:14px;line-height:1.35;white-space:normal;overflow-wrap:break-word}
.monthly-service-calendar .mini-order.service-order-card>small{grid-column:2/-1;min-width:0;font-size:12px;font-weight:500;line-height:1.4;white-space:normal;overflow-wrap:break-word}
.monthly-service-calendar .mini-order.service-order-card>small:first-of-type{grid-column:3;grid-row:1;font-size:12px;font-weight:700;white-space:nowrap}
.monthly-service-calendar .mini-order.service-order-card>.order-live-timer{grid-column:2/-1;display:inline-flex;width:max-content;max-width:100%;height:auto;min-height:0;padding:3px 7px;font-size:12px;white-space:normal;border-radius:999px}
.monthly-service-calendar .mini-order.service-order-card>.mini-missed-label{grid-column:2/-1;font-size:12px;line-height:1.4;text-transform:none}
.monthly-service-calendar .mini-tech{font-size:14px;padding:10px 6px}.monthly-service-calendar .mini-hour{font-size:12px}.monthly-service-calendar .mini-agenda-slot.agenda-slot{padding:5px;gap:5px}
.monthly-service-calendar .mini-blocked{font-size:12px;font-weight:500;line-height:1.4;text-transform:none;text-align:center;padding:8px}
.monthly-service-calendar .mini-add.add-service-order{padding:6px 8px;min-height:34px;font-size:14px}
.service-order-card[draggable=true],.agenda-v2-card[draggable=true]{cursor:grab}.service-order-card.dragging,.agenda-v2-card.dragging{opacity:.55;cursor:grabbing}.agenda-v2-dropzone.drop-target{outline:3px solid #2563eb;outline-offset:-3px}
@media(max-width:700px){.monthly-service-calendar .mini-order.service-order-card>b{grid-column:2/-1;overflow-wrap:normal}.monthly-service-calendar .mini-order.service-order-card>small:first-of-type{grid-column:2/-1;grid-row:auto}}
/* Visão do técnico: equipe inteira no celular e ações próprias em lista compacta. */
.tech-team-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0}.tech-team-overview>div{padding:8px 5px;background:#eef3f9;border-radius:8px;min-width:0;text-align:center}.tech-team-overview b{display:block;font-size:12px}.tech-team-overview small{display:block;font-size:11px;line-height:1.25;color:#526079}
.tech-order-compact{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:4px;margin:6px 0;padding:11px 12px;text-align:left;background:#f5f8ff;color:#10213f;border:1px solid #cbd5e1}.tech-order-compact b{font-size:14px}.tech-order-compact span,.tech-order-compact small{font-size:12px;line-height:1.35;font-weight:500}
.technician-view #scheduleMetrics,.technician-view #schedulePointLedger{display:none}.technician-view #agendaV2Panel .agenda-v2-head p{display:none}
@media(max-width:700px){.technician-view .monthly-service-calendar .calendar-cell{overflow-x:hidden;padding:5px}.technician-view .monthly-service-calendar .day-mini-agenda{min-width:0;grid-template-columns:34px repeat(var(--day-techs),minmax(0,1fr))}.technician-view .monthly-service-calendar .mini-order.service-order-card{display:flex;flex-direction:column;gap:3px;padding:5px;min-height:55px}.technician-view .monthly-service-calendar .mini-order.service-order-card>span:not(.order-live-timer){display:none}.technician-view .monthly-service-calendar .mini-order.service-order-card>b{font-size:11px;line-height:1.25;max-height:3.75em;overflow:hidden;overflow-wrap:break-word}.technician-view .monthly-service-calendar .mini-order.service-order-card>small:first-of-type{font-size:11px;white-space:normal}.technician-view .monthly-service-calendar .mini-order.service-order-card>small:not(:first-of-type){display:none}.technician-view .monthly-service-calendar .mini-order.service-order-card>.order-live-timer{font-size:10px;padding:2px;white-space:normal}.technician-view .monthly-service-calendar .mini-tech{font-size:11px;padding:7px 2px}.technician-view .monthly-service-calendar .mini-agenda-slot.agenda-slot{padding:2px}.technician-view .monthly-service-calendar .mini-hour{font-size:10px}.technician-view .monthly-service-calendar .mini-blocked{font-size:10px;padding:3px}.technician-view #agendaV2Panel{padding:12px}}

/* Technician score communication: compact and nonblocking. */
.agenda-score-feedback{padding:12px;margin:10px 0;border:1px solid #d7e2ec;border-radius:10px;background:#f8fafc}.agenda-score-feedback[hidden]{display:none}.agenda-score-feedback h4{margin:0 0 8px;font-size:15px}.agenda-feedback-card{padding:10px;border-radius:8px;border-left:4px solid #20844b;background:#ecf9f0;margin:6px 0;font-size:14px;line-height:1.45}.agenda-feedback-card p{margin:6px 0}.agenda-feedback-card.loss{background:#fff3e8;border-color:#b45309}.agenda-feedback-card.warning,.agenda-feedback-warning{background:#fff8df;border-color:#b88500}.agenda-feedback-card details{font-size:13px}.agenda-feedback-card small{display:block}.agenda-feedback-warning{padding:10px;border-radius:8px;font-size:14px}.agenda-feedback-history p{font-size:14px;line-height:1.45}

#agendaFeedbackDialog{box-sizing:border-box;width:min(390px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:84dvh;overflow:auto;margin:auto;padding:16px;border:0;border-radius:20px;box-shadow:0 20px 70px #001d4666;background:#fff}#agendaFeedbackDialog::backdrop{background:rgba(12,28,48,.58)}#agendaFeedbackDialog .agenda-score-feedback{margin:0;padding:0;border:0;background:transparent}#agendaFeedbackDialog h2{font-size:21px;line-height:1.25;margin:4px 0 14px}#agendaFeedbackDialog .agenda-feedback-card{font-size:15px;padding:14px}#agendaFeedbackDialog [data-agenda-action="dismissFeedback"]{width:100%;min-height:48px;margin-top:12px;background:#163aa7;color:#fff;font-size:16px;font-weight:700;border-radius:12px}
/* E-mail confirmation and collaborator feedback */
.user-row.active .verification-badge{opacity:1}
.user-row.active .verification-pending{color:#795000}.user-row.active .verification-verified{color:#155e34}.user-row.active .verification-legacy{color:#3d506f}
.verification-badge{display:inline-flex;align-items:center;width:fit-content;padding:4px 10px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:800;line-height:1.4}
.verification-pending{background:#fff5df;border-color:#e2b04c;color:#795000}.verification-verified{background:#eaf7ef;border-color:#9bceb0;color:#155e34}.verification-legacy{background:#edf1f8;border-color:#c8d3e5;color:#3d506f}
.user-row .verification-badge{margin-top:7px}.user-verification{margin:16px 0;padding:16px;background:#f7f9fd;border:1px solid var(--line);border-radius:12px}.user-verification p{margin:9px 0;overflow-wrap:anywhere}.verification-feedback{min-height:1.4em;color:#795000;font-weight:650}.users-notice{padding:14px 17px;margin:0 0 16px;border:1px solid #e2b04c;border-radius:12px;background:#fff5df;color:#654200;white-space:pre-line;overflow-wrap:anywhere}.users-notice[hidden]{display:none}
#loginMessage{overflow-wrap:anywhere}#loginDialog .dialog-actions{flex-wrap:wrap}#loginDialog button[hidden],#passwordChangeDialog label[hidden]{display:none}#passwordChangeDialog .dialog-actions{flex-wrap:wrap}
button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #2b67c7;outline-offset:3px}.email-verification-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef3fc,#f8fafc);color:var(--ink)}.email-verification-page main.verification-card{width:min(100%,520px);max-width:520px;margin:0;padding:32px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 55px #10213f12}.verification-brand{margin-top:0;color:var(--blue);font-size:14px;font-weight:800}.verification-card h1{font-size:30px;line-height:1.2;margin:12px 0 18px}.verification-card p{overflow-wrap:anywhere}.verification-message{min-height:70px;margin:22px 0;padding:14px;border-radius:10px;background:#f0f5fd;color:var(--navy);font-weight:650}.verification-card button{width:100%;min-height:46px;background:var(--blue)}.verification-card button:disabled{cursor:default}.verification-login{display:inline-block;margin-top:12px;color:var(--blue);font-weight:750;line-height:1.6}.verification-card noscript{display:block;margin-top:14px;color:#9d2d24}
@media(max-width:520px){.email-verification-page{padding:16px}.email-verification-page main.verification-card{padding:24px 20px}.verification-card h1{font-size:26px}.user-editor-head{flex-wrap:wrap}.editor-actions{flex-wrap:wrap}.user-verification button{width:100%}#loginDialog .dialog-actions button{flex:1 1 auto;min-height:44px}}

.agenda-finish-primary{font-size:15px;font-weight:700;padding:12px 16px;background:#163aa7;color:#fff;border-radius:9px}.agenda-equipment-record{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px;line-height:1.45;background:#f2f5f9;padding:10px;border-radius:8px}#agendaV2Dialog textarea[name="equipmentSerials"]{min-height:135px;resize:vertical}

#agendaErrorDialog{box-sizing:border-box;width:min(410px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:86dvh;overflow:auto;margin:auto;padding:20px;border:0;border-radius:18px;background:#fff;box-shadow:0 18px 60px #10203955;color:#142038;font-size:15px;line-height:1.5}#agendaErrorDialog::backdrop{background:rgba(12,28,48,.58)}#agendaErrorDialog h2{font-size:21px;line-height:1.25;margin:0 0 12px}#agendaErrorDialog h3{font-size:15px;margin:16px 0 4px}#agendaErrorDialog p{margin:6px 0;overflow-wrap:anywhere}#agendaErrorDialog .agenda-error-order{font-size:14px;font-weight:600}#agendaErrorDialog .agenda-error-reason{background:#fff5e5;border-left:3px solid #ad6400;padding:12px;margin:14px 0}#agendaErrorDialog details{font-size:13px;margin-top:14px}#agendaErrorDialog [data-agenda-error-ack]{display:block;width:100%;min-height:48px;margin-top:18px;border-radius:10px;background:#163aa7;color:#fff;font-size:16px;font-weight:700}
#scheduleCalendar .agenda-located-order {
  outline: 3px solid #163AA7;
  outline-offset: 3px;
  scroll-margin-block: 100px;
}
/* Escala: one operational calendar, with secondary work in separate tabs. */
#schedulePage .schedule-title h2{margin:0;font-size:24px;line-height:1.25}
#schedulePage .schedule-title{margin:0 0 18px}
.schedule-workspace-tabs{display:flex;gap:24px;border-bottom:1px solid #d7e0ec;margin:0 0 18px;overflow-x:auto}
.schedule-workspace-tabs button{flex:none;color:#52627b;background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;padding:12px 0;font-size:15px;white-space:nowrap}
.schedule-workspace-tabs button[aria-selected="true"]{color:#163AA7;border-bottom-color:#163AA7;font-weight:700}
.schedule-workspace-tabs button:focus-visible{outline:2px solid #163AA7;outline-offset:-2px}
#schedulePage .schedule-workspace-pane[hidden],#schedulePage .schedule-workspace-tabs[hidden],#schedulePage button[hidden]{display:none!important}
#schedulePage:not([data-schedule-view="agenda"]) .schedule-agenda-control{display:none!important}
#schedulePage .schedule-view-filters{margin:0 0 18px;padding:0;border:0;background:transparent;align-items:end;gap:12px}
#schedulePage .schedule-workspace-pane{min-width:0}
#agendaV2Panel.agenda-compact-alerts{margin:0 0 18px;padding:0;border:0;box-shadow:none;background:transparent}
.agenda-alert-empty{margin:0;color:#52627b;font-size:14px}
.agenda-alert-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.agenda-alert-group:only-child{grid-column:1/-1}
.agenda-alert-group h3{font-size:15px;margin:0 0 9px;line-height:1.3}
.agenda-alert-group h3 span{font-size:13px;color:#795000;margin-left:6px}
.agenda-alert-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px}
.agenda-alert-with-action{display:grid;gap:6px;align-content:start;min-width:0}
.agenda-alert-with-action .agenda-administrative-close{font-size:13px;white-space:normal;text-align:left;padding:9px 12px}
.agenda-administrative-record{border-left:4px solid #20844b;background:#edf9f1;color:#163d27;margin:12px 0}
#agendaV2Dialog .agenda-close-confirm{background:#087a35;color:#fff;white-space:normal}
#schedulePage .agenda-alert-chip{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:#fff7d6;color:#45320d;border:1px solid #dfad2a;border-radius:8px;padding:11px 13px;min-height:78px;max-width:100%;animation:agenda-pending-pulse 2.8s ease-in-out infinite}
.agenda-alert-chip b{font-size:15px;line-height:1.3;overflow-wrap:anywhere}
.agenda-alert-chip span,.agenda-alert-chip small{font-size:13px;line-height:1.4;white-space:normal}
.agenda-alert-chip:focus-visible{outline:3px solid #163AA7;outline-offset:2px}
@keyframes agenda-pending-pulse{0%,100%{background-color:#fff9e6;border-color:#dfad2a}50%{background-color:#ffefb3;border-color:#b77d00}}
@media(prefers-reduced-motion:reduce){#schedulePage .agenda-alert-chip{animation:none}}
.schedule-config-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.schedule-help{border-top:1px solid #d7e0ec;padding:16px 0;color:#52627b}
.schedule-help summary{cursor:pointer;font-weight:600;color:#10213f}
#schedulePane-settings .schedule-grid{margin-bottom:18px}
@media(max-width:700px){.schedule-workspace-tabs{gap:18px}.schedule-workspace-tabs button{font-size:14px}.agenda-alert-groups{grid-template-columns:1fr}#schedulePage .schedule-view-filters label{flex:1;min-width:125px}#schedulePage .schedule-view-filters button{min-height:42px}#schedulePage .agenda-alert-chip{min-height:84px}}
#schedulePage .schedule-view-filters>label{display:grid;gap:6px;max-width:260px}
#schedulePage #scheduleBackTop{position:fixed;top:auto;right:24px;bottom:24px;margin:0;z-index:25}
#schedulePage .schedule-view-filters input,#schedulePage .schedule-view-filters select{min-width:0;width:100%;box-sizing:border-box}

#sessionCheck{position:fixed;inset:0;display:grid;place-items:center;background:var(--paper);color:var(--muted);z-index:10000;pointer-events:none}

.agenda-resolution-summary{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:10px;background:#f4f7fb;padding:14px 16px;margin:14px 0}.agenda-resolution-summary h4{margin:0 0 8px}.agenda-resolution-summary p,.agenda-visit-report{white-space:pre-wrap;overflow-wrap:anywhere}.agenda-resolution-summary p:last-child{margin-bottom:0}

/* Central gerencial de pontos: leitura e resolução no mesmo lugar. */
#schedulePendingPoints{margin:18px 0;scroll-margin-top:20px;background:#fff}
#schedulePendingPoints h3{margin:0 0 10px;color:var(--navy)}
#schedulePendingPoints>details{border-top:1px solid var(--line);padding:4px 0}
#schedulePendingPoints summary{cursor:pointer;padding:12px 0;font-weight:750;color:var(--navy);overflow-wrap:anywhere}
#schedulePendingPoints article{border:1px solid var(--line);background:#fff;padding:16px;margin:10px 0;border-radius:10px;color:var(--ink)}
#schedulePendingPoints article>b{font-size:17px}
#schedulePendingPoints article>p{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}
#schedulePendingPoints article>ul{margin:10px 0;padding-left:22px;color:#7b4d12}
#schedulePendingPoints article>label:first-child{float:right;margin:0 0 10px 14px;font-size:13px}
#schedulePendingPoints input[type=checkbox]{width:auto;margin-right:6px;accent-color:var(--blue)}
#schedulePendingPoints textarea{min-height:72px;max-width:100%}
#schedulePendingPoints .user-verification{padding:12px;margin-top:12px;border-top:1px solid var(--line)}
#schedulePendingPoints img{display:block;max-width:min(100%,420px);max-height:260px;object-fit:contain;margin:8px 0}
#schedulePendingPoints button{margin:5px 6px 5px 0}
#schedulePendingPoints [data-pending-preview]{font-variant-numeric:tabular-nums;font-weight:700}
#schedulePendingPoints [data-pending-message]{white-space:pre-wrap;color:var(--navy);font-weight:700}
.pending-tech-button{width:100%;margin-top:10px;text-align:left}
@media(max-width:600px){#schedulePendingPoints article{padding:12px}#schedulePendingPoints article>label:first-child{float:none;display:block;margin:0 0 10px}#schedulePendingPoints button{max-width:100%;white-space:normal}}
.pending-point-toolbar{padding:10px 0 14px;border-bottom:1px solid var(--line);background:#fff}.pending-point-toolbar>label{margin-top:0}.pending-point-toolbar textarea{min-height:60px}.pending-point-toolbar>p{margin:8px 0}
.future-schedule-intro{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:14px 0;color:var(--muted)}.future-schedule-intro b{font-size:20px;color:var(--navy)}.future-schedule-scroll{overflow:auto;max-height:70vh}.future-schedule-table{width:100%;border-collapse:collapse;background:#fff}.future-schedule-table th,.future-schedule-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.future-schedule-table th{position:sticky;top:0;background:var(--navy);color:#fff;z-index:1}.future-schedule-table td:nth-child(1){white-space:nowrap}.future-schedule-table td:nth-child(3){color:var(--navy)}@media(max-width:700px){.future-schedule-intro{display:grid}.future-schedule-table{font-size:13px}.future-schedule-table th,.future-schedule-table td{padding:8px}}
.monthly-service-calendar .calendar-day .day-explanation{display:block;margin-left:12px;margin-top:8px;font-size:19px !important;font-weight:700;color:#0f172a;max-width:88%;line-height:1.4}
