:root{color-scheme:light;--bg: #f4f7fb;--panel: #ffffff;--ink: #172033;--muted: #667085;--line: #d9e2ee;--blue: #195b8d;--green: #00856f;--orange: #c46a16;--red: #b42318;--focus: #4e9bd7}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(78,155,215,.34);outline-offset:2px}.centerScreen{display:grid;min-height:100vh;place-items:center}.publicSignatureOnly{align-content:center;gap:12px;padding:28px;text-align:center}.publicSignatureOnly img{width:min(220px,68vw);margin-bottom:10px}.publicSignatureOnly h1,.publicSignatureOnly p{margin:0}.publicSignatureOnly h1{font-size:clamp(30px,7vw,48px)}.publicSignatureOnly p{max-width:560px;color:var(--muted);line-height:1.5}.authScreen{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(320px,460px);gap:clamp(22px,4vw,58px);align-items:center;min-height:100vh;padding:clamp(18px,4vw,56px);background:radial-gradient(circle at 12% 18%,rgba(244,115,33,.18),transparent 30%),radial-gradient(circle at 86% 80%,rgba(25,91,141,.18),transparent 34%),linear-gradient(135deg,#071a2d,#0f4773 48%,#f4f7fb 48.2%,#f4f7fb)}.authBrand{display:flex;flex-direction:column;justify-content:center;min-height:min(660px,calc(100vh - 72px));border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:clamp(28px,5vw,72px);background:linear-gradient(135deg,#082641fa,#0d507df0 58%,#f1701ff5);color:#fff;box-shadow:0 24px 80px #071a2d47;overflow:hidden}.authLogo{width:min(250px,70%);max-height:92px;object-fit:contain;align-self:flex-start;margin-bottom:clamp(28px,7vh,72px);border-radius:8px;background:#fffffff0;padding:10px 14px;box-shadow:0 16px 36px #0000002e}.authBrand span{color:#ffd8b7;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.authBrand h1{max-width:620px;margin:16px 0 18px;font-size:clamp(42px,6vw,78px);line-height:.98;letter-spacing:0}.authBrand p{max-width:520px;margin:0;color:#ffffffdb;font-size:18px;line-height:1.55}.authPanel{display:grid;align-items:center;min-height:auto;border:1px solid rgba(25,91,141,.16);border-radius:18px;background:#fffffff5;padding:clamp(24px,3vw,38px);box-shadow:0 24px 70px #10182829}.formStack{display:grid;gap:16px}.formStack h2{margin:0;font-size:28px}.muted{margin:0;color:var(--muted)}.field{display:grid;gap:7px}.field span{color:#344054;font-size:13px;font-weight:750}.field input,.field select,.userRow select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:10px 12px}.field.field-valid input{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1f}.field.field-invalid input{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.fieldStatus{font-size:12px;font-weight:850}.fieldStatus.valid{color:#15803d}.fieldStatus.invalid{color:#b91c1c}.primaryButton,.secondaryButton,.ghostButton,.logoutButton,.rowActions button,.moduleCard,.sidebar nav button{border:0;border-radius:8px}.primaryButton{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;background:var(--blue);color:#fff;font-weight:800}.primaryButton:disabled{cursor:not-allowed;background:#98a2b3;color:#f8fafc;opacity:.72}.secondaryButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid #b8d7ee;background:#e9f3fb;color:var(--blue);font-weight:800;padding:0 14px}.ghostButton,.authActions button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--blue);min-height:42px}.authActions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.alert{border:1px solid var(--line);border-left:7px solid #0284c7;border-radius:8px;padding:13px 14px;font-size:15px;font-weight:750;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.alert.danger{background:#fff1f0;color:var(--red);border-color:#fecaca;border-left-color:#dc2626}.alert.success{background:#ecfdf3;color:#087443;border-color:#bbf7d0;border-left-color:#16a34a}.alert.warning{background:#fffbeb;color:#92400e;border-color:#fde68a;border-left-color:#f59e0b}.appShell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.mobilePortalTopbar,.mobileNavBackdrop,.mobileDrawerClose{display:none}.sidebar{position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:22px;border-right:1px solid var(--line);background:#fff;padding:22px}.brandMark{display:grid;justify-items:start;gap:12px}.brandMark img{width:210px;max-width:100%;min-height:64px;height:auto;object-fit:contain}.brandPortalCard{display:grid;gap:8px;width:100%;border:1px solid #cfe3f4;border-left:6px solid var(--blue);border-radius:8px;background:#fff;padding:14px 15px;box-shadow:0 10px 28px #1018280f}.brandPortalCard strong{color:var(--ink);font-size:18px;font-weight:950;letter-spacing:.02em}.brandPortalCard span,.pageHeader p,.userRow span{color:var(--muted)}.brandPortalCard span{font-size:12px;font-weight:850}.sidebar nav{display:grid;gap:8px}.navGroup{display:grid;gap:6px}.navGroup+.navGroup{border-top:1px solid var(--line);margin-top:8px;padding-top:10px}.navGroupLabel{color:#667085;font-size:11px;font-weight:800;letter-spacing:.03em;padding:2px 12px}.sidebar nav button,.logoutButton{display:inline-flex;align-items:center;gap:9px;min-height:42px;background:transparent;color:#344054;text-align:left;padding:10px 12px}.sidebar nav button.active{background:#e9f3fb;color:var(--blue);font-weight:800}.sidebar nav button.locked,.moduleCard.locked{opacity:.58;cursor:not-allowed}.sidebar nav button.locked{background:#f3f6fa;color:#8a96a8}.logoutButton{justify-content:flex-start;border-top:1px solid var(--line);border-radius:0;margin-top:-2px;padding-top:14px}.workspace{min-width:0;padding:clamp(18px,3vw,34px)}.appShellNoc .workspace{background:#050b13;padding:0}.pageHeader{margin-bottom:22px}.pageHeader h1{margin:0 0 6px;font-size:clamp(28px,4vw,42px)}.moduleGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.moduleCard{display:grid;gap:12px;min-height:190px;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:18px;text-align:left;box-shadow:0 10px 28px #1018280f}.moduleCard span{display:inline-grid;width:46px;height:46px;place-items:center;border-radius:8px;background:#e8f6f4;color:var(--green)}.moduleCard strong{font-size:18px}.moduleCard p{margin:0;color:var(--muted);line-height:1.45}.moduleCard small{display:inline-flex;align-items:center;gap:5px;color:var(--blue);font-weight:800}.moduleCard.locked small{color:#991b1b}.dashboardOverview{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.dashboardNotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:16px}.dashboardNotes article{display:grid;gap:7px;border:1px solid var(--line);border-radius:8px;background:#f8fbff;padding:16px;box-shadow:0 10px 28px #1018280a}.dashboardNotes strong{color:var(--blue);font-size:15px}.dashboardNotes span{color:var(--muted);line-height:1.45}.emptyState,.tablePanel{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:24px;box-shadow:0 10px 28px #1018280d}.emptyState{display:grid;min-height:280px;place-items:center;color:var(--muted);font-size:22px;font-weight:800}.emptyState.compact{min-height:150px;font-size:16px}.offlineSummaryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.summaryCard{display:grid;gap:7px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:16px;box-shadow:0 10px 28px #1018280d}.summaryCard span{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.summaryCard strong{color:var(--blue);font-size:34px;line-height:1}.summaryCard p{margin:0;color:var(--muted);font-size:13px}.summaryTone{border-top:5px solid var(--tone, var(--blue));background:linear-gradient(180deg,var(--tone-bg, #ffffff) 0%,#ffffff 100%)}.summaryTone span{color:var(--tone-text, var(--muted))}.summaryTone strong{color:var(--tone, var(--blue))}.summaryTone.os-open{--tone: #1f6da8;--tone-bg: #e9f3fb;--tone-text: #195b8d}.summaryTone.os-forwarded{--tone: #d97706;--tone-bg: #fff7ed;--tone-text: #9a3412}.summaryTone.os-assumed{--tone: #7c3aed;--tone-bg: #f5f3ff;--tone-text: #5b21b6}.summaryTone.os-waiting_schedule{--tone: #0891b2;--tone-bg: #ecfeff;--tone-text: #0e7490}.summaryTone.os-scheduled{--tone: #4f46e5;--tone-bg: #eef2ff;--tone-text: #3730a3}.summaryTone.os-displacement,.summaryTone.os-analysis,.summaryTone.os-execution{--tone: #0284c7;--tone-bg: #f0f9ff;--tone-text: #075985}.summaryTone.os-canceled{--tone: #dc2626;--tone-bg: #fef2f2;--tone-text: #991b1b}.summaryTone.os-done{--tone: #16a34a;--tone-bg: #f0fdf4;--tone-text: #166534}.summaryTone.os-other{--tone: #64748b;--tone-bg: #f8fafc;--tone-text: #475569}.cameraIntegrationLayout{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:18px;align-items:start}.cameraIntegrationForm{position:sticky;top:16px}.cameraPreviewBox{display:grid;gap:7px;padding:14px;border:1px solid #b9d6ec;border-left:5px solid var(--blue);border-radius:8px;background:#f0f8ff}.cameraPreviewBox span{color:var(--blue);font-size:12px;font-weight:900;text-transform:uppercase}.cameraPreviewBox strong{font-size:18px}.cameraPreviewBox p{margin:0;color:var(--muted)}.inlineFormRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.inlineFormRow input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:7px;padding:0 12px;background:#fff}.cameraIntegrationPanel{display:grid;gap:16px}.cameraIntegrationSummary{grid-template-columns:repeat(4,minmax(0,1fr))}.cameraIntegrationSteps ol{margin:0;padding-left:20px;color:var(--muted);line-height:1.8}.cameraIntegrationSteps li::marker{color:var(--blue);font-weight:900}.cameraIntegrationFields div{display:flex;flex-wrap:wrap;gap:8px}.cameraIntegrationFields span{border:1px solid #b9d6ec;border-radius:999px;background:#eff8ff;color:#164e78;padding:7px 10px;font-size:12px;font-weight:800}.offlinePanel{display:grid;gap:16px}.offlineToolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.offlineToolbar h2{margin:0 0 4px}.offlineFilters{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(170px,.7fr) minmax(170px,.9fr);gap:12px;align-items:end}.inputWithIcon{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 12px}.inputWithIcon svg{color:var(--muted)}.inputWithIcon input{border:0;padding-left:0}.inputWithIcon input:focus-visible{outline:0}.offlineMeta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;color:var(--muted);font-size:14px}.offlineMeta strong{color:var(--ink);font-size:18px}.offlineRows{display:grid;gap:10px}.offlineManagementGrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px;margin-bottom:14px}.offlineHistoryPanel,.offlineTimeline,.offlineRecurrenceList,.offlineTechnicianPanel,.offlineTechnicianRows{display:grid;gap:12px}.offlineTimelineRow,.offlineRecurrenceRow{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:10px 12px}.offlineTimelineRow span,.offlineTimelineRow small,.offlineRecurrenceRow span{color:var(--muted);font-size:12px;font-weight:800}.offlineTimelineRow strong,.offlineRecurrenceRow strong{color:var(--ink)}.offlineRecurrenceRow div{display:grid;gap:2px;min-width:0}.offlineRecurrenceRow div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offlineRecurrenceRow>span{border-radius:999px;background:#e9f3fb;color:var(--blue);padding:7px 10px}.offlineCardBadges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.offlineHistoryFlag.new{background:#e0f2fe;color:#075985}.offlineHistoryFlag.recurring{background:#fff7ed;color:#9a3412}.offlineHistoryFlag.persistent{background:#fee2e2;color:#b91c1c}.offlineTechnicianCard{display:grid;gap:12px;border:1px solid #b9ddf5;border-left:6px solid var(--blue);border-radius:8px;background:#fff;padding:14px;box-shadow:0 10px 28px #1018280d}.offlineTechnicianActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.offlineTechnicianActions .secondaryButton{min-height:48px;justify-content:center}.systemErrorRows{display:grid;gap:10px}.systemErrorRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;border:1px solid #fecaca;border-left:6px solid var(--red);border-radius:8px;background:#fff7f7;padding:14px}.systemErrorRow.resolved{border-color:#bbf7d0;border-left-color:#16a34a;background:#f0fdf4}.systemErrorRowHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.systemErrorRowHeader strong{overflow-wrap:anywhere;color:var(--ink)}.systemErrorRowHeader span{flex:0 0 auto;border-radius:999px;background:#fee2e2;color:#b91c1c;padding:6px 9px;font-size:12px;font-weight:850}.systemErrorRow.resolved .systemErrorRowHeader span{background:#dcfce7;color:#087443}.systemErrorRow small,.systemErrorRow code,.systemErrorRow pre{display:block;margin-top:6px;color:#475569}.systemErrorRow pre,.systemErrorRow code{max-height:180px;overflow:auto;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:10px;white-space:pre-wrap;overflow-wrap:anywhere}.offlineCard{display:grid;gap:12px;border:1px solid #e7edf5;border-radius:8px;background:#fff;padding:14px}.offlineCardHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.offlineCardHeader strong,.offlineCardHeader span{display:block}.offlineCardHeader strong{overflow-wrap:anywhere}.offlineCardHeader span{margin-top:4px;color:var(--muted);font-size:13px}.offlineStatus.active{background:#dcfce7;color:#087443}.offlineStatus.automatic_block{background:#fff7ed;color:var(--orange)}.offlineStatus.manual_block{background:#fee2e2;color:var(--red)}.offlineStatus.other{background:#e9f3fb;color:var(--blue)}.offlineDetails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.offlineDetails div{min-width:0;border-radius:8px;background:#f8fafc;padding:10px}.offlineDetails dt{color:var(--muted);font-size:12px;font-weight:800}.offlineDetails dd{margin:4px 0 0;overflow-wrap:anywhere;font-weight:750}.offlineAddress{display:inline-flex;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:14px}.viabilityLayout{display:grid;grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:18px;align-items:start}.viabilitySearch{position:sticky;top:24px}.viabilityResult{display:grid;gap:16px}.viabilityDecision{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px;box-shadow:0 10px 28px #1018280d}.viabilityDecision span{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.viabilityDecision strong{font-size:clamp(24px,3vw,36px);line-height:1.05}.viabilityDecision p,.viabilityDecision small{margin:0;color:var(--muted);line-height:1.45}.viabilityDecision.likely{border-color:#b7dfc7;background:#ecfdf3}.viabilityDecision.attention,.viabilityDecision.history_warning{border-color:#fed7aa;background:#fff7ed}.viabilityDecision.unknown{border-color:#c7d7ea;background:#f8fafc}.viabilitySummaryGrid{margin-bottom:0}.viabilityMapSketch{position:relative;min-height:280px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:linear-gradient(90deg,rgba(25,91,141,.09) 1px,transparent 1px),linear-gradient(0deg,rgba(25,91,141,.09) 1px,transparent 1px),#f8fafc;background-size:42px 42px}.viabilityMapSketch:before,.viabilityMapSketch:after{position:absolute;top:18%;right:18%;bottom:18%;left:18%;content:"";border:1px dashed rgba(25,91,141,.45);border-radius:999px}.viabilityMapSketch:after{top:32%;right:32%;bottom:32%;left:32%}.mapCenterPin{position:absolute;left:50%;top:50%;z-index:1;display:grid;width:48px;height:48px;place-items:center;border-radius:999px;background:var(--blue);color:#fff;transform:translate(-50%,-50%);box-shadow:0 14px 36px #195b8d42}.mapDot{position:absolute;z-index:1;width:16px;height:16px;border:3px solid #ffffff;border-radius:999px;background:var(--green);box-shadow:0 8px 22px #00856f47}.mapDot.dot1{left:57%;top:37%}.mapDot.dot2{left:38%;top:42%}.mapDot.dot3{left:66%;top:61%}.mapDot.dot4{left:28%;top:64%}.mapDot.dot5{left:75%;top:28%}.viabilitySection{display:grid;gap:14px}.viabilitySection h2{margin:0}.viabilityRows{display:grid;gap:10px}.viabilityClientCard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:1px solid #e7edf5;border-radius:8px;background:#fff;padding:14px}.viabilityClientCard.warning{border-color:#fed7aa;background:#fffaf3}.viabilityClientCard strong,.viabilityClientCard span{display:block}.viabilityClientCard span{margin-top:4px;color:var(--muted);font-size:13px}.viabilityClientCard dl{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.viabilityClientCard dl div{min-width:0;border-radius:8px;background:#f8fafc;padding:10px}.viabilityClientCard dt{color:var(--muted);font-size:12px;font-weight:800}.viabilityClientCard dd{margin:4px 0 0;overflow-wrap:anywhere;font-weight:750}.viabilityClientCard p{grid-column:1 / -1;margin:0;color:var(--orange);font-size:13px;font-weight:750}.viabilityRisk.high,.viabilityRisk.medium{background:#fff7ed;color:var(--orange)}.viabilityRisk.low,.viabilityRisk.none{background:#e9f3fb;color:var(--blue)}.salesLayout{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:18px;align-items:start}.salesPanel{position:sticky;top:24px}.salesWorkspace{display:grid;gap:16px}.salesHero{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px;box-shadow:0 10px 28px #1018280d}.salesHero span{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.salesHero strong{font-size:clamp(24px,3vw,36px);line-height:1.05}.salesHero p{margin:0;color:var(--muted)}.salesSummaryGrid{margin-bottom:0}.salesContractsPanel{display:grid;gap:16px}.salesRows{display:grid;gap:10px}.salesContractCard{display:grid;gap:12px;border:1px solid #e7edf5;border-radius:8px;background:#fff;padding:14px}.salesContractCard.attention{border-color:#fed7aa;background:#fffaf3}.salesContractCard.risk{border-color:#fecaca;background:#fff7f7}.salesContractHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.salesContractHeader strong,.salesContractHeader span{display:block}.salesContractHeader strong{overflow-wrap:anywhere}.salesContractHeader span{margin-top:4px;color:var(--muted);font-size:13px}.salesHealth.healthy{background:#dcfce7;color:#087443}.salesHealth.attention{background:#fff7ed;color:var(--orange)}.salesHealth.risk{background:#fee2e2;color:var(--red)}.salesHealth.unknown{background:#e9f3fb;color:var(--blue)}.salesDetails{grid-template-columns:repeat(4,minmax(0,1fr))}.salesContractFooter{display:flex;flex-wrap:wrap;gap:8px}.salesContractFooter span{border-radius:999px;background:#f1f5f9;color:#344054;padding:6px 10px;font-size:12px;font-weight:800}.salesContractCard p{margin:0;color:var(--muted);font-size:13px;font-weight:750}.serviceOrdersLayout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}.serviceOrdersFilters{position:sticky;top:24px}.serviceOrdersWorkspace{display:grid;gap:16px}.serviceOrdersSummaryGrid{margin-bottom:0}.serviceOrdersPanel{display:grid;gap:16px}.serviceOrderToolbarActions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.inlineSelect{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:850}.inlineSelect select{min-height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);padding:0 34px 0 12px;font:inherit}.serviceOrdersRows{display:grid;gap:10px}.serviceOrderCard{--os-color: #1f6da8;--os-bg: #f4f9fd;--os-pill-bg: #e9f3fb;--os-pill-text: #195b8d;display:grid;gap:12px;border:1px solid color-mix(in srgb,var(--os-color) 38%,#d8e3f0);border-left:7px solid var(--os-color);border-radius:8px;background:linear-gradient(90deg,var(--os-bg) 0%,#ffffff 42%);padding:14px}.serviceOrderCard.open{--os-color: #1f6da8;--os-bg: #e9f3fb;--os-pill-bg: #dbeafe;--os-pill-text: #195b8d}.serviceOrderCard.forwarded{--os-color: #d97706;--os-bg: #fff7ed;--os-pill-bg: #fed7aa;--os-pill-text: #9a3412}.serviceOrderCard.assumed{--os-color: #7c3aed;--os-bg: #f5f3ff;--os-pill-bg: #ede9fe;--os-pill-text: #5b21b6}.serviceOrderCard.waiting_schedule{--os-color: #0891b2;--os-bg: #ecfeff;--os-pill-bg: #cffafe;--os-pill-text: #0e7490}.serviceOrderCard.scheduled{--os-color: #4f46e5;--os-bg: #eef2ff;--os-pill-bg: #e0e7ff;--os-pill-text: #3730a3}.serviceOrderCard.execution,.serviceOrderCard.displacement,.serviceOrderCard.analysis{--os-color: #0284c7;--os-bg: #f0f9ff;--os-pill-bg: #e0f2fe;--os-pill-text: #075985}.serviceOrderCard.done{--os-color: #16a34a;--os-bg: #f0fdf4;--os-pill-bg: #dcfce7;--os-pill-text: #166534}.serviceOrderCard.canceled{--os-color: #dc2626;--os-bg: #fef2f2;--os-pill-bg: #fee2e2;--os-pill-text: #991b1b}.serviceOrderCard.other{--os-color: #64748b;--os-bg: #f8fafc;--os-pill-bg: #e2e8f0;--os-pill-text: #475569}.serviceOrderCard.late{--os-color: #dc2626;--os-bg: #fff7f7;--os-pill-bg: #fee2e2;--os-pill-text: #991b1b}.serviceOrderHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.serviceOrderHeader strong,.serviceOrderHeader span{display:block}.serviceOrderHeader strong{overflow-wrap:anywhere}.serviceOrderHeader span{margin-top:4px;color:var(--muted);font-size:13px}.serviceOrderStatus.open,.serviceOrderStatus.other,.serviceOrderStatus.scheduled,.serviceOrderStatus.execution,.serviceOrderStatus.displacement,.serviceOrderStatus.analysis,.serviceOrderStatus.forwarded,.serviceOrderStatus.assumed,.serviceOrderStatus.waiting_schedule,.serviceOrderStatus.done,.serviceOrderStatus.canceled,.serviceOrderCard.late .serviceOrderStatus{background:var(--os-pill-bg);color:var(--os-pill-text)}.serviceOrderDetails{grid-template-columns:repeat(4,minmax(0,1fr))}.serviceOrderBlock{display:grid;gap:6px}.serviceOrderBlock h3{margin:0;color:#475467;font-size:12px;font-weight:900;text-transform:uppercase}.serviceOrderBlock p{margin:0}.serviceOrderMessageBlock p{margin:0;border-left:4px solid #1f6da8;padding:11px 12px;color:#1f2937;background:#f6f9fc;border-radius:6px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.serviceOrderAddress{display:inline-flex;align-items:flex-start;gap:7px;margin:0;color:var(--muted);font-size:14px;line-height:1.4;overflow-wrap:anywhere}.serviceOrderAddress svg{flex:0 0 auto;margin-top:2px}.tinyActionButton{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:fit-content;min-height:50px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff;color:var(--blue);padding:12px 18px;font-size:15px;font-weight:850}.tinyActionButton svg{width:24px;height:24px}.serviceOrderCredentials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.serviceOrderCredentials div,.signatureMiniCard,.contractAccessBox{display:grid;gap:6px;border:1px solid #e1e9f3;border-radius:7px;background:#f8fafc;padding:9px}.serviceOrderCredentials span,.signatureMiniCard span,.contractAccessBox span{color:#667085;font-size:11px;font-weight:900;text-transform:uppercase}.serviceOrderCredentials strong{color:var(--text);font-size:14px;overflow-wrap:anywhere}.signatureMiniCard strong,.contractAccessBox strong{color:var(--text);font-size:13px;overflow-wrap:anywhere}.signatureMiniCard.pending{border-color:#fed7aa;background:#fff7ed}.signatureMiniCard.signed{border-color:#bae6fd;background:#f0f9ff}.signatureSteps{display:flex;flex-wrap:wrap;gap:6px}.signatureSteps span{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;text-transform:uppercase}.signatureSteps .done{background:#dcfce7;color:#166534}.signatureSteps .pending{background:#ffedd5;color:#9a3412}.contractAccessBox.ok{border-color:#bbf7d0;background:#f0fdf4}.contractAccessBox.ok strong{color:#166534}.contractAccessBox.blocked{border-color:#fecaca;background:#fff7f7}.contractAccessBox.blocked strong{color:#991b1b}.officeAlertButton{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:42px;border:1px solid #fed7aa;border-radius:7px;background:#ffedd5;color:#9a3412;padding:10px 14px;font-size:13px;font-weight:900;text-transform:uppercase}.officeAlertButton.copied{border-color:#bbf7d0;background:#dcfce7;color:#166534}.serviceOrderCredentials button,.signatureMiniCard a{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:fit-content;min-height:42px;border:1px solid #d8e3f0;border-radius:6px;background:#fff;color:var(--blue);padding:10px 14px;font-size:14px;font-weight:850;text-decoration:none}.serviceOrderCredentials button svg{width:18px;height:18px}.serviceOrderCredentials button.copied{border-color:#bbf7d0;background:#dcfce7;color:#166534}.serviceOrderFlags{display:flex;flex-wrap:wrap;gap:8px}.serviceOrderFlags span{border-radius:999px;background:#f1f5f9;color:#344054;padding:6px 10px;font-size:12px;font-weight:800}.serviceOrderFlags .priorityFlag{border:1px solid transparent}.priorityFlag.critical{background:#fee2e2;border-color:#fecaca;color:#991b1b}.priorityFlag.high{background:#ffedd5;border-color:#fed7aa;color:#9a3412}.priorityFlag.medium{background:#fef9c3;border-color:#fde68a;color:#854d0e}.priorityFlag.low{background:#dcfce7;border-color:#bbf7d0;color:#166534}.maintenanceLayout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}.maintenanceLayoutFull{grid-template-columns:minmax(0,1fr)}.maintenanceForm{position:sticky;top:24px}.maintenanceWorkspace{display:grid;gap:16px}.maintenanceSummaryGrid{margin-bottom:0}.maintenanceRows{display:grid;gap:12px}.maintenanceCard{display:grid;grid-template-columns:106px minmax(0,1fr) auto;gap:14px;border:1px solid #d7e4f2;border-left:8px solid #2563eb;border-radius:8px;background:#fff;padding:14px;box-shadow:0 12px 28px #1018280f}.maintenanceCard.soon{border-left-color:#f59e0b;background:#fffbeb}.maintenanceCard.overdue{border-left-color:#dc2626;background:#fff5f5}.maintenanceGauge{display:grid;align-content:center;justify-items:center;gap:4px;border-right:1px solid var(--line);padding-right:14px;text-align:center}.maintenanceGauge strong{color:var(--blue);font-size:38px;line-height:1}.maintenanceCard.soon .maintenanceGauge strong{color:#b45309}.maintenanceCard.overdue .maintenanceGauge strong{color:#b91c1c}.maintenanceGauge span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.maintenanceBody{display:grid;gap:10px;min-width:0}.maintenanceHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.maintenanceHeader strong,.maintenanceHeader span{display:block}.maintenanceHeader strong{color:var(--text);overflow-wrap:anywhere}.maintenanceHeader span{color:var(--muted);font-size:13px}.maintenanceStatus.ok{background:#dcfce7;color:#166534}.maintenanceStatus.soon{background:#ffedd5;color:#9a3412}.maintenanceStatus.overdue{background:#fee2e2;color:#991b1b}.maintenanceDetails{grid-template-columns:repeat(4,minmax(0,1fr))}.maintenanceBody p{margin:0;border-radius:6px;background:#ffffffb8;color:#344054;padding:9px 10px;font-size:13px;font-weight:700}.maintenanceActions{display:flex;align-items:flex-start;gap:8px}.withdrawalsLayout{display:grid;gap:16px}.withdrawalsHero{display:flex;align-items:center;justify-content:space-between;gap:16px;border-left:8px solid #dc2626;background:#fff7f7}.withdrawalsHero div{display:grid;gap:4px}.withdrawalsHero span{color:#991b1b;font-size:12px;font-weight:900;text-transform:uppercase}.withdrawalsHero strong{color:#111827;font-size:30px;line-height:1}.withdrawalsHero p{margin:0;color:#667085}.withdrawalsSummaryGrid{margin-bottom:0}.withdrawalsRows{display:grid;gap:14px}.withdrawalCard{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:14px;align-items:stretch;border:1px solid #fed7aa;border-left:10px solid #f97316;border-radius:8px;background:#fff7ed;padding:14px;color:var(--text);box-shadow:0 10px 26px #1018280f}.withdrawalCard.urgent{border-color:#fecaca;border-left-color:#dc2626;background:#fff7f7;box-shadow:0 10px 26px #1018280f}.withdrawalCard.critical{border-color:#fca5a5;border-left-color:#991b1b;background:#fff1f2;color:var(--text);box-shadow:0 10px 26px #10182812}.withdrawalUrgency{display:grid;align-content:center;justify-items:center;gap:5px;border-right:1px solid rgba(153,27,27,.18);padding-right:14px;text-align:center}.withdrawalUrgency svg{color:#ea580c}.withdrawalCard.urgent .withdrawalUrgency svg,.withdrawalCard.urgent .withdrawalUrgency strong{color:#b91c1c}.withdrawalCard.critical .withdrawalUrgency{border-right-color:#991b1b2e}.withdrawalCard.critical .withdrawalUrgency svg,.withdrawalCard.critical .withdrawalUrgency strong,.withdrawalCard.critical .withdrawalUrgency span{color:#991b1b}.withdrawalUrgency strong{color:#c2410c;font-size:40px;line-height:1}.withdrawalUrgency span{color:#9a3412;font-size:12px;font-weight:900;text-transform:uppercase}.withdrawalBody{display:grid;gap:10px;min-width:0}.withdrawalHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.withdrawalHeader strong,.withdrawalHeader span{display:block}.withdrawalHeader strong{color:var(--text);overflow-wrap:anywhere}.withdrawalHeader span{margin-top:4px;color:#667085;font-size:13px}.withdrawalCard.critical .withdrawalHeader span,.withdrawalCard.critical .withdrawalDetails dt,.withdrawalCard.critical .withdrawalDetails dd,.withdrawalCard.critical .serviceOrderAddress,.withdrawalCard.critical .withdrawalMessage p{color:#344054}.withdrawalStatus.attention{background:#ffedd5;color:#9a3412}.withdrawalStatus.urgent{background:#fee2e2;color:#991b1b}.withdrawalStatus.critical{background:#fee2e2;color:#7f1d1d}.withdrawalDetails{grid-template-columns:repeat(4,minmax(0,1fr))}.withdrawalMessage{display:grid;gap:5px;border-radius:7px;background:#ffffffb3;padding:10px}.withdrawalCard.critical .withdrawalMessage{background:#ffffffb8}.withdrawalMessage h3{margin:0;color:inherit;font-size:12px;font-weight:900;text-transform:uppercase}.withdrawalMessage p{margin:0;color:#344054;font-size:14px;line-height:1.45;overflow-wrap:anywhere}.withdrawalMapButton{align-self:start;min-width:180px}.withdrawalCardActions{display:grid;align-content:start;gap:8px;min-width:210px}.withdrawalCardActions .secondaryButton,.withdrawalCardActions .sentButton,.withdrawalCardActions .opaDisabledButton,.withdrawalCardActions .withdrawalMapButton{width:100%}.sendPanelLegend{display:inline-flex;align-items:center;min-height:42px;padding:0 12px;border-radius:8px;background:#ffffffbf;color:#334155;font-size:.82rem;font-weight:900;text-transform:uppercase}.technicianBoard{display:grid;gap:16px}.technicianBoardHeader{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:14px;border:1px solid #cfe0f1;border-left:8px solid var(--blue);border-radius:8px;background:#f8fbff}.technicianBoardHeader div:first-child{display:grid;gap:4px}.technicianBoardHeader span{color:#475467;font-size:12px;font-weight:900;text-transform:uppercase}.technicianBoardHeader strong{color:var(--text);font-size:28px;line-height:1}.technicianFilters{display:grid;grid-template-columns:minmax(150px,180px) minmax(150px,180px) auto;gap:8px;align-items:end}.technicianFilters .field{margin:0}.technicianRows .withdrawalCard,.technicianSchedule .scheduleCard{box-shadow:0 12px 28px #10182814}.scheduleLayout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}.scheduleControls{position:sticky;top:24px}.scheduleForm{border-top:1px solid var(--line);padding-top:14px}.scheduleOrderPreview{display:grid;gap:5px;border:1px solid #d7e4f2;border-left:5px solid var(--blue);border-radius:8px;background:#f5fbff;padding:11px}.scheduleOrderPreview strong,.scheduleOrderPreview span,.scheduleOrderPreview small{overflow-wrap:anywhere}.scheduleOrderPreview strong{color:var(--text)}.scheduleOrderPreview span{color:var(--blue);font-size:13px;font-weight:850}.scheduleOrderPreview small{color:var(--muted);font-size:12px}.scheduleWorkspace{display:grid;gap:16px}.scheduleSummaryGrid{margin-bottom:0}.scheduleSendPanel{display:grid;grid-template-columns:minmax(420px,1.25fr) minmax(360px,.9fr);gap:10px;align-items:stretch;padding:10px;border:1px solid #cfe0f1;border-radius:8px;background:#f4f8fc}.scheduleSendIntro{grid-column:1 / -1;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:2px 2px 0}.scheduleSendIntro h2{margin:0;font-size:1.15rem}.scheduleSendIntro p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.scheduleSendSegment{display:flex;flex-wrap:wrap;align-items:end;gap:8px;min-height:54px;padding:8px;border:1px solid #bfdbfe;border-radius:8px}.scheduleSendSegmentMain{background:#f7fef9;border-color:#86efac}.scheduleSendSegmentDate{background:#f0f9ff;border-color:#7dd3fc}.scheduleSendSegmentMain .telegramSectorPicker{flex:1 1 380px}.scheduleSendSegmentDate .scheduleDateSend{flex:1 1 285px}.scheduleSendSegmentDate .opaDisabledButton{flex:0 0 auto}.telegramSectorPicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:42px;padding:8px 10px;border:0;border-radius:8px;background:#ffffffc2;justify-content:flex-start}.telegramSectorPicker strong{color:#334155;font-size:.8rem}.telegramSectorPicker label{display:inline-flex;align-items:center;gap:6px;color:#0f172a;font-weight:900;font-size:.86rem}.telegramSectorPicker input{width:18px;height:18px;margin:0}.scheduleDateSend{display:grid;grid-template-columns:minmax(140px,170px) auto;gap:8px;align-items:end}.scheduleDateSend .field{margin:0}.toastNotice{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1000;width:max-content;max-width:min(720px,calc(100vw - 32px));border:1px solid #38bdf8;border-left:7px solid #0284c7;border-radius:10px;background:#e0f2fe;color:#075985;box-shadow:0 18px 40px #0284c733;padding:18px 22px;font-size:1.08rem;font-weight:900;line-height:1.42;overflow-wrap:anywhere;animation:toastSlideIn .18s ease-out}.toastNotice strong,.toastNotice span{display:block}.toastNotice strong{margin-bottom:4px;font-size:1.12em}.toastNotice.toastTop{top:max(14px,env(safe-area-inset-top));transform:translate(-50%)}.toastNotice.success{border-color:#86efac;border-left-color:#16a34a;background:#dcfce7;color:#166534;box-shadow:0 18px 42px #16a34a38}.toastNotice.error{border-color:#fca5a5;border-left-color:#dc2626;background:#fee2e2;color:#991b1b;box-shadow:0 18px 42px #dc262633}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%,calc(-50% - 8px))}to{opacity:1;transform:translate(-50%,-50%)}}@media(max-width:760px){.toastNotice.toastTop{width:calc(100vw - 24px);max-width:calc(100vw - 24px);padding:16px 18px;font-size:1rem;text-align:left}}.opaDisabledButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid #fecaca;border-radius:7px;background:#fee2e2;color:#991b1b;font-weight:900;cursor:not-allowed;opacity:1}.scheduleDay{display:grid;gap:12px}.scheduleWorkspace>.scheduleDay,.scheduleWorkspace>.scheduleOtherDays{display:none}.scheduleTimeline{display:grid;gap:14px}.scheduleDateGroup{display:grid;gap:12px;border-left:5px solid #93c5fd}.scheduleDateGroup.overdue,.scheduleDateGroup.past{border-left-color:#ef4444;background:#fff7f7}.scheduleDateGroup.today{border-left-color:#0ea5e9;background:#f0f9ff}.scheduleDateGroup.tomorrow{border-left-color:#14b8a6;background:#f0fdfa}.scheduleDateGroup.future{border-left-color:#f59e0b;background:#fffbeb}.scheduleDayGroupHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.scheduleDayGroupHeader h2{margin:0}.scheduleDayGroupHeader p{margin:4px 0 0;color:var(--muted)}.scheduleDayGroupHeader>span{border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:900;padding:7px 10px;white-space:nowrap}.scheduleOtherDays{display:grid;gap:14px;border-left:5px solid #f59e0b}.scheduleOtherDays .scheduleCard{background:#fffbeb;border-color:#fde68a}.scheduleCard{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:14px;align-items:stretch;border:1px solid #d7e4f2;border-radius:8px;background:#fff;padding:14px;box-shadow:0 10px 28px #1018280d}.scheduleCard.in_progress{border-color:#bae6fd;background:#f0f9ff}.scheduleCard.done{border-color:#bbf7d0;background:#f7fef9}.scheduleCard.overdue{border-color:#fecaca;background:#fff7f7}.scheduleCard.today{border-color:#bae6fd;background:#f8fcff}.scheduleCard.tomorrow{border-color:#99f6e4;background:#f0fdfa}.scheduleCard.future{border-color:#fde68a;background:#fffbeb}.scheduleTime{display:grid;align-content:center;gap:6px;border-right:1px solid var(--line);padding-right:14px}.scheduleTime strong{color:var(--blue);font-size:32px;line-height:1}.scheduleTime small{color:#92400e;font-size:12px;font-weight:850}.scheduleTime span{color:var(--muted);font-size:13px;font-weight:800}.scheduleBody{display:grid;gap:10px;min-width:0}.scheduleHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.scheduleHeader strong,.scheduleHeader span{display:block}.scheduleHeader strong{overflow-wrap:anywhere}.scheduleHeader span{margin-top:4px;color:var(--muted);font-size:13px}.scheduleBody p{display:inline-flex;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:14px}.scheduleInfoBlocks{display:grid;gap:8px}.scheduleInfoBlock{display:grid;gap:5px;border:1px solid #d7e4f2;border-left:5px solid var(--blue);border-radius:8px;background:#f8fbff;padding:9px 11px}.scheduleInfoBlock strong{color:var(--blue);font-size:11px;font-weight:950;letter-spacing:.02em}.scheduleInfoBlock span{margin:0;color:#344054;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.scheduleInfoBlock.agendaNote{border-left-color:#f59e0b;background:#fffbeb}.scheduleInfoBlock.agendaNote strong{color:#92400e}.scheduleInfoBlock.mutedBlock{opacity:.78}.scheduleStatus.scheduled{background:#eef2ff;color:#3730a3}.scheduleStatus.in_progress{background:#e0f2fe;color:#075985}.scheduleStatus.done{background:#dcfce7;color:#087443}.scheduleStatus.canceled{background:#fee2e2;color:var(--red)}.scheduleTimingPill.overdue{background:#fee2e2;color:#991b1b}.scheduleTimingPill.today{background:#dbeafe;color:#1d4ed8}.scheduleTimingPill.tomorrow{background:#ccfbf1;color:#0f766e}.scheduleTimingPill.future{background:#fef3c7;color:#92400e}.scheduleRemove{align-self:start;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px}.scheduleActions{display:grid;align-content:start;gap:8px;min-width:172px}.scheduleActions .secondaryButton,.scheduleActions .ghostButton,.scheduleActions .dangerGhostButton,.scheduleActions .sentButton,.scheduleActions .opaDisabledButton{width:100%;justify-content:center}.dangerGhostButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid #fecaca;border-radius:7px;background:#fff7f7;color:#991b1b;font-weight:850}.dangerGhostButton:hover:not(:disabled){background:#fee2e2}.dangerGhostButton:disabled{opacity:.65;cursor:not-allowed}.sentButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid #86efac;border-radius:7px;background:#dcfce7;color:#166534;font-weight:900}.sentButton:hover:not(:disabled){background:#fee2e2;border-color:#fecaca;color:#991b1b}.sentButton:disabled{opacity:.65;cursor:not-allowed}.userRows{display:grid;gap:10px}.userRow{display:grid;grid-template-columns:minmax(220px,1fr) 120px 170px minmax(420px,auto);gap:12px;align-items:center;border:1px solid #e7edf5;border-radius:8px;padding:12px}.userRow strong,.userRow span,.userRow small{display:block}.userRow small{margin-top:3px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.statusPill{border-radius:999px;padding:7px 10px;text-align:center;font-size:12px;font-weight:800}.statusPill.active{background:#dcfce7;color:#087443}.statusPill.pending_approval{background:#fff7ed;color:var(--orange)}.statusPill.blocked,.statusPill.disabled{background:#fee2e2;color:var(--red)}.rowActions{display:grid;grid-template-columns:repeat(5,minmax(76px,1fr));gap:7px}.rowActions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;background:#eef4f8;color:#344054;font-size:12px;font-weight:750}.tabsBar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.tabsBar button{min-height:42px;border:1px solid #d8e3f0;border-radius:7px;background:#fff;color:#344054;padding:10px 14px;font-weight:850}.tabsBar button.active{border-color:#9fd0f0;background:#e9f6ff;color:var(--blue)}.accessMatrix{display:grid;min-width:760px;overflow-x:auto;border:1px solid #e1e9f3;border-radius:8px}.accessMatrixHeader,.accessMatrixRow{display:grid;grid-template-columns:minmax(230px,1fr) repeat(5,minmax(132px,.35fr));align-items:center}.accessMatrixHeader{background:#f1f6fb;color:#475467;font-size:12px;font-weight:900;text-transform:uppercase}.accessMatrixHeader span,.accessMatrixRow>div,.matrixAccess{padding:12px;border-bottom:1px solid #e1e9f3}.accessMatrixRow:last-child>div,.accessMatrixRow:last-child .matrixAccess{border-bottom:0}.accessMatrixRow strong,.accessMatrixRow small{display:block}.accessMatrixRow small{margin-top:3px;color:var(--muted);font-size:12px}.matrixAccess select{width:100%;min-height:38px;border:1px solid #cfe0f2;border-radius:7px;background:#fff;color:#0b1b33;font-weight:850}.permissionsHeader{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:14px;align-items:end}.compactField{margin:0}.accessCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.accessCard{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;align-items:center;border:1px solid #dbe7f4;border-left:5px solid #94a3b8;border-radius:8px;background:#fff;padding:12px}.accessCard.level-none{border-left-color:#ef4444;background:#fff7f7}.accessCard.level-read{border-left-color:#0ea5e9;background:#f0f9ff}.accessCard.level-full{border-left-color:#22c55e;background:#f0fdf4}.accessCard strong,.accessCard small{display:block}.accessCard small{margin-top:3px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.accessCard select{width:100%;min-height:38px;border:1px solid #cfe0f2;border-radius:7px;background:#fff;color:#0b1b33;font-weight:850}.portalModalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#0f172a6b;padding:18px}.portalModal{display:grid;gap:14px;width:min(560px,100%);max-height:min(92vh,760px);overflow:auto;border:1px solid #d5e2f0;border-radius:10px;background:#fff;padding:20px;box-shadow:0 24px 70px #0f172a38}.portalModal h2{margin:0 0 4px}.modalActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.auditFilters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 150px 150px auto;gap:10px;align-items:end}.auditRows{display:grid;gap:8px}.auditRow{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;align-items:center;border:1px solid #e1e9f3;border-radius:8px;background:#f8fafc;padding:12px}.auditRow strong,.auditRow span,.auditRow small{display:block}.auditRow span,.auditRow small{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.signatureLayout{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:18px;align-items:start}.signatureLayoutUnified{grid-template-columns:minmax(280px,380px) minmax(0,1fr)}.signatureLayoutUnified>*,.signatureRow>*{min-width:0}.signatureHeroHeader{display:grid;grid-template-columns:1fr;gap:12px;align-items:stretch;margin-bottom:14px;border-bottom:1px solid var(--line);background:#f4f7fbf5;padding:8px 0 10px}.signatureTitleCard{display:grid;grid-template-columns:minmax(0,1fr) minmax(470px,610px);gap:14px;min-height:86px;align-content:center;align-items:center;border:1px solid #cfe3f4;border-left:7px solid var(--blue);border-radius:8px;background:#fff;padding:14px 20px;box-shadow:0 10px 28px #1018280f}.signatureHeroHeader h1,.signatureHeroHeader p{margin:0}.signatureHeroHeader h1{color:var(--ink);font-size:clamp(27px,2.6vw,38px)}.signatureHeroHeader p{margin-top:6px;color:var(--muted);max-width:820px}.signatureHeaderBadges{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);gap:8px;align-items:stretch}.signatureTopArea{display:grid;gap:12px}.signatureCreateGrid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.signatureMethodSwitch{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid #cfe3f4;border-radius:8px;background:#eef7ff;padding:6px}.signatureMethodSwitch button{min-height:42px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--blue);font-weight:850;white-space:normal}.signatureMethodSwitch button.active{border-color:#8ec5ef;background:#fff;box-shadow:0 6px 18px #10182814}.signatureMethodCard.inactive{display:none}.contractPreviewCard{display:grid;gap:8px;border:1px solid #b9ddf5;border-left:6px solid var(--blue);border-radius:8px;background:#f0f9ff;padding:12px 14px;color:var(--ink)}.contractPreviewCard span{color:var(--blue);font-size:12px;font-weight:850;text-transform:uppercase}.contractPreviewCard strong{font-size:18px}.contractPreviewCard div{display:flex;flex-wrap:wrap;gap:8px}.contractPreviewCard small{border-radius:999px;background:#fff;padding:6px 9px;color:#334155;font-weight:750}.signatureLayout h2,.tablePanel h2{margin:0}.qualifiedBadge{display:grid;gap:6px;border-radius:10px;background:#101d42;color:#fff;min-height:64px;padding:8px 11px;overflow:hidden;box-shadow:0 14px 34px #101d422e}.qualifiedBadgeTitle{display:grid;justify-items:center;gap:0;text-align:center}.qualifiedBadgeTitle span{display:block;color:#fff;font-size:10px;font-weight:300;letter-spacing:.06em;text-transform:uppercase}.qualifiedBadgeTitle strong{display:block;color:#8fd3ff;font-size:17px;font-weight:950;line-height:1.05;text-transform:uppercase}.qualifiedBadgeBody{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8px;align-items:center;border-top:3px solid #19bdf2;padding-top:7px}.qualifiedBadgeIcp{display:grid;justify-items:center;line-height:.9;text-align:center}.qualifiedBadgeIcp strong,.qualifiedBadgeIcp span{color:#fff;font-size:21px;font-weight:950}.qualifiedBadgeIcp small{margin-top:4px;color:#ffffffc7;font-size:8px;font-weight:800;text-transform:uppercase}.qualifiedBadgeLaw{display:grid;gap:4px;border-left:2px solid rgba(255,255,255,.72);padding-left:10px;text-align:center}.qualifiedBadgeLaw span,.qualifiedBadgeLaw strong{color:#fff}.qualifiedBadgeLaw span{font-size:11px;font-weight:350}.qualifiedBadgeLaw strong{font-size:12px;font-weight:800;line-height:1.1}.signatureQualifiedFooter{display:none}.signatureRows{display:grid;gap:10px;margin-top:14px}.certificateStatus{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;padding:12px 14px}.certificateStatus.compact{margin-bottom:0;min-height:72px}.signatureTitleCard .certificateStatus.compact{min-height:64px;padding:10px 12px}.signatureHeaderBadges .certificateStatus.compact,.signatureHeaderBadges .qualifiedBadge{height:100%}.certificateStatus.compact svg{flex:0 0 auto}.certificateStatus.ready{background:#ecfdf3;color:#087443}.certificateStatus.warning{background:#fff7ed;color:var(--orange)}.certificateStatus.blocked{background:#fff1f0;color:var(--red)}.certificateStatus strong,.certificateStatus span,.certificateStatus small{display:block}.certificateStatus span,.certificateStatus small{margin-top:4px;font-size:12px}.certificateStatus small{color:inherit;opacity:.78}.signatureRow{display:grid;grid-template-columns:minmax(260px,1fr) max-content minmax(320px,auto);gap:12px;align-items:start;border:1px solid #e7edf5;border-radius:8px;padding:12px;overflow:hidden}.signatureRow.needsReviewPulse{border-color:#f59e0b;background:linear-gradient(90deg,#fffbeb,#fff 42%);box-shadow:0 0 0 1px #f59e0b2e,0 18px 40px #f59e0b24}.signatureRow strong,.signatureRow span,.signatureRow small{display:block}.signatureRow small{margin-top:4px;color:var(--muted)}.signatureActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;min-width:0;max-width:100%}.signatureActions button{flex:0 1 auto;min-width:92px;white-space:normal}.rowActions button:disabled{cursor:not-allowed;opacity:.48}.rowActions button.dangerAction{background:#fff1f0;color:var(--red)}.rowActions button.reviewAction{background:#e0f2fe;color:#075985}.rowActions button.ixcAction{background:#dcfce7;color:#087443}.rowActions button.opaAction{background:#eef2ff;color:#3730a3}.rowActions button.opaSentAction{background:#dcfce7;color:#087443;border-color:#86efac}.opaSenderActions{display:flex;flex:1 1 100%;flex-wrap:wrap;justify-content:flex-end;gap:7px}.rowActions .opaSenderActions button.opaAltAction{min-width:150px;border-color:#bae6fd;background:#f0f9ff;color:#0369a1}.signatureOpaNote{color:#475569;font-weight:700}.signatureOpaNote.success{color:#087443}.signatureOpaNote.error{color:#b91c1c}.signatureOpaCount{align-self:center;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:900;padding:8px 10px}.signatureSignalCards{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.signatureSignalCard{display:inline-flex;flex-direction:column;min-width:170px;border:1px solid #dbeafe;border-radius:9px;padding:8px 10px;font-size:12px;font-weight:900;line-height:1.25}.signatureSignalCard small{margin-top:3px;color:inherit;font-size:11px;font-weight:700;opacity:.82}.signatureSignalCard.opened{border-color:#86efac;background:#ecfdf5;color:#047857}.signatureSignalCard.notOpened{border-color:#fcd34d;background:#fffbeb;color:#92400e}.signatureSignalCard.reviewBlink{border-color:#f59e0b;background:#fef3c7;color:#78350f;animation:signatureReviewPulse 1.15s ease-in-out infinite}.signatureSignalCard.signedLock{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.signatureSignalCard.whatsapp.sent{border-color:#4ade80;background:#dcfce7;color:#047857}.signatureSignalCard.whatsapp.failed{border-color:#fca5a5;background:#fef2f2;color:#b91c1c}.signatureSignalCard.whatsapp.pending{border-color:#bae6fd;background:#f0f9ff;color:#0369a1}@keyframes signatureReviewPulse{0%,to{box-shadow:0 0 #f59e0b6b;transform:translateY(0)}50%{box-shadow:0 0 0 5px #f59e0b21;transform:translateY(-1px)}}.inlineAlertButton{margin-left:10px;border:1px solid currentColor;border-radius:7px;background:#ffffffbd;color:inherit;font-weight:800;padding:7px 10px}.panelTitleRow{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.panelTitleRow h2,.panelTitleRow p{margin:0}.panelTitleRow p{margin-top:4px;color:var(--muted)}.deleteRequestRow{border-left:4px solid var(--orange)}.dangerConfirmButton{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important}.dangerConfirmButton:disabled{background:#fca5a5!important;border-color:#fca5a5!important;color:#7f1d1d!important}@media(max-width:1480px){.signatureHeroHeader,.signatureTitleCard{grid-template-columns:1fr}.signatureTitleCard .certificateStatus.compact{max-width:360px}.signatureLayoutUnified{grid-template-columns:1fr}.signatureRow{grid-template-columns:minmax(0,1fr) auto}.signatureActions{grid-column:1 / -1;justify-content:flex-start}.opaSenderActions{justify-content:flex-start}}@media(max-width:980px){.signatureRow{grid-template-columns:minmax(0,1fr)}.opaSenderActions,.opaSenderActions button{width:100%}}.statusPill.pending{background:#fff7ed;color:var(--orange)}.statusPill.waiting_review{background:#fff7ed;color:#9a3412}.statusPill.reviewCenterBlink{min-width:250px;min-height:86px;display:grid;place-items:center;border:2px solid #fbbf24;border-radius:14px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fffaf0;font-size:16px;font-weight:1000;text-align:center;text-transform:uppercase;text-shadow:0 1px 2px rgba(120,53,15,.45);box-shadow:0 18px 42px #f59e0b38;animation:signatureReviewPulse 1.05s ease-in-out infinite}.statusPill.reviewed{background:#e0f2fe;color:#075985}.statusPill.signed,.statusPill.sent{background:#dcfce7;color:#087443}.statusPill.canceled{background:#fee2e2;color:var(--red)}.emptyInline{border:1px dashed var(--line);border-radius:8px;color:var(--muted);padding:18px;text-align:center}.settingsGrid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:18px;align-items:start}.oltPanel{display:grid;gap:14px}.oltToolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px}.oltToolbar .alert{flex:1}.oltToolbar .ghostButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px}.oltFrame{width:100%;min-height:calc(100vh - 190px);border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 28px #1018280d}.oltPanelNoc{border:0;border-radius:0;background:#050b13;box-shadow:none}.oltFrameNoc{display:block;width:100%;min-height:100vh;border:0;border-radius:0;background:#050b13;box-shadow:none}.publicSignature{min-height:100vh;padding:clamp(16px,3vw,34px)}.publicSignedHero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;border:1px solid #86efac;border-left:6px solid #16a34a;border-radius:12px;background:#ecfdf5;color:#065f46;padding:16px 18px;box-shadow:0 16px 36px #16a34a1f}.publicSignedHero strong{display:block;color:#064e3b;font-size:clamp(20px,3vw,28px)}.publicSignedHero span{flex:1;font-weight:700}.reviewOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;padding:18px;background:#0f172aad}.reviewPanel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;border-radius:8px;background:#fff;box-shadow:0 18px 80px #0f172a52;overflow:hidden}.reviewHeader,.reviewChecklist{display:flex;align-items:center;gap:14px;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 16px}.reviewHeader strong,.reviewHeader span{display:block}.reviewHeader span{margin-top:3px;color:var(--muted);font-size:13px}.reviewHeaderActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.reviewJumpButton{border-color:#9fd0f0;background:#e9f6ff;color:var(--blue);font-weight:850}.reviewPdfFrame{width:100%;height:100%;min-height:64vh;border:0;background:#f8fafc}.reviewChecklist{flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:0;justify-content:flex-start}.reviewChecklist .primaryButton{margin-left:auto;padding:0 18px}.reviewTokenField{min-width:250px}.reviewTokenField input{max-width:140px;font-size:22px;font-weight:850;letter-spacing:4px;text-align:center}.confirmOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:grid;place-items:center;padding:18px;background:#0f172aa8}.confirmPanel{display:grid;gap:14px;width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid #b9ddf5;border-radius:10px;background:#fff;padding:18px;box-shadow:0 18px 80px #0f172a57}.opaForceOverlay{align-items:center;justify-items:center;padding-bottom:18px}.opaForcePanel{width:min(660px,calc(100vw - 28px));border-color:#fca5a5;border-left:8px solid #dc2626}.confirmPanel header strong,.confirmPanel header span{display:block}.confirmPanel header strong{color:var(--ink);font-size:24px}.confirmPanel header span{margin-top:3px;color:var(--muted);font-weight:700}.confirmDetails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.confirmDetails div{min-width:0;border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:10px}.confirmDetails small,.confirmDetails strong{display:block}.confirmDetails small{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.confirmDetails strong{margin-top:4px;overflow-wrap:anywhere;color:var(--ink)}.confirmDetails .confirmWide{grid-column:1 / -1}.confirmPanel footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.progressOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:20px;background:#0f172a6b}.progressPanel{display:grid;gap:10px;width:min(460px,calc(100vw - 28px));border:1px solid #93c5fd;border-left:8px solid var(--blue);border-radius:12px;background:#fff;padding:20px;box-shadow:0 18px 70px #0f172a47}.progressPanel strong{color:var(--ink);font-size:22px}.progressPanel span{color:var(--muted);font-weight:750}.progressBar{position:relative;height:10px;overflow:hidden;border-radius:999px;background:#dbeafe}.progressBar i{position:absolute;inset:0 auto 0 0;width:42%;border-radius:inherit;background:linear-gradient(90deg,#1d4ed8,#38bdf8);animation:progressSlide 1.05s ease-in-out infinite}@keyframes progressSlide{0%{transform:translate(-110%)}50%{transform:translate(80%)}to{transform:translate(250%)}}.publicHeader{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.publicLogoMark{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:8px}.publicLogoMark img{display:block;width:170px;max-width:46vw;height:auto;object-fit:contain}.publicHeader span{border-radius:999px;background:#e9f3fb;color:var(--blue);font-size:13px;font-weight:800;padding:8px 12px}.publicGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;align-items:start}.publicGrid h1{margin:0}.pdfToolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:10px}.pdfToolbar.reviewed{border-color:#b7dfc7;background:#ecfdf3;color:#087443;font-weight:800}.pdfToolbar span{color:var(--muted);font-size:13px}.pdfToolbar .ghostButton{width:auto;min-height:36px;padding:8px 12px}.pdfFrame{width:100%;height:1280px;border:0;background:#f8fafc}.pdfScrollGate{max-height:none;overflow:visible;overscroll-behavior:contain;border:1px solid var(--line);border-radius:8px;background:#f8fafc;-webkit-overflow-scrolling:touch}.pdfCanvasShell{display:grid;gap:10px}.pdfCanvasStatus{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #cfe3f4;border-radius:8px;background:#f4faff;padding:10px 12px}.pdfCanvasStatus strong{color:#0f3658}.pdfCanvasStatus span{color:#476174;font-size:12px;font-weight:800}.pdfCanvasShell.reviewed .pdfCanvasStatus{border-color:#a9dfbd;background:#ecfdf3}.pdfProgressTrack{height:8px;border-radius:999px;background:#e5edf4;overflow:hidden}.pdfProgressTrack span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1f8ed8,#19c37d);transition:width .22s ease}.pdfCanvasGate{display:grid;gap:14px;padding:14px;background:#dfe7ef}.pdfPageCanvas{display:grid;justify-items:center;gap:8px;min-height:420px;border-radius:8px;background:#f8fafc;padding:10px;box-shadow:0 10px 28px #0f172a1f}.pdfPageHeader{display:flex;width:100%;max-width:1080px;align-items:center;justify-content:space-between;gap:10px;color:#475467;font-size:12px;font-weight:850}.pdfPageHeader span{border-radius:999px;background:#e9f3fb;color:var(--blue);padding:4px 8px}.pdfPageCanvas.rendered .pdfPageHeader span{background:#dcfce7;color:#087443}.pdfPageCanvas.error .pdfPageHeader span{background:#fee4e2;color:#b42318}.pdfPageCanvas canvas{display:block;max-width:100%;min-height:260px;border-radius:4px;background:#fff}.pdfLoadingState,.pdfErrorState{display:grid;place-items:center;gap:10px;min-height:280px;border:1px dashed #b9cad8;border-radius:8px;background:#f8fafc;color:#344054;text-align:center;padding:24px}.pdfLoadingState span{width:38px;height:38px;border:4px solid #d8e7f3;border-top-color:var(--blue);border-radius:999px;animation:spin .8s linear infinite}.pdfErrorState span{color:#b42318;font-weight:750}.pdfReviewMarker{display:flex;align-items:center;justify-content:center;gap:8px;min-height:88px;border-top:1px solid var(--line);background:#ecfdf3;color:#087443;font-weight:850}.pdfReviewMarker.reviewed{border:1px solid #a9dfbd;border-radius:8px}.checkLine{display:flex;gap:10px;align-items:flex-start;color:#344054;font-weight:700;line-height:1.4}.checkLine input{width:18px;height:18px;margin-top:2px}.signaturePad{display:grid;gap:8px}.signaturePad>span{color:#344054;font-size:13px;font-weight:750}.signaturePad canvas{width:100%;height:190px;border:1px solid var(--line);border-radius:8px;background:#fff;touch-action:none}.captureGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.captureBox{display:grid;gap:8px;min-height:230px;border:1px dashed var(--line);border-radius:8px;background:#f8fafc;padding:10px}.captureBox span{color:#344054;font-size:13px;font-weight:750}.captureBox small{min-height:34px;color:var(--muted);font-size:12px;line-height:1.35}.captureBox input{width:100%;min-height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px;font-size:12px}.capturePreview{position:relative;display:grid;min-height:136px;place-items:center;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#eef4f8);overflow:hidden}.captureGuide{display:none}.captureGuide.selfie{top:18px;right:20%;bottom:18px;left:20%;border:3px solid rgba(31,142,216,.82);border-radius:48% 48% 44% 44%;box-shadow:0 0 0 999px #0f172a29,inset 0 0 28px #1f8ed81f;background:#ffffff7a}.captureGuide.document{top:28px;right:24px;bottom:28px;left:24px;border:3px solid rgba(31,142,216,.85);border-radius:8px;box-shadow:0 0 0 999px #0f172a29;background:linear-gradient(#172033,#172033) left top / 28px 4px no-repeat,linear-gradient(#172033,#172033) left top / 4px 28px no-repeat,linear-gradient(#172033,#172033) right bottom / 28px 4px no-repeat,linear-gradient(#172033,#172033) right bottom / 4px 28px no-repeat,#ffffff8c}.capturePreview img{width:100%;height:100%;min-height:136px;object-fit:cover;background:#fff}.capturePreview strong{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--blue);font-size:13px;z-index:1}.captureError{min-height:auto!important;border-radius:8px;background:#fee4e2;color:#b42318!important;padding:8px;font-weight:800}.captureBox.document .capturePreview{aspect-ratio:16 / 10}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.authScreen,.appShell{grid-template-columns:1fr}.authBrand{min-height:auto;padding:24px}.authLogo{width:min(180px,56vw);margin-bottom:28px}.authBrand h1{font-size:clamp(34px,10vw,56px)}.authBrand p{font-size:16px}.cameraIntegrationLayout,.cameraIntegrationSummary{grid-template-columns:1fr}.cameraIntegrationForm{position:static}.inlineFormRow{grid-template-columns:1fr}.mobilePortalTopbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:#fffffff5;padding:10px 12px;box-shadow:0 8px 22px #10182814;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobilePortalBrand{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;align-items:center;min-width:0}.mobilePortalBrand img{width:78px;height:auto;object-fit:contain}.mobilePortalBrand strong,.mobilePortalBrand span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobilePortalBrand strong{color:var(--ink);font-size:14px;font-weight:950}.mobilePortalBrand span{color:var(--muted);font-size:12px;font-weight:750}.mobileMenuButton,.mobileDrawerClose{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #b8d7ee;border-radius:8px;background:#e9f3fb;color:var(--blue);padding:0 12px;font-weight:850}.mobileNavBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:block;border:0;background:#0f172a80;padding:0}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:31;width:min(88vw,360px);gap:14px;border-right:1px solid var(--line);border-bottom:0;padding:16px;box-shadow:18px 0 60px #0f172a47;transform:translate(-104%);transition:transform .18s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar.mobileOpen{transform:translate(0)}.sidebar nav{display:grid;gap:8px;margin-inline:0;overflow:visible;padding:0}.navGroup{display:grid;gap:6px}.navGroup+.navGroup{border-top:1px solid var(--line);margin-top:8px;padding-top:10px}.navGroupLabel{display:block}.sidebar nav button{flex:initial;justify-content:flex-start;width:100%;min-height:44px;overflow:visible;padding:10px 12px;white-space:normal;font-size:14px}.sidebar nav button svg{flex:0 0 auto;width:20px;height:20px}.sidebar nav button.active{width:100%;min-width:0;padding-inline:12px;font-size:14px}.logoutButton{align-self:stretch;justify-content:center;margin-top:0;min-height:42px;padding:8px 10px}.userRow{grid-template-columns:1fr}.rowActions{grid-template-columns:repeat(2,minmax(0,1fr))}.permissionsHeader,.accessCard{grid-template-columns:1fr}.accessMatrix{min-width:980px}.auditFilters,.auditRow,.signatureLayout,.signatureRow,.signatureHeroHeader,.signatureCreateGrid,.offlineManagementGrid,.offlineSummaryGrid,.offlineFilters,.viabilityLayout,.salesLayout,.maintenanceLayout,.serviceOrdersLayout,.scheduleLayout,.publicGrid,.settingsGrid{grid-template-columns:1fr}.viabilitySearch,.salesPanel,.maintenanceForm,.serviceOrdersFilters,.scheduleControls{position:static}.offlineToolbar,.oltToolbar{align-items:stretch;flex-direction:column}.serviceOrderToolbarActions{justify-content:flex-start}.offlineDetails{grid-template-columns:repeat(2,minmax(0,1fr))}.offlineTechnicianActions,.systemErrorRow{grid-template-columns:1fr}.serviceOrderDetails{grid-template-columns:repeat(2,minmax(0,1fr))}.captureGrid{grid-template-columns:1fr}.publicSignature{padding:12px}.publicHeader{align-items:flex-start;flex-direction:column}.signatureHeroHeader{grid-template-columns:1fr}.signatureHeaderBadges{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.signatureHeaderBadges .qualifiedBadge,.signatureHeaderBadges .certificateStatus.compact{width:100%}.signatureMethodSwitch{display:grid}.signatureMethodCard.inactive{display:none}.pdfScrollGate{max-height:none}.pdfCanvasGate{gap:12px;padding:10px}.pdfCanvasStatus{align-items:flex-start;flex-direction:column}.pdfPageCanvas{min-height:360px;padding:8px}.captureBox{min-height:300px}.capturePreview,.capturePreview img{min-height:210px}.appShellNoc{min-height:100dvh}.appShellNoc .workspace,.appShellNoc .oltPanel,.appShellNoc .oltPanelNoc{min-height:calc(100dvh - 86px)}.appShellNoc .oltFrameNoc{height:calc(100dvh - 86px);min-height:calc(100dvh - 86px)}}@media(max-width:560px){.authActions,.rowActions,.offlineCardHeader,.offlineDetails,.viabilityClientCard,.viabilityClientCard dl,.salesContractHeader,.salesDetails,.maintenanceDetails,.withdrawalDetails,.serviceOrderHeader,.serviceOrderDetails,.scheduleCard,.scheduleHeader,.maintenanceCard,.maintenanceHeader,.withdrawalCard,.withdrawalHeader{grid-template-columns:1fr}.maintenanceGauge,.withdrawalUrgency{border-right:0;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:12px}.withdrawalCard.critical .withdrawalUrgency{border-bottom-color:#fff3}.maintenanceActions,.withdrawalsHero,.technicianBoardHeader,.scheduleSendPanel,.scheduleSendSegment{align-items:stretch}.scheduleSendPanel{grid-template-columns:1fr}.technicianBoardHeader{flex-direction:column}.technicianFilters{grid-template-columns:1fr;width:100%}.scheduleSendIntro{align-items:flex-start}.telegramSectorPicker{justify-content:flex-start}.maintenanceActions .secondaryButton,.maintenanceActions .ghostButton,.withdrawalMapButton,.withdrawalCardActions,.withdrawalCardActions .secondaryButton,.withdrawalCardActions .sentButton,.withdrawalCardActions .opaDisabledButton,.scheduleSendPanel .primaryButton,.scheduleSendPanel .secondaryButton,.scheduleSendPanel .dangerGhostButton,.scheduleSendPanel .sentButton,.scheduleSendPanel .opaDisabledButton,.telegramSectorPicker,.scheduleDateSend{width:100%}.scheduleDateSend{grid-template-columns:1fr}.toastNotice{left:50%;top:50%;right:auto;transform:translate(-50%,-50%);width:calc(100vw - 32px);max-width:none;font-size:.95rem}.scheduleTime{border-right:0;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:12px}.scheduleActions,.scheduleRemove{width:100%}.serviceOrderToolbarActions,.inlineSelect{align-items:stretch;width:100%}.serviceOrderToolbarActions .secondaryButton,.inlineSelect select{width:100%}.serviceOrderCard{padding:12px}.serviceOrderCredentials,.confirmDetails{grid-template-columns:1fr}.confirmPanel footer{align-items:stretch;flex-direction:column-reverse}.confirmPanel footer .primaryButton,.confirmPanel footer .ghostButton{width:100%;min-height:48px}.tinyActionButton,.serviceOrderCredentials button,.officeAlertButton{width:100%;min-height:64px;border-radius:9px;padding:16px 18px;font-size:16px}.tinyActionButton svg,.serviceOrderCredentials button svg{width:26px;height:26px}.viabilityMapSketch{min-height:220px}.authPanel,.workspace{padding:18px}.sidebar{padding:10px 12px}.brandMark{gap:10px}.brandMark img{display:block;width:170px;min-height:50px}.brandPortalCard{width:auto;min-width:150px;padding:8px 10px;border-left-width:4px}.brandPortalCard strong{font-size:14px}.brandPortalCard span{display:block}.sidebar nav button{justify-content:center;min-height:36px;padding:8px 10px}.logoutButton{display:inline-flex}.publicGrid .tablePanel{padding:16px}.publicSignedHero{flex-direction:column;align-items:stretch}.publicSignedHero .primaryButton{width:100%}.signaturePad canvas{height:160px}.captureBox{min-height:220px}}
