:root{color:#e5eef8;background:#071018;font-family:Inter,Segoe UI,Arial,sans-serif;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}body{margin:0;min-width:1180px;min-height:100vh;background:radial-gradient(circle at 20% 0%,rgba(34,197,94,.16),transparent 34%),linear-gradient(145deg,#071018,#0d1b26 52%,#112f2c)}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:28px}.access-page{display:flex;flex-direction:column;overflow:hidden}.access-topbar{align-items:center;display:flex;justify-content:space-between;gap:20px;margin-bottom:48px}.access-brand{align-items:center;color:#eef7ff;display:flex;font-size:14px;font-weight:900;gap:10px}.access-brand svg{color:#20d493}.access-layout{align-items:center;display:grid;flex:1;gap:48px;grid-template-columns:minmax(420px,1fr) 380px;margin:0 auto;max-width:1120px;width:100%}.access-copy h1{font-size:48px;max-width:680px}.access-copy .subtitle{font-size:18px;line-height:1.6;max-width:680px}.branch-pill{align-items:center;background:#20d4931a;border:1px solid rgba(32,212,147,.18);border-radius:999px;color:#b9efd8;display:inline-flex;font-size:13px;font-weight:900;gap:8px;min-height:38px;padding:9px 13px}.access-form{background:#0a1620e6;border:1px solid rgba(137,163,184,.24);border-radius:8px;box-shadow:0 24px 70px #00000059;display:grid;gap:13px;padding:26px}.access-lock{align-items:center;background:#20d4931a;border:1px solid rgba(32,212,147,.2);border-radius:8px;color:#20d493;display:flex;height:54px;justify-content:center;margin-bottom:5px;width:54px}.access-form label{color:#dce8f5;font-size:13px;font-weight:900}.access-form input{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#f8fbff;min-height:48px;outline:0;padding:0 13px}.access-form input:focus{border-color:#20d493;box-shadow:0 0 0 3px #20d4932e}.access-error{background:#ef44441f;border:1px solid rgba(239,68,68,.24);border-radius:8px;color:#fecaca;font-size:13px;padding:10px 12px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.eyebrow{color:#79d4b0;font-size:13px;font-weight:700;letter-spacing:.08em;margin:0 0 7px;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{color:#f8fbff;font-size:34px;letter-spacing:0}.subtitle{color:#9db1c3;font-size:16px;margin-top:7px}.top-actions{display:flex;align-items:center;gap:12px}.theme-action-stack{display:grid;gap:7px}.primary-button,.secondary-button,.publish-button{align-items:center;border:0;border-radius:8px;display:inline-flex;font-weight:800;gap:9px;justify-content:center}.primary-button{background:#19c78a;color:#06251d;padding:13px 18px;box-shadow:0 18px 40px #19c78a38}.secondary-button{background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:#dbe8f3;padding:12px 15px}.status-pill{border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#cbd8e6;font-size:13px;padding:10px 14px}.branch-pill svg{color:currentColor}.workshop-selector{align-items:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:999px;display:inline-flex;gap:3px;padding:4px}.workshop-selector button{background:transparent;border:0;border-radius:999px;color:#9fb2c8;cursor:pointer;font:inherit;font-size:12px;height:30px;padding:0 12px}.workshop-selector button.active{background:#20d493;color:#052019;font-weight:800}.status-pill.ok{background:#22c55e29;border-color:#22c55e59;color:#9af0c4}.dashboard-grid{display:grid;grid-template-columns:270px minmax(640px,1fr) 360px;grid-template-rows:auto 260px;gap:18px;align-items:stretch}.panel{background:#0a1620db;border:1px solid rgba(137,163,184,.22);border-radius:8px;box-shadow:0 24px 70px #00000059;min-width:0;padding:18px}.calendar-panel{min-height:660px}.explanation-panel{grid-column:2;min-height:260px;max-height:none;overflow:auto}.ingestion-panel{grid-row:1 / span 2;display:flex;flex-direction:column}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.calendar-window-controls{display:inline-flex;gap:6px;margin-left:auto}.calendar-trash-drop{align-items:center;background:#ef444414;border:1px solid rgba(239,68,68,.22);border-radius:8px;color:#fca5a5;display:inline-flex;height:30px;justify-content:center;width:34px}.calendar-trash-drop.ready{background:#ef44442e;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.panel-title{align-items:center;color:#eef7ff;display:flex;gap:10px}.panel-title svg{color:#20d493}.panel-title h2{font-size:18px;letter-spacing:0}.metric-stack{display:grid;gap:10px;margin-top:17px}.metric{align-items:center;background:#ffffff0b;border:1px solid rgba(255,255,255,.08);border-radius:8px;display:flex;gap:12px;padding:12px}.metric svg{color:var(--tone);height:22px;width:22px}.metric span,.mini-metric span,.summary-stat span,.variant-card span,.slider-row span{color:#8da1b4;display:block;font-size:12px}.mini-metrics{display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-top:16px}.workflow-status-card{align-items:flex-start;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#9fb2c8;display:flex;flex-direction:column;gap:8px;grid-column:1 / -1;padding:18px}.workflow-status-card.ready{background:#20d49314;border-color:#20d4933d}.workflow-status-card.error{background:#ef44441a;border-color:#ef444447}.workflow-status-card strong{color:#f3f8ff}.workflow-status-card code{color:#cfe0f2;white-space:normal;word-break:break-all}.mini-metric{background:#ffffff0b;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:10px}.mini-metric svg{color:var(--tone);height:18px;width:18px}.mini-metric strong{color:#f7fbff;display:block;font-size:21px;margin-top:3px}.mini-metric.blue{--tone: #0ea5e9}.mini-metric.green{--tone: #22c55e}.mini-metric.amber{--tone: #f59e0b}.mini-metric.red{--tone: #ef4444}.ot-backlog{display:grid;gap:8px;margin-top:14px;flex:none;max-height:552px;min-height:0;overflow:auto;padding-right:3px}.ot-card{align-items:center;animation-delay:var(--fly-delay);background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-left:4px solid #22c55e;border-radius:8px;display:grid;gap:8px;grid-template-columns:18px minmax(0,1fr) 38px;min-height:98px;overflow:hidden;padding:12px 8px;position:relative;-webkit-user-select:none;user-select:none}.ot-sort-menu{background:#ffffff0e;border:1px solid rgba(137,163,184,.22);border-radius:8px;padding:9px}.ot-filter-menu{margin-top:8px}.ot-sort-menu summary{color:#eaf4ff;cursor:pointer;font-size:12px;font-weight:900;list-style:none}.ot-sort-menu summary::-webkit-details-marker{display:none}.ot-sort-menu summary:after{content:"▾";float:right}.ot-sort-menu label{color:#9fb3c7;display:grid;font-size:11px;gap:5px;margin-top:8px}.ot-sort-menu select{background:#ffffff14;border:1px solid rgba(137,163,184,.28);border-radius:6px;color:inherit;font:inherit;padding:7px 8px;width:100%}.ot-card-icons{align-self:center;display:grid;gap:5px;grid-template-rows:16px 20px;justify-content:center;justify-items:center;min-height:42px}.ot-card-icons>svg{align-self:end}.ot-info-button{align-items:center;background:#ffffff38;border:0;border-radius:6px;color:inherit;display:inline-flex;height:20px;justify-content:center;padding:0;width:20px;align-self:start}.ot-card:hover{background:#ffffff16;transform:translateY(-1px)}.ot-card.selected{box-shadow:inset 0 0 0 2px #ffffffd1,0 12px 28px #0f172a33}.ot-card.automatic,.ot-card.assigned{background:#2563eb24;border-color:#2563eb57;border-left-color:#2563eb}.ot-card.manual{background:#7c3aed24;border-color:#7c3aed57;border-left-color:#7c3aed}.ot-card.fixed{background:#22c55e24;border-color:#22c55e57;border-left-color:#22c55e}.ot-card.reassigned{background:#f59e0b26;border-color:#f59e0b61;border-left-color:#f59e0b}.ot-card.fixed-old{background:#7c3aed24;border-color:#7c3aed57;border-left-color:#7c3aed;box-shadow:inset 0 0 0 1px #7c3aed3d}.ot-card.unassigned{background:#ef444421;border-color:#ef44444d;border-left-color:#ef4444}.ot-card.blocked{background:#64748b24;border-color:#64748b52;border-left-color:#64748b;opacity:.72}.ot-card.pending,.ot-card.none{background:#14b8a61f;border-color:#14b8a64d;border-left-color:#14b8a6}.ot-card.noElegible{border-left-color:#ef4444;opacity:.72}.ot-card.blocked.noElegible{border-left-color:#64748b}.ot-card svg{color:#7d93a7}.ot-card strong{color:#f6fbff;display:block;font-size:13px;line-height:1.15}.ot-card span,.ot-card small{color:#9fb3c7;display:block;font-size:11px;line-height:1.3;min-width:0}.ot-card span,.ot-card small{white-space:normal}.ot-state-stack{align-items:end;align-self:stretch;display:grid;gap:4px;justify-items:end;grid-template-rows:18px 26px 1fr}.ot-card b{align-items:center;background:#ffffff14;border-radius:999px;color:#eaf4ff;display:flex;font-size:11px;height:22px;justify-content:center;width:22px}.ot-state-stack small{color:#cbd5e1;display:block;font-size:9px;line-height:1;max-width:48px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.ot-card.automatic b,.ot-card.assigned b{background:#2563eb}.ot-card.manual b{background:#7c3aed}.ot-card.fixed b{background:#22c55e;color:#052e16}.ot-card.reassigned b{background:#f59e0b;color:#111827}.ot-card.unassigned b{background:#ef4444}.ot-card.blocked b{background:#64748b}.ot-card.pending b,.ot-card.none b{background:#14b8a6;color:#052e2b}.material-badge{align-items:center;background:#ffffff13;border:1px solid rgba(148,163,184,.22);border-radius:999px;color:#cbd5e1;display:inline-flex;font-size:9px;gap:4px;margin-top:4px;max-width:100%;min-width:0;overflow:hidden;padding:3px 6px;text-overflow:ellipsis;white-space:nowrap;width:fit-content}.material-status-icon{border:1px solid rgba(255,255,255,.18);border-radius:999px;display:grid;height:18px;line-height:0;place-items:center;width:18px}.material-status-icon svg{display:block;flex:0 0 auto}.material-status-icon.firme{background:#22c55e26;color:#22c55e}.material-status-icon.tentativa{background:#f59e0b26;color:#facc15}.material-status-icon.noElegible{background:#ffffff17;color:#fff}.material-badge.firme svg{color:#22c55e}.material-badge.tentativa svg{color:#f59e0b}.material-badge.noElegible svg{color:#64748b}.ot-backlog.is-animating .ot-card{animation:flyToCalendar .52s cubic-bezier(.2,.8,.2,1) both}@keyframes flyToCalendar{0%{opacity:1;transform:translate(0) scale(1)}70%{opacity:.45;transform:translate(360px) scale(.94)}to{opacity:1;transform:translate(0) scale(1)}}.metric strong{color:#f7fbff;display:block;font-size:23px;margin-top:3px}.metric.blue{--tone: #0ea5e9}.metric.green{--tone: #22c55e}.metric.amber{--tone: #f59e0b}.metric.red{--tone: #ef4444}.rule-box{border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:9px;margin-top:18px;padding-top:18px}.ot-legend-box{border-top:1px solid rgba(255,255,255,.08);display:grid;gap:7px;margin-top:14px;padding-top:14px}.ot-legend-box h3{color:#f3f8ff;font-size:15px;font-weight:900;letter-spacing:0}.ot-legend-box div{align-items:center;color:#9fb3c7;display:flex;font-size:12px;gap:8px}.rule-box h3,.unassigned-list h3{color:#f3f8ff;font-size:14px;margin-bottom:2px}.rule-heading{align-items:center;display:flex;justify-content:space-between;gap:8px}.ghost-button{align-items:center;background:#ffffff0e;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#cfe0ed;display:inline-flex;height:28px;justify-content:center;width:32px}.rule-box span{background:#20d49317;border:1px solid rgba(32,212,147,.14);border-radius:999px;color:#b9efd8;font-size:12px;padding:8px 10px}.legend{display:flex;flex-wrap:wrap;gap:12px}.legend span{align-items:center;color:#96aabd;display:inline-flex;font-size:12px;gap:6px}.legend-dot{border-radius:999px;display:inline-block;height:10px;width:10px}.legend-dot.firm{background:#22c55e}.legend-dot.automatic{background:#2563eb}.legend-dot.manual{background:#7c3aed}.legend-dot.fixed{background:#22c55e}.legend-dot.reassigned,.legend-dot.tentative{background:#f59e0b}.legend-dot.unassigned{background:#ef4444}.legend-dot.pending{background:#14b8a6}.legend-dot.blocked{background:#64748b}.legend-dot.lunch{background:#334155}.legend-dot.published{background:#e5f8ff}.schedule{overflow:hidden}.pair-assignment-banner{background:#7c3aed1a;border:1px solid rgba(124,58,237,.28);border-radius:8px;color:#c4b5fd;font-size:13px;font-weight:900;margin-bottom:10px;padding:10px 12px}.schedule-row{display:grid;grid-template-columns:120px repeat(5,minmax(112px,1fr));gap:8px;margin-bottom:8px}.schedule-head{align-items:end}.tech-head,.day-head{color:#91a6b7;font-size:12px}.day-head{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:8px;display:flex;justify-content:space-between;padding:8px 10px;text-align:left}.day-head.selected{border-color:#60a5fa;box-shadow:inset 0 0 0 1px #60a5fa59}.day-head strong{color:#dce8f5;display:block;text-transform:capitalize}.day-head span{display:block;margin-top:2px}.day-head b{align-self:center;background:#20d4931f;border:1px solid rgba(32,212,147,.22);border-radius:999px;color:#b9efd8;font-size:12px;padding:4px 7px}.tech-cell{background:#ffffff09;border:1px solid rgba(255,255,255,.07);border-radius:8px;min-height:70px;padding:12px;position:relative}.tech-cell strong{color:#f4f9ff;display:block;font-size:14px}.tech-cell span{color:#8fa3b7;display:block;font-size:12px;margin-top:6px}.day-cell{display:grid;gap:0;grid-template-columns:repeat(19,minmax(3px,1fr));min-width:0}.block-cell{align-items:center;background:#264952bd;border:1px solid rgba(255,255,255,.055);border-radius:0;color:#06251d;display:flex;height:70px;justify-content:center;min-width:0;overflow:hidden}.block-cell:first-child{border-bottom-left-radius:4px;border-top-left-radius:4px}.block-cell:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}.block-cell.automatic,.block-cell.manual{border-left-width:0;border-right-width:0}.block-cell.automatic,.block-cell.manual,.block-cell.automatic.tentative{margin-left:-1px}.block-cell.span-start{border-left-width:1px;border-radius:4px;justify-content:flex-start;position:relative;z-index:1}.block-cell.span-middle,.block-cell.span-end{display:none}.block-cell.span-end{border-right-width:1px;border-bottom-left-radius:0;border-top-left-radius:0}.block-cell.cross-day.span-start{border-left:2px dashed rgba(15,23,42,.55)}.block-cell.cross-day.span-end{border-right:2px dashed rgba(15,23,42,.55)}.block-cell.preview{opacity:.58}.block-cell.lunch{background:repeating-linear-gradient(45deg,#2d3a4dc2,#2d3a4dc2 5px,#1e293bd6 5px 10px)}.block-cell.automatic{background:#2563eb;border-color:#93c5fd}.block-cell.automatic.published{box-shadow:inset 0 0 0 2px #ffffffd1,0 0 20px color-mix(in srgb,var(--variant-color) 35%,transparent)}.block-cell.material-tentative{box-shadow:inset 0 0 0 2px #facc15eb,inset 0 0 18px #facc1573,0 0 16px #facc1524}.block-cell.manual{background:#7c3aed;border-color:#c4b5fd;box-shadow:inset 0 0 0 2px #ffffffc2,0 0 24px #7c3aed3d}.block-cell.manual.material-tentative{box-shadow:inset 0 0 0 2px #facc15eb,inset 0 0 18px #facc156b,0 0 24px #7c3aed3d}.block-cell.fixed{background:#22c55e;border-color:#86efac;box-shadow:inset 0 0 0 2px #ffffffc2,0 0 24px #22c55e33}.block-cell.fixed.material-tentative{box-shadow:inset 0 0 0 2px #facc15eb,inset 0 0 18px #facc156b,0 0 24px #22c55e33}.block-cell.reassigned{background:#f59e0b;border-color:#fbbf24;box-shadow:inset 0 0 0 2px #ffffffc2,0 0 24px #f59e0b33}.block-cell.reassigned.material-tentative{box-shadow:inset 0 0 0 2px #facc15f2,inset 0 0 18px #facc157a,0 0 24px #f59e0b38}.block-cell.drag-source{cursor:grab}.block-cell.drag-source:active{cursor:grabbing}.block-cell.pair-target{background:#7c3aed38;border-color:#7c3aed;box-shadow:inset 0 0 0 2px #7c3aed6b;cursor:pointer}.block-cell .block-ot-label{color:#071018;font-weight:900;line-height:1.1;min-width:0;pointer-events:none;padding:0 6px;text-align:left;text-shadow:0 1px 0 rgba(255,255,255,.35);writing-mode:horizontal-tb}.block-ot-label small,.block-ot-label b,.block-ot-label em{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-ot-label small{font-size:8px;font-style:normal;text-transform:capitalize}.block-ot-label b{font-size:11px}.block-ot-label em{font-size:8px;font-style:normal;opacity:.82}.variant-list{display:grid;gap:10px;margin-top:16px}.variant-action-stack{display:grid;gap:8px;margin-top:12px}.fix-variant-button,.clear-variant-button{width:100%}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;filter:grayscale(.75);opacity:.48;box-shadow:none}.variant-card{background:#ffffff0b;border:1px solid rgba(255,255,255,.08);border-left:4px solid var(--variant-color);border-radius:8px;color:inherit;display:flex;gap:12px;justify-content:space-between;padding:13px;text-align:left;width:100%}.variant-card.selected{background:color-mix(in srgb,var(--variant-color) 13%,rgba(255,255,255,.08));border-color:color-mix(in srgb,var(--variant-color) 78%,#ffffff)}.variant-card.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--variant-color) 78%,#ffffff),0 0 0 6px color-mix(in srgb,var(--variant-color) 22%,transparent),0 18px 34px color-mix(in srgb,var(--variant-color) 18%,transparent)}.variant-card.published{box-shadow:0 0 0 1px #ffffff3d,0 0 30px color-mix(in srgb,var(--variant-color) 18%,transparent)}.variant-card.selected.published{box-shadow:inset 0 0 0 1px #ffffff80,0 0 0 2px color-mix(in srgb,var(--variant-color) 82%,#ffffff),0 0 0 6px color-mix(in srgb,var(--variant-color) 24%,transparent)}.variant-card strong{color:#f6fbff;display:block;font-size:14px}.variant-card span{line-height:1.35;margin-top:5px}.variant-numbers{min-width:72px;text-align:right}.variant-numbers b{color:var(--variant-color);display:block;font-size:22px}.variant-numbers small{color:#8da1b4;font-size:11px}.variant-detail{border-top:1px solid rgba(255,255,255,.08);margin-top:16px;padding-top:16px}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.summary-stat{background:#ffffff0b;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px}.summary-stat strong{color:#f6fbff;display:block;font-size:24px;margin-top:4px}.publish-button{background:var(--variant-color);color:#071018;margin:13px 0 16px;padding:11px 12px;width:100%}.publish-button:disabled{cursor:not-allowed;filter:grayscale(.6);opacity:.45}.weights-title{align-items:center;color:#dce8f5;display:flex;font-size:13px;font-weight:800;gap:7px;justify-content:space-between;margin-bottom:10px}.weights-title>div{align-items:center;display:inline-flex;gap:7px}.weights{margin-top:22px}.slider-row{align-items:center;display:grid;gap:8px;grid-template-columns:112px 1fr 30px;margin-bottom:9px}.slider-row input{accent-color:var(--variant-color);width:100%}.slider-row b{color:#eef7ff;font-size:12px;text-align:right}.horizon-control{align-items:center;border-top:1px solid rgba(148,163,184,.16);color:#9fb0c0;display:flex;font-size:12px;justify-content:space-between;margin-top:16px;padding-top:14px}.horizon-control>div{align-items:center;display:inline-flex;gap:8px}.horizon-control input{background:#ffffff0f;border:1px solid rgba(148,163,184,.22);border-radius:8px;color:#f6fbff;font-weight:800;padding:7px 8px;width:58px}.horizon-control small{color:#8da1b4}.variant-parameterization{border-top:1px solid rgba(148,163,184,.16);display:grid;gap:9px;margin-top:14px;padding-top:14px}.toggle-row{align-items:center;color:#9fb0c0;display:flex;font-size:12px;justify-content:space-between;gap:12px}.toggle-row input{accent-color:var(--variant-color);height:16px;width:16px}.explanation{color:#cdd9e6;font-size:15px;line-height:1.65;width:100%}.explanation-content{display:grid;gap:16px;margin-top:12px}.explanation-content.empty{grid-template-columns:minmax(0,1fr);align-items:stretch}.explanation-lower{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.unassigned-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.unassigned-item{background:#ef44441a;border:1px solid rgba(239,68,68,.18);border-radius:8px;color:inherit;cursor:pointer;padding:11px;text-align:left;width:100%}.unassigned-item:hover,.unassigned-item.selected{border-color:#3b82f6b3;box-shadow:inset 0 0 0 1px #3b82f647}.structured-explanation{display:grid;gap:14px}.structured-explanation section{border-bottom:1px solid rgba(148,163,184,.16);padding-bottom:12px}.structured-explanation section:last-child{border-bottom:0;padding-bottom:0}.structured-explanation h3{color:#f6fbff;font-size:14px;margin:0 0 6px}.structured-explanation p{color:#9fb0c0;line-height:1.6;margin:0}.structured-explanation ul{color:#9fb0c0;display:grid;gap:7px;margin:0;padding-left:18px}.plain-explanation-list strong{color:#f6fbff}.clickable-ot-list{list-style:none;padding-left:0!important}.clickable-ot-list button{background:#ef444414;border:1px solid rgba(239,68,68,.18);border-radius:8px;color:inherit;cursor:pointer;display:grid;gap:4px;padding:9px 10px;text-align:left;width:100%}.clickable-ot-list button:hover{border-color:#3b82f6a6}.clickable-ot-list strong{color:#fecaca}.clickable-ot-list span{color:#9fb0c0;font-size:12px}.unassigned-item strong{color:#fecaca;display:block;font-size:13px}.unassigned-item span,.unassigned-item small{display:block;font-size:12px}.unassigned-item span{color:#f4b5b5;margin-top:5px}.unassigned-item small{color:#9fb0c0;margin-top:4px}.empty-state{align-items:center;color:#98adbf;display:flex;flex-direction:column;grid-column:1 / -1;justify-content:center;min-height:170px;text-align:center}.empty-state svg{color:#20d493}.empty-state h3{color:#f5faff;margin:12px 0 7px}.empty-state p{max-width:520px}.ot-map{background:#ffffff0b;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px;min-width:0}.ot-map-header{align-items:center;display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.ot-map-header strong{color:#f6fbff;font-size:14px}.ot-map-header span{color:#8da1b4;font-size:11px}.map-canvas{background:linear-gradient(135deg,#2563eb1f,#14b8a61a),#0f172a3d;border-radius:8px;height:175px;overflow:hidden;position:relative}.map-gridline{background:#ffffff38;position:absolute}.map-gridline.horizontal{height:1px;left:0;right:0;top:50%}.map-gridline.vertical{bottom:0;left:50%;top:0;width:1px}.map-pin{align-items:center;background:#2563eb;border:2px solid #ffffff;border-radius:999px;color:#fff;display:flex;height:28px;justify-content:center;position:absolute;transform:translate(-50%,-50%);width:28px}.load-page,.workflow-page,.review-page,.summary-page,.export-page{max-width:1320px;margin:0 auto}.workflow-hero{align-items:center}.workflow-grid{display:grid;gap:14px}.workflow-step{align-items:center;background:#0a1620db;border:1px solid rgba(137,163,184,.22);border-radius:8px;color:inherit;display:grid;gap:14px;grid-template-columns:42px 42px minmax(220px,.9fr) minmax(280px,1.4fr) 180px 24px;min-height:96px;padding:18px;text-align:left}.workflow-step:disabled{cursor:not-allowed;opacity:.55}.workflow-step.done{border-color:#22c55e73}.workflow-step.ready{border-color:#0ea5e966}.step-number,.step-icon{align-items:center;border-radius:8px;display:flex;height:42px;justify-content:center;width:42px}.step-number{background:#ffffff14;color:#f8fbff;font-weight:900}.step-icon{background:#20d4931a;color:#20d493}.workflow-step strong{color:#f8fbff;font-size:18px}.workflow-step small{color:#9db1c3;font-size:14px;line-height:1.45}.workflow-step b{color:#b9efd8;font-size:13px}.load-grid{display:grid;gap:18px;grid-template-columns:280px repeat(2,minmax(0,1fr))}.load-summary{align-self:stretch;display:flex;flex-direction:column}.schema-box{border-top:1px solid rgba(255,255,255,.08);display:grid;gap:9px;margin-top:16px;padding-top:16px}.schema-box h3{color:#f3f8ff;font-size:14px}.schema-box span{color:#9fb3c7;font-size:12px;line-height:1.45}.csv-panel{min-height:560px}.csv-drop{align-items:center;background:#20d49314;border:1px dashed rgba(32,212,147,.42);border-radius:8px;color:#dff9ec;cursor:pointer;display:flex;gap:12px;justify-content:center;margin-top:18px;min-height:104px;padding:18px}.csv-drop input{display:none}.columns-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.columns-list code{background:#ffffff0f;border:1px solid rgba(255,255,255,.09);border-radius:999px;color:#bdd1e2;font-size:11px;padding:7px 9px}.csv-errors,.csv-preview{border-radius:8px;display:grid;gap:8px;margin-top:16px;padding:13px}.csv-errors{background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.csv-errors span{color:#fecaca;font-size:12px}.csv-preview{background:#22c55e1a;border:1px solid rgba(34,197,94,.2)}.csv-preview strong{color:#b9efd8;font-size:13px}.csv-preview span{color:#d7e7f2;font-size:12px}.review-grid,.summary-page-grid{display:grid;gap:18px;grid-template-columns:1fr 1fr}.review-list,.assignment-review-list{display:grid;gap:10px;margin-top:16px}.review-list.compact{max-height:560px;overflow:auto}.review-technician-group{display:grid;gap:8px}.review-group-title{align-items:center;background:#2563eb1a;border:1px solid rgba(37,99,235,.18);border-radius:8px;display:flex;justify-content:space-between;padding:8px 10px}.review-group-title strong{color:#f8fbff;font-size:13px}.review-group-title span{color:#9db1c3;font-size:12px;font-weight:800}.review-item,.assignment-review-row{background:#ffffff0b;border:1px solid rgba(255,255,255,.08);border-left:4px solid #22c55e;border-radius:8px;padding:0}.assignment-review-row,.review-item-head{align-items:center;display:grid;gap:12px;grid-template-columns:1fr 150px 110px;padding:12px}.review-item-head{background:transparent;border:0;color:inherit;text-align:left;width:100%}.review-item-head:disabled{cursor:default}.review-item.tentativa{border-left-color:#f59e0b}.review-item.noElegible{border-left-color:#ef4444}.review-item strong,.assignment-review-row strong,.summary-hero-card strong{color:#f8fbff;display:block}.review-item span,.assignment-review-row span,.summary-hero-card span{color:#9db1c3;display:block;font-size:12px;margin-top:4px}.review-item small,.assignment-review-row b,.review-item b{color:#b9efd8;font-size:12px;text-align:right}.review-form{border-top:1px solid rgba(255,255,255,.08);display:grid;gap:12px;padding:12px}.review-form label{display:grid;gap:6px}.review-form label>span{color:#8da1b4;font-size:12px;font-weight:800}.review-form select,.review-form input[type=number]{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#e5eef8;padding:10px 11px}.checkbox-row{align-items:center;display:flex!important;gap:9px}.checkbox-row input{accent-color:#2563eb}.empty-row{color:#9db1c3;font-size:14px;padding:18px 0}.summary-hero-card{background:#ffffff0b;border:1px solid rgba(255,255,255,.08);border-left:4px solid #20d493;border-radius:8px;margin:16px 0;padding:14px}.export-panel pre{background:#00000047;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#d7e7f2;font-size:12px;line-height:1.55;margin:16px 0 0;max-height:68vh;overflow:auto;padding:16px}.filter-chip{align-items:center;background:#e8f1ff;border:1px solid #bfd3f7;border-radius:8px;color:#1d4ed8;display:flex;font-size:12px;font-weight:800;justify-content:space-between;margin-top:8px;padding:9px 10px}.filter-chip span{color:#64748b;font-weight:700}.generate-stack{display:grid;gap:8px}.clear-button{align-items:center;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#dbe8f3;display:inline-flex;font-size:13px;font-weight:800;gap:8px;justify-content:center;padding:9px 12px}.fix-calendar-button{align-items:center;background:#16a34a;border:1px solid #86efac;border-radius:8px;box-shadow:0 0 0 3px #22c55e1f,0 16px 34px #16a34a3d;color:#052e16;display:inline-flex;font-size:13px;font-weight:900;gap:8px;justify-content:center;padding:11px 12px}.advanced-agenda-actions{border-top:1px solid rgba(148,163,184,.22);margin-top:14px;padding-top:12px}.advanced-agenda-actions summary{color:#8fa3b7;cursor:pointer;font-size:12px;font-weight:900;list-style:none}.advanced-agenda-actions summary::-webkit-details-marker{display:none}.danger-action-button{align-items:center;background:#ef44441a;border:1px solid rgba(239,68,68,.28);border-radius:8px;color:#fecaca;display:inline-flex;font-weight:900;gap:8px;justify-content:center;margin-top:10px;padding:11px 12px;width:100%}.danger-inline-button{align-items:center;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:#fecaca;display:inline-flex;font-size:12px;font-weight:900;gap:7px;justify-content:center;padding:8px 10px}.confirmation-modal{background:#0f172a;border:1px solid rgba(148,163,184,.22);border-radius:12px;box-shadow:0 24px 70px #00000061;max-width:440px;padding:22px;width:min(440px,calc(100vw - 32px))}.confirmation-modal p{color:#9fb0c0;line-height:1.55;margin:12px 0 0}.confirmation-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:20px}.confirmation-actions .danger-action-button{margin-top:0}.summary-stat{color:inherit;text-align:left}.summary-stat:disabled{cursor:default}.summary-stat.active{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb59}.summary-stat.automatic{border-left:4px solid #2563eb}.summary-stat.tentative{border-left:4px solid #f59e0b}.summary-stat.unassigned{border-left:4px solid #ef4444}.summary-stat.manual{border-left:4px solid #7c3aed}.tech-cell{color:inherit;text-align:left;width:100%}.tech-cell.selected{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb59}.tech-cell.incompatible{background:#ef44441a;border-color:#ef444447}.skill-block-icon{color:#ef4444;position:absolute;right:10px;top:10px}.block-cell.dimmed,.ot-card.dimmed{opacity:.24}.block-cell.dimmed{filter:saturate(.35)}.technician-summary{background:#ffffff0b;border:1px solid rgba(255,255,255,.08);border-radius:8px;margin-top:16px;padding:14px}.technician-summary>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.technician-summary strong{color:#f6fbff;font-size:14px}.technician-summary span{color:#8da1b4;font-size:12px}.technician-summary table{border-collapse:collapse;width:100%}.technician-summary tbody tr{cursor:pointer}.technician-summary tbody tr:hover{background:#2563eb14}.technician-summary tbody tr.selected{background:#2563eb29;box-shadow:inset 3px 0 #2563eb}.technician-summary th,.technician-summary td{border-bottom:1px solid rgba(255,255,255,.08);color:#cdd9e6;font-size:12px;padding:8px 6px;text-align:left}.technician-summary th{color:#8da1b4;font-weight:800}.technician-summary.empty{display:flex;justify-content:space-between}.ot-backlog.is-animating .ot-card{animation:none}.theme-light{background:linear-gradient(180deg,#eff6fff5,#f8fafcfa),#eef3f8;color:#172033}.theme-light .eyebrow,.theme-light .panel-title svg,.theme-light .empty-state svg{color:#2563eb}.theme-light h1,.theme-light .access-brand,.theme-light .panel-title,.theme-light .panel-title h2,.theme-light .rule-box h3,.theme-light .unassigned-list h3,.theme-light .schema-box h3,.theme-light .empty-state h3,.theme-light .variant-card strong,.theme-light .summary-stat strong,.theme-light .tech-cell strong,.theme-light .ot-card strong,.theme-light .workflow-step strong,.theme-light .review-item strong,.theme-light .review-group-title strong,.theme-light .assignment-review-row strong,.theme-light .summary-hero-card strong,.theme-light .mini-metric strong,.theme-light .metric strong,.theme-light .weights-title,.theme-light .slider-row b,.theme-light .technician-summary strong{color:#172033}.theme-light .subtitle,.theme-light .metric span,.theme-light .mini-metric span,.theme-light .summary-stat span,.theme-light .variant-card span,.theme-light .slider-row span,.theme-light .tech-head,.theme-light .day-head,.theme-light .tech-cell span,.theme-light .ot-card span,.theme-light .ot-card small,.theme-light .legend span,.theme-light .schema-box span,.theme-light .workflow-step small,.theme-light .review-item span,.theme-light .review-group-title span,.theme-light .assignment-review-row span,.theme-light .summary-hero-card span,.theme-light .review-form label>span,.theme-light .empty-row,.theme-light .empty-state,.theme-light .technician-summary span,.theme-light .technician-summary th{color:#64748b}.theme-light .panel,.theme-light .access-form,.theme-light .metric,.theme-light .mini-metric,.theme-light .ot-card,.theme-light .day-head,.theme-light .tech-cell,.theme-light .variant-card,.theme-light .summary-stat,.theme-light .workflow-step,.theme-light .review-item,.theme-light .assignment-review-row,.theme-light .summary-hero-card,.theme-light .technician-summary{background:#fffffff0;border-color:#d9e3ee;box-shadow:0 18px 45px #1c2d4514}.theme-light .workflow-step.done,.theme-light .workflow-step.ready,.theme-light .summary-hero-card{border-color:#bfd3f7}.theme-light .step-number{background:#e8f1ff;color:#1d4ed8}.theme-light .step-icon{background:#eff6ff;color:#2563eb}.theme-light .workflow-step b,.theme-light .review-item small,.theme-light .review-item b,.theme-light .assignment-review-row b{color:#1d4ed8}.theme-light .primary-button{background:#2563eb;color:#fff;box-shadow:0 14px 28px #2563eb2e}.theme-light .secondary-button,.theme-light .clear-button,.theme-light .ghost-button,.theme-light .review-form select,.theme-light .review-form input[type=number]{background:#fff;border-color:#d7e0ea;color:#34465b}.theme-light .review-form{border-top-color:#d9e3ee}.theme-light .access-form label{color:#172033}.theme-light .access-form input{background:#fff;border-color:#d7e0ea;color:#172033}.theme-light .access-lock{background:#eff6ff;border-color:#dbeafe;color:#2563eb}.theme-light .access-brand svg{color:#2563eb}.theme-light .status-pill{border-color:#d7e0ea;color:#516477}.theme-light .branch-pill{background:#eff6ff;border-color:#dbeafe;color:#1d4ed8}.theme-light .workshop-selector{background:#f8fbff;border-color:#d7e0ea}.theme-light .workshop-selector button{color:#516477}.theme-light .workshop-selector button.active{background:#2563eb;color:#fff}.theme-light .workflow-status-card{background:#fff;border-color:#d7e0ea;color:#516477}.theme-light .workflow-status-card.ready{background:#f0fdf4;border-color:#bbf7d0}.theme-light .workflow-status-card.error{background:#fff1f2;border-color:#fecdd3}.theme-light .workflow-status-card strong,.theme-light .workflow-status-card code{color:#162234}.theme-light .status-pill.ok,.theme-light .day-head b{background:#e8f1ff;border-color:#bfd3f7;color:#1d4ed8}.theme-light .rule-box{border-top-color:#d9e3ee}.theme-light .rule-box span{background:#eff6ff;border-color:#dbeafe;color:#1d4ed8}.theme-light .block-cell{background:#dbe6f1;border-color:#cbd8e6}.theme-light .block-cell.lunch{background:repeating-linear-gradient(45deg,#b5c2d0,#b5c2d0 5px,#9aaabd 5px 10px);border-color:#8ea0b4}.theme-light .ot-card.automatic,.theme-light .ot-card.assigned{background:#eff6ff;border-color:#bfdbfe;border-left-color:#2563eb}.theme-light .ot-card.manual{background:#f5f3ff;border-color:#ddd6fe;border-left-color:#7c3aed}.theme-light .ot-card.fixed{background:#f0fdf4;border-color:#bbf7d0;border-left-color:#22c55e}.theme-light .ot-card.reassigned{background:#fffbeb;border-color:#fde68a;border-left-color:#f59e0b}.theme-light .ot-card.unassigned{background:#fef2f2;border-color:#fecaca;border-left-color:#ef4444}.theme-light .ot-card.blocked,.theme-light .ot-card.blocked.noElegible{background:#f1f5f9;border-color:#cbd5e1;border-left-color:#64748b}.theme-light .ot-card.pending,.theme-light .ot-card.none{background:#f0fdfa;border-color:#99f6e4;border-left-color:#14b8a6}.theme-light .ot-legend-box h3{color:#172033}.theme-light .ot-card.selected{box-shadow:inset 0 0 0 2px #1d4ed8,0 12px 28px #2563eb2e}.theme-light .material-status-icon{border-color:#64748b33}.theme-light .material-status-icon.firme{background:#dcfce7;color:#16a34a}.theme-light .material-status-icon.tentativa{background:#fef3c7;color:#ca8a04}.theme-light .material-status-icon.noElegible{background:#fff;color:#64748b}.theme-light .variant-card.selected{background:color-mix(in srgb,var(--variant-color) 12%,#ffffff);border-color:color-mix(in srgb,var(--variant-color) 76%,#2563eb)}.theme-light .danger-inline-button{background:#fff7f7;border-color:#fecaca;color:#b91c1c}.theme-light .ot-sort-menu{background:#f8fbff;border-color:#d7e0ea}.theme-light .ot-sort-menu summary{color:#172033}.theme-light .ot-sort-menu label{color:#64748b}.theme-light .ot-sort-menu select{background:#fff;border-color:#d7e0ea;color:#172033}.theme-light .review-group-title{background:#eff6ff;border-color:#bfdbfe}.theme-light .block-cell.automatic{background:#3b82f6;border-color:#1d4ed8}.theme-light .block-cell.manual{background:#8b5cf6;border-color:#6d28d9;box-shadow:inset 0 0 0 2px #ffffffb8,0 0 18px #4f46e529}.theme-light .block-cell.material-tentative{box-shadow:inset 0 0 0 2px #ca8a04eb,inset 0 0 18px #eab3086b,0 0 14px #eab3081f}.theme-light .block-cell.manual.material-tentative{box-shadow:inset 0 0 0 2px #ca8a04eb,inset 0 0 18px #eab3086b,0 0 18px #4f46e529}.theme-light .block-cell.fixed{background:#22c55e;border-color:#15803d;box-shadow:inset 0 0 0 2px #ffffffbd,0 0 18px #22c55e29}.theme-light .block-cell.fixed.material-tentative{box-shadow:inset 0 0 0 2px #ca8a04eb,inset 0 0 18px #eab3086b,0 0 18px #22c55e29}.theme-light .block-cell.reassigned{background:#f59e0b;border-color:#b45309;box-shadow:inset 0 0 0 2px #ffffffbd,0 0 18px #f59e0b2e}.theme-light .block-cell.reassigned.material-tentative{box-shadow:inset 0 0 0 2px #ca8a04f2,inset 0 0 18px #eab30875,0 0 18px #f59e0b2e}.theme-light .pair-assignment-banner{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6}.theme-light .block-cell.pair-target{background:#ede9fe;border-color:#7c3aed}.theme-light .legend-dot.firm{background:#22c55e}.theme-light .legend-dot.automatic{background:#2563eb}.theme-light .legend-dot.manual{background:#7c3aed}.theme-light .legend-dot.fixed{background:#22c55e}.theme-light .legend-dot.reassigned,.theme-light .legend-dot.tentative{background:#f59e0b}.theme-light .legend-dot.unassigned{background:#ef4444}.theme-light .legend-dot.lunch{background:#cbd5e1}.theme-light .explanation,.theme-light .technician-summary td,.theme-light .export-panel pre{color:#334155}.theme-light .export-panel pre{background:#f8fafc;border-color:#d9e3ee}.theme-light .technician-summary th,.theme-light .technician-summary td{border-bottom-color:#e2e8f0}.theme-light .unassigned-item strong{color:#991b1b}.theme-light .unassigned-item span{color:#b91c1c}.theme-light .unassigned-item small{color:#64748b}.theme-light .structured-explanation h3{color:#111827}.theme-light .structured-explanation p,.theme-light .structured-explanation ul,.theme-light .clickable-ot-list span{color:#475569}.theme-light .horizon-control{border-top-color:#e2e8f0;color:#475569}.theme-light .variant-parameterization{border-top-color:#e2e8f0}.theme-light .toggle-row{color:#475569}.theme-light .horizon-control input{background:#fff;border-color:#d9e3ee;color:#172033}.theme-light .plain-explanation-list strong{color:#172033}.theme-light .clickable-ot-list strong{color:#991b1b}.theme-light .clickable-ot-list button{background:#fef2f2;border-color:#fecaca}.theme-light .confirmation-modal{background:#fff;border-color:#d8e4f1}.theme-light .confirmation-modal p{color:#475569}.manual-warning{margin-top:12px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;padding:10px 12px;border-radius:8px;font-weight:800}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#0f172a61}.ot-modal,.data-modal{width:min(900px,100%);max-height:86vh;overflow:hidden;border:1px solid #d7e0ea;border-radius:8px;background:#fff;box-shadow:0 28px 70px #0f172a47}.data-modal{width:min(1120px,100%)}.modal-header,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #e2e8f0}.modal-actions{justify-content:flex-end;border-top:1px solid #e2e8f0;border-bottom:0}.modal-header h2{margin:0;font-size:20px}.ot-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.ot-detail-grid div{border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;background:#f8fafc}.ot-detail-grid span{display:block;color:#64748b;font-size:12px}.ot-detail-grid strong{display:block;margin-top:4px;color:#172033}.data-table-wrap{max-height:62vh;overflow:auto;padding:0 18px 18px}.data-table{width:100%;min-width:860px;border-collapse:collapse;font-size:12px}.data-table th,.data-table td{border-bottom:1px solid #e2e8f0;padding:8px;text-align:left}.data-table th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#475569}.data-table input{width:100%;min-width:110px;border:1px solid #d7e0ea;border-radius:6px;padding:7px 8px;background:#fff;color:#172033;font:inherit}.data-edit-actions{margin-top:auto;display:grid;gap:8px}.data-edit-actions button{justify-content:center}.theme-night{background:radial-gradient(circle at 20% 0%,rgba(37,99,235,.18),transparent 34%),linear-gradient(145deg,#071018,#0d1b26 52%,#162337);color:#e5eef8}@media(max-width:1260px){.dashboard-grid{grid-template-columns:250px minmax(620px,1fr)}.variants-panel{grid-column:1 / -1}.load-grid{grid-template-columns:1fr}.workflow-step{grid-template-columns:42px 42px 1fr}.workflow-step small,.workflow-step b,.workflow-step>svg{grid-column:3}.review-grid,.summary-page-grid,.access-layout{grid-template-columns:1fr}}
