:root{--bg: #f5f7fa;--bg2: #eef2f6;--surface: #ffffff;--surface-muted: #f1f5f9;--surface-raised: #ffffff;--surface-subtle: #f8fafc;--panel: #ffffff;--panel-strong: #ffffff;--panel2: #f8fafc;--panel3: #eef2f6;--panel-soft: #f8fafc;--panel-muted: #f1f5f9;--panel-overlay: #ffffff;--panel-overlay-strong: #ffffff;--panel-overlay-solid: #ffffff;--panel-line-soft: #e5eaf0;--panel-frost: #f8fafc;--input-focus-bg: #ffffff;--border: #d9e1ea;--border-strong: #b7c4d2;--border-soft: #e8edf3;--text: #17212f;--muted: #5f6b7a;--muted-2: #8793a4;--primary: #0f5f9e;--primary-strong: #0a4778;--primary-soft: #e8f2fb;--primary-border: #b7d7ef;--accent: #2563eb;--accent2: #0f5f9e;--hover: #eef6fd;--glass-highlight: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);--accent-gradient: linear-gradient(135deg, #0f5f9e 0%, #0a4778 100%);--page-gradient: linear-gradient(180deg, #f8fafc 0%, #f3f6f9 52%, #eef2f6 100%);--danger: #b42318;--danger-strong: #8a1d13;--danger-soft: #fdeceb;--warn: #b7791f;--warn-strong: #8a5a12;--warn-soft: #fff6df;--success: #16794c;--success-strong: #0f5f3a;--success-soft: #e8f6ef;--info: #2563eb;--info-soft: #eaf0ff;--canvas-bg: #ffffff;--dots-small: #d8e2ee;--dots-big: #c3cfdd;--line: #31445a;--hover-stroke: rgba(15, 95, 158, .72);--selection: #0f5f9e;--handles: #0a4778;--invalid: #b7791f;--fire: #b42318;--route: #2563eb;--fill-soft: rgba(15, 95, 158, .04);--fill-soft2: rgba(15, 95, 158, .08);--selection-fill: rgba(15, 95, 158, .1);--selection-stroke: rgba(15, 95, 158, .64);--invalid-fill: rgba(183, 121, 31, .1);--invalid-stroke: rgba(183, 121, 31, .72);--fire-fill: rgba(180, 35, 24, .1);--grid-line: rgba(23, 33, 47, .06);--grid-dot: rgba(23, 33, 47, .12);--focus-ring: 0 0 0 3px rgba(15, 95, 158, .16);--focus-ring-strong: 0 0 0 3px rgba(15, 95, 158, .22);--radius: 8px;--radius-lg: 12px;--shadow: 0 18px 48px rgba(15, 23, 42, .14);--shadow-soft: 0 8px 24px rgba(15, 23, 42, .08);--shadow-panel: 0 10px 30px rgba(15, 23, 42, .07)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);background-image:var(--page-gradient);background-attachment:fixed;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,input,select,textarea{letter-spacing:0}.muted,.muted *{color:var(--muted)}.muted{font-size:.95rem;line-height:1.4}:root{color-scheme:light}::selection{background:#0f5f9e2e;color:#0b1724}a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}#root{min-height:100%}*{scrollbar-color:rgba(95,107,122,.34) rgba(95,107,122,.1);scrollbar-width:thin}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#5f6b7a14}::-webkit-scrollbar-thumb{background:#5f6b7a42;border:3px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#5f6b7a5c;border:3px solid rgba(0,0,0,0);background-clip:padding-box}.dashboard{flex:1;min-height:0;overflow:auto;display:grid;gap:16px;padding:22px;align-content:start;scrollbar-color:rgba(180,35,24,.88) rgba(180,35,24,.22);scrollbar-width:auto}.dashboard::-webkit-scrollbar{width:16px;height:16px}.dashboard::-webkit-scrollbar-track{background:#b4231829}.dashboard::-webkit-scrollbar-thumb{background:#b42318d1;border:2px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:999px}.dashboard::-webkit-scrollbar-thumb:hover{background:#96180ff5}.dashboard__hero,.dashboard__filters,.dashboard__content{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel)}.dashboard__hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-top:4px solid var(--danger)}.dashboard__hero h1,.dashboard__sectionHeader h2,.dashboardProject h3{margin:0}.dashboard__hero h1{font-size:clamp(1.65rem,2.6vw,2.35rem);line-height:1.08}.dashboard__hero p{margin:8px 0 0;max-width:820px;color:var(--muted);line-height:1.55}.dashboard__eyebrow{display:inline-flex;padding:5px 10px;margin-bottom:8px;color:var(--danger);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;border:1px solid rgba(180,35,24,.18);background:var(--danger-soft);font-weight:800}.dashboard__primaryAction{min-width:150px;min-height:42px}.dashboardWorkspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.dashboardRail{position:sticky;top:78px;display:grid;gap:12px;align-self:start}.dashboardStage{min-width:0;display:grid;gap:16px}.dashboardNav{display:grid;gap:8px}.dashboardNav__item{appearance:none;text-align:left;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--muted-2);font:inherit;cursor:pointer}.dashboardNav__item:hover{border-color:var(--primary-border);background:var(--primary-soft)}.dashboardNav__item.is-current{border-color:var(--primary-border);background:var(--primary-soft);color:var(--text);box-shadow:inset 3px 0 0 var(--primary)}.dashboardNav__item span{width:26px;height:26px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--border)}.dashboardNav__item.is-current span{border-color:var(--primary-border);color:var(--primary)}.dashboardNav__item strong{overflow-wrap:anywhere}.dashboardNav__item small{min-width:26px;min-height:24px;display:grid;place-items:center;padding:2px 7px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:var(--surface-subtle);font-weight:800}.dashboardSummaryPanel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel);padding:16px;display:grid;gap:12px}.dashboardSummaryPanel__kicker{color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dashboardSummaryPanel__rows{display:grid;gap:8px}.dashboardSummaryPanel__rows div{display:grid;gap:3px;padding:10px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-subtle)}.dashboardSummaryPanel__rows span{color:var(--muted);font-size:.78rem;font-weight:700}.dashboardSummaryPanel__rows strong{color:var(--text);overflow-wrap:anywhere}.dashboard__banner{padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.dashboard__banner--error{border-color:#b4231838;color:var(--danger);background:var(--danger-soft)}.dashboardCheckout{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:22px}.dashboardCheckout__backdrop{position:absolute;inset:0;border:0;background:#0f172a8a;cursor:pointer}.dashboardCheckout__dialog{position:relative;z-index:1;width:min(520px,100%);display:grid;gap:18px;padding:22px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:0 24px 80px #0f172a42}.dashboardCheckout__header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--border-soft)}.dashboardCheckout__header h2{margin:0 0 4px;font-size:1.2rem}.dashboardCheckout__header span{color:var(--muted)}.dashboardCheckout__header strong{white-space:nowrap}.dashboardCheckout__fields{display:grid;gap:12px}.dashboardCheckout__method{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboardCheckout__method label{min-height:48px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer;font-weight:800}.dashboardCheckout__method label.is-selected{border-color:var(--primary-border);color:var(--primary-strong);background:var(--primary-soft)}.dashboardCheckout__payment{display:grid;gap:14px}.dashboardCheckout__qr{width:min(260px,100%);aspect-ratio:1;justify-self:center;border-radius:var(--radius);border:1px solid var(--border);background:#fff}.dashboardFilter textarea{width:100%;min-height:92px;resize:vertical;padding:9px 11px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);outline:none}.dashboardCheckout__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.dashboard__filters{display:grid;gap:16px;padding:18px}.dashboard__filterHeader{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--border-soft)}.dashboard__filterHeader h2{margin:0 0 4px;font-size:1.1rem}.dashboard__filterHeader span,.dashboardFilter span{color:var(--muted)}.dashboard__filterActions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.dashboardFilterGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dashboardFilter{min-width:0;display:grid;gap:6px}.dashboardFilter--wide{grid-column:span 2}.dashboardFilter span{font-size:.82rem;font-weight:700}.dashboardFilter input,.dashboardFilter select{width:100%;min-height:40px;padding:9px 11px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);outline:none}.dashboardFilter input:focus,.dashboardFilter select:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.dashboard__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dashboardStat{min-height:96px;display:grid;gap:8px;align-content:center;padding:16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft)}.dashboardStat span,.dashboard__sectionHeader span,.dashboardProject__meta{color:var(--muted)}.dashboardStat strong{font-size:1.75rem;line-height:1}.dashboardStat--wide{grid-column:span 3;align-content:start}.dashboard__typeRow{display:flex;gap:8px;flex-wrap:wrap}.dashboard__typeRow strong,.dashboard__typeRow .btn{font-size:.86rem}.dashboard__typeRow strong{padding:7px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-subtle)}.dashboardPlans{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;align-items:start}.dashboardPlans__summary,.dashboardPlans__content,.dashboardPlanCard{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft)}.dashboardPlans__summary{min-height:150px;display:grid;align-content:center;gap:8px;padding:18px;border-radius:var(--radius-lg)}.dashboardPlans__summary span,.dashboardPlans__empty,.dashboardPlanCard__brand span,.dashboardPlanCard__body p,.dashboardPlanCard__details span,.dashboardPlanCard__footer span{color:var(--muted)}.dashboardPlans__summary strong{font-size:2.35rem;line-height:1}.dashboardPlans__content{display:grid;gap:16px;padding:18px;border-radius:var(--radius-lg)}.dashboardPlanGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.dashboardPlanCard{min-width:0;display:grid;gap:16px;align-content:space-between;padding:16px;border-radius:var(--radius-lg)}.dashboardPlanCard__brand{display:flex;justify-content:space-between;align-items:center;gap:12px}.dashboardPlanCard__brand img{width:118px;max-width:52%;height:auto;object-fit:contain}.dashboardPlanCard__brand span{padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface-subtle);font-size:.76rem;font-weight:800;white-space:nowrap}.dashboardPlanCard__body{display:grid;gap:14px}.dashboardPlanCard__body h3{margin:0 0 6px;font-size:1.15rem}.dashboardPlanCard__body p{margin:0;line-height:1.5}.dashboardPlanCard__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboardPlanCard__details div{display:grid;gap:5px;padding:12px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-subtle)}.dashboardPlanCard__details strong{font-size:1.18rem;overflow-wrap:anywhere}.dashboardPlanCard__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--border-soft)}.dashboardPlanCard__footer span{font-size:.82rem;font-weight:700}.dashboardPlanCard__footer .btn{min-width:138px}.dashboardPlans__empty{padding:18px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-subtle)}.dashboard__content{display:grid;gap:14px;padding:18px}.dashboard__sectionHeader{display:flex;justify-content:space-between;gap:12px;align-items:center}.dashboardProjectList,.dashboardPurchaseList{display:grid;gap:8px}.dashboardProject{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.dashboardProject:hover{border-color:var(--border-strong);box-shadow:0 8px 22px #0f172a0f;transform:translateY(-1px)}.dashboardPurchase{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.dashboardProject__main,.dashboardPurchase__main,.dashboardProject__actions{min-width:0}.dashboardProject__titleRow,.dashboardProject__meta,.dashboardProject__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.dashboardProject__actions{justify-content:flex-end}.dashboardProject__actions .btn{min-width:150px}.dashboardProject__titleRow{margin-bottom:8px}.dashboardProject__titleRow h3{word-break:break-word;font-size:1rem}.dashboardProject__type,.dashboardProject__warning,.dashboardProject__ok,.dashboardProject__status{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--muted);font-size:.78rem;font-weight:800}.dashboardProject__type{border-color:var(--primary-border);color:var(--primary-strong);background:var(--primary-soft)}.dashboardProject__warning{border-color:#b7791f42;color:var(--warn-strong);background:var(--warn-soft)}.dashboardProject__ok,.dashboardProject__status--aprovado,.dashboardProject__status--vistoriado{border-color:#16794c3d;color:var(--success);background:var(--success-soft)}.dashboardProject__status--reprovado,.dashboardProject__status--vencido{border-color:#b423183d;color:var(--danger);background:var(--danger-soft)}.dashboardProject__status--em_analise,.dashboardProject__status--comunicado{border-color:var(--primary-border);color:var(--primary);background:var(--primary-soft)}.dashboardProject__status--aguardando_documentacao{border-color:#b7791f42;color:var(--warn-strong);background:var(--warn-soft)}.dashboard__empty{min-height:180px;display:grid;place-content:center;gap:8px;text-align:center;color:var(--muted)}.dashboard__empty strong{color:var(--text)}.dashboardAdminSection,.dashboardAdminQuickCard,.dashboardAdminContractsScreen{border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;background:var(--surface-subtle)}.dashboardAdminSection--plans{border-left:4px solid var(--primary)}.dashboardAdminSection--promo{border-left:4px solid var(--success)}.dashboardAdminSection__title,.dashboardAdminQuickCard__title{margin:0 0 10px}.dashboardProjectList--adminPlans{margin-top:16px}.dashboardAdminDivider{margin:18px 0;padding:0;border-top:1px solid var(--border);display:flex;justify-content:center}.dashboardAdminDivider span{margin-top:-12px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:.78rem;color:var(--muted)}.dashboardAdminQuickCard{display:flex;justify-content:space-between;gap:12px;align-items:center;border-left:4px solid var(--info)}.dashboardAdminQuickCard__subtitle{color:var(--muted);font-size:.9rem}.dashboardAdminContractsScreen{border-left:4px solid var(--success)}.dashboardAdminContractsStats{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px;margin:16px 0}.dashboardContractStat,.dashboardContractDetail{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.dashboardContractStat{padding:12px}.dashboardContractStat span{display:block;color:var(--muted);font-size:.78rem}.dashboardContractStat strong{display:block;margin-top:4px;font-size:1.25rem}.dashboardContractStat--money{grid-column:span 2}.dashboardContractDetails{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.dashboardContractDetail{padding:9px 10px;color:var(--text);font-size:.86rem;overflow-wrap:anywhere}.dashboardContractDetail strong{color:var(--muted);font-weight:700}.dashboardContractDetail--wide{grid-column:span 2}.dashboardContractDetail--link{border-color:var(--primary-border);color:var(--primary);text-decoration:none;font-weight:700}@media(max-width:1100px){.dashboardWorkspace{grid-template-columns:1fr}.dashboardRail{position:static}.dashboardSummaryPanel{display:none}.dashboardNav,.dashboard__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardStat--wide{grid-column:span 2}.dashboardPlans{grid-template-columns:1fr}.dashboardAdminContractsStats,.dashboardContractDetails,.dashboardFilterGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.dashboard{padding:14px}.dashboard__hero,.dashboard__filterHeader,.dashboardProject,.dashboardPurchase,.dashboardAdminQuickCard{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.dashboard__filterActions{width:100%;justify-content:stretch}.dashboard__filterActions .btn,.dashboardCheckout__actions .btn,.dashboard__primaryAction{width:100%}.dashboardCheckout__header,.dashboardCheckout__actions{flex-direction:column;align-items:stretch}.dashboard__stats,.dashboardNav,.dashboardPlanCard__details,.dashboardFilterGrid,.dashboardAdminContractsStats,.dashboardContractDetails{grid-template-columns:1fr}.dashboardStat--wide,.dashboardFilter--wide,.dashboardContractStat--money,.dashboardContractDetail--wide{grid-column:auto}.dashboardProject__actions{justify-content:flex-start}.dashboardPlanCard__brand,.dashboardPlanCard__footer{flex-direction:column;align-items:stretch}.dashboardPlanCard__brand img{max-width:150px}.dashboardPlanCard__footer .btn{width:100%}}.formMode{padding:20px;display:grid;gap:16px;overflow:auto;align-content:start;scrollbar-color:rgba(180,35,24,.88) rgba(180,35,24,.22);scrollbar-width:auto}.formMode::-webkit-scrollbar{width:16px;height:16px}.formMode::-webkit-scrollbar-track{background:#b4231829}.formMode::-webkit-scrollbar-thumb{background:#b42318d1;border:2px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:999px}.formMode::-webkit-scrollbar-thumb:hover{background:#96180ff5}.formMode__hero,.formMode__card,.formMode__subcard{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel)}.formMode__hero{padding:22px;display:flex;justify-content:space-between;gap:18px;align-items:center;border-top:4px solid var(--danger)}.formMode__hero h1,.formMode__card h2,.formMode__subcard h3,.formMode__measureGroup h4{margin:0}.formMode__collapsibleSection{overflow:hidden}.formMode__collapsibleSummary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer}.formMode__collapsibleSummary::-webkit-details-marker{display:none}.formMode__collapsibleSummary p{margin:6px 0 0;color:var(--muted);line-height:1.5}.formMode__collapsibleHint{flex:0 0 auto;color:var(--muted);font-size:.82rem;font-weight:700}.formMode__collapsibleSection[open] .formMode__collapsibleHint{color:var(--danger)}.formMode__collapsibleBody{display:grid;gap:16px;padding:0 18px 18px;border-top:1px solid var(--border-soft)}.formMode__hero p{margin:8px 0 0;max-width:780px;color:var(--muted);line-height:1.6}.formMode__planHeader{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;max-width:920px}.formMode__planPill{display:grid;gap:4px;padding:12px 14px;border-radius:var(--radius);border:1px solid rgba(180,35,24,.14);background:linear-gradient(135deg,#b4231814,#b4231805),var(--surface)}.formMode__planPill span{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.formMode__planPill strong{color:var(--text);line-height:1.35}.formMode__eyebrow{display:inline-flex;padding:5px 10px;margin-bottom:8px;color:var(--danger);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;border:1px solid rgba(180,35,24,.18);background:var(--danger-soft);font-weight:800}.formMode__heroActions{display:grid;gap:10px}.formMode__stat,.formMode__banner{padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);color:var(--text);background:var(--surface)}.formMode__banner--error{border-color:#b4231838;color:var(--danger);background:var(--danger-soft)}.formMode__banner--success{border-color:#16794c38;color:var(--success);background:var(--success-soft)}.formMode__fieldset{margin:0;padding:0;border:0;min-width:0}.formMode__fieldset:disabled{opacity:.72}.formMode__confirmOverlay{position:fixed;inset:0;z-index:75;display:grid;place-items:center;padding:24px}.formMode__confirmBackdrop{position:absolute;inset:0;background:#0f172a80}.formMode__confirmDialog{position:relative;z-index:1;width:min(520px,100%);display:grid;gap:14px;padding:24px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-panel)}.formMode__confirmDialog h3,.formMode__confirmDialog p{margin:0}.formMode__confirmDialog p{color:var(--muted);line-height:1.55}.formMode__confirmActions{display:flex;justify-content:flex-end;gap:10px}.formMode__workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.formMode__rail{position:sticky;top:78px;display:grid;gap:12px;align-self:start}.formMode__stage{min-width:0;display:grid;gap:16px}.formMode__summaryPanel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel);padding:16px;display:grid;gap:12px}.formMode__summaryKicker{color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.formMode__summaryRows{display:grid;gap:8px}.formMode__summaryRows div{display:grid;gap:3px;padding:10px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-subtle)}.formMode__summaryRows span{color:var(--muted);font-size:.78rem;font-weight:700}.formMode__summaryRows strong{color:var(--text);overflow-wrap:anywhere}.formMode__stepper{display:grid;grid-template-columns:1fr;gap:8px}.formMode__step{appearance:none;text-align:left;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--muted-2);font:inherit}.formMode__step span{width:26px;height:26px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--border)}.formMode__step.is-current,.formMode__step.is-done{color:var(--text)}.formMode__step.is-clickable{cursor:pointer}.formMode__step.is-clickable:not(:disabled):hover{border-color:var(--primary-border);background:var(--primary-soft)}.formMode__step:disabled{cursor:default}.formMode__step.is-current{border-color:var(--primary-border);background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.formMode__step.is-done span,.formMode__step.is-current span{border-color:var(--primary-border);color:var(--primary)}.formMode__step.is-pending{border-color:#b7791f4d;background:var(--warn-soft)}.formMode__step.is-pending span{border-color:#f59e0b66;color:var(--warn-strong)}.formMode__step small{width:fit-content;padding:3px 7px;border-radius:999px;border:1px solid rgba(245,158,11,.26);color:var(--warn-strong);background:#b7791f1a;font-size:.72rem;font-weight:700}.formMode__card{padding:20px;display:grid;gap:16px}.formMode__subcard{position:relative;padding:16px;display:grid;gap:12px;background:var(--surface-subtle);box-shadow:none}.formMode__subcard:hover,.formMode__subcard:focus-within{z-index:30}.formMode__grid{display:grid;gap:12px}.formMode__grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.formMode__grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.formMode__field{display:grid;gap:6px}.formMode__labelRow,.formMode__choiceText{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.formMode__label{color:var(--muted);font-size:.88rem}.formMode__help{position:relative;width:20px;height:20px;display:inline-grid;place-items:center;border-radius:999px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-size:.78rem;font-weight:700;line-height:1;cursor:help;outline:none;flex:0 0 auto}.formMode__helpBubble{position:absolute;left:0;top:calc(100% + 10px);width:min(280px,75vw);padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border-strong);background:#09111ef5;color:#f4f7fb;box-shadow:var(--shadow-panel);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;z-index:20;pointer-events:none;font-size:.82rem;font-weight:400;line-height:1.5}.formMode__help:hover .formMode__helpBubble,.formMode__help:focus-visible .formMode__helpBubble{opacity:1;visibility:visible;transform:translateY(0)}.formMode__field input,.formMode__field select,.formMode__field textarea{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:11px 13px;border-radius:var(--radius);outline:none}.formMode__field input:focus,.formMode__field select:focus,.formMode__field textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.formMode__field.is-invalid .formMode__label{color:var(--danger)}.formMode__field.is-invalid input,.formMode__field.is-invalid select,.formMode__field.is-invalid textarea{border-color:#b423187a;background:var(--danger-soft);box-shadow:0 0 0 3px #b423181a}.formMode__field.is-invalid input:focus,.formMode__field.is-invalid select:focus,.formMode__field.is-invalid textarea:focus{border-color:#dc2626d1;box-shadow:0 0 0 3px #dc262629}.formMode__error,.formMode__hint{font-size:.8rem}.formMode__error{color:var(--danger)}.formMode__hint{color:var(--muted)}.formMode__toggle,.formMode__radio,.formMode__checkbox{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer}.formMode__toggle input,.formMode__radio input,.formMode__checkbox input{flex:0 0 auto}.formMode__toggle.is-selected,.formMode__radio.is-selected,.formMode__checkbox.is-checked{border-color:var(--primary-border);background:var(--primary-soft)}.formMode__stack,.formMode__checkboxGrid,.formMode__pillList,.formMode__list{display:grid;gap:10px}.formMode__checkboxGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.formMode__actions,.formMode__inlineActions,.formMode__tagRow,.formMode__sectionHeader{display:flex;gap:10px;flex-wrap:wrap}.formMode__actions{justify-content:space-between}.formMode__sectionHeader{justify-content:space-between;align-items:center}.formMode__pill{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;background:var(--surface)}.formMode__pill button{border:0;background:transparent;color:var(--primary);cursor:pointer}.formMode__tag{display:inline-flex;padding:7px 11px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.82rem;font-weight:700}.formMode__resultHeader{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#17212f,#223247);color:#fff}.formMode__resultHeader .formMode__eyebrow{border-color:#fff3;background:#ffffff1a;color:#fff}.formMode__resultHeader p{margin:6px 0 0;color:#ffffffc7}.formMode__resultHeader .btn--ghost{border-color:#ffffff3d;background:#ffffff1a;color:#fff}.formMode__resultMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.formMode__resultMetrics div{display:grid;gap:5px;padding:14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.formMode__resultMetrics span,.formMode__resultMetrics small{color:var(--muted)}.formMode__resultMetrics span{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.formMode__resultMetrics strong{font-size:1.65rem;line-height:1}.formMode__resultMetrics .is-warning{border-color:#b7791f47;background:var(--warn-soft)}.formMode__resultMetrics .is-ok{border-color:#16794c3d;background:var(--success-soft)}.formMode__measureGroup{display:grid;gap:10px;padding:14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.formMode__measureSummary{display:flex;gap:12px;flex-wrap:wrap}.formMode__measureStat{min-width:180px;display:grid;gap:4px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.formMode__measureStat strong{font-size:1.4rem}.formMode__measureList,.formMode__treeList,.formMode__treeGroup{display:grid;gap:10px}.formMode__measureCard,.formMode__treeItem,.formMode__treeNode{display:grid;gap:10px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.formMode__measureHeader{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}.formMode__measureText{margin:0;color:var(--muted);line-height:1.6}.formMode__measureText--warning{color:var(--danger)}.formMode__measureText--pending{color:var(--warn)}.formMode__measureCard--requer_revisao,.formMode__measureCard--calc-revisao,.formMode__measureCard--calc-pendente{border-color:#b4231838;background:var(--danger-soft)}.formMode__measureCard--calculado,.formMode__measureCard--calc-calculado{border-color:#16794c38;background:var(--success-soft)}.formMode__measureCard--depende_planta,.formMode__measureCard--estimado,.formMode__measureCard--memorial{border-color:#b7791f3d;background:var(--warn-soft)}.formMode__summaryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.formMode__summaryItem{display:grid;gap:4px;padding:10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-subtle)}.formMode__summaryItem span{color:var(--muted);font-size:.78rem}.formMode__summaryItem strong{color:var(--text);word-break:break-word}.formMode__treeRow{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.formMode__treeLabel{color:var(--text)}.formMode__treeValue{color:var(--muted);text-align:right;word-break:break-word}.formMode__empty{color:var(--muted)}.formMode__list{margin:0;padding-left:18px}.formMode__code{margin:0;padding:12px;border-radius:var(--radius);background:#0f172a;border:1px solid var(--border);overflow:auto}@media(max-width:1100px){.formMode__grid--three,.formMode__summaryGrid,.formMode__resultMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.formMode__workspace{grid-template-columns:1fr}.formMode__rail{position:static}.formMode__stepper{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.formMode{padding:14px}.formMode__hero,.formMode__resultHeader,.formMode__actions,.formMode__measureHeader,.formMode__treeRow{flex-direction:column}.formMode__grid--two,.formMode__grid--three,.formMode__summaryGrid,.formMode__resultMetrics,.formMode__checkboxGrid,.formMode__stepper{grid-template-columns:1fr}}.cadMode{display:flex;flex-direction:column;flex:1 1 0;min-height:0;background:var(--bg, #0f172a)}.cadMode__toolbar{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border, rgba(255,255,255,.08));background:var(--surface, #1e293b);min-height:48px}.cadMode__title{flex:1 1 0;font-size:.9rem;font-weight:600;color:var(--text, #e2e8f0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadMode__toolbarActions{display:flex;align-items:center;gap:8px}.cadMode__histBtn{font-size:.8rem;padding:3px 10px;height:28px}.cadMode__error{background:#ef44441f;border-bottom:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:6px 16px;font-size:.85rem}.cadMode__success{background:var(--success-soft, #e8f6ef);border-bottom:1px solid rgba(22,121,76,.35);color:var(--success, #16794c);padding:6px 16px;font-size:.85rem}.cadMode__warning{background:#f6c1771f;border-bottom:1px solid rgba(246,193,119,.35);color:#f6c177;padding:6px 16px;font-size:.85rem}.cadMode__debug{background:#0f172ae6;border-bottom:1px solid rgba(148,163,184,.35);color:#cbd5e1;padding:8px 16px;font-size:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;max-height:180px;overflow:auto}.cadMode__debug strong{display:block;margin-bottom:4px;color:#e2e8f0}.cadMode__warnings{display:flex;flex-wrap:wrap;gap:6px;padding:6px 16px;border-bottom:1px solid var(--border, rgba(255,255,255,.08));background:#f6c1770f}.cadMode__warningItem{font-size:.8rem;color:#f6c177}.cadMode__confirmOverlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center}.cadMode__confirmBackdrop{position:absolute;inset:0;background:#020617ad;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cadMode__confirmDialog{position:relative;width:min(480px,calc(100vw - 2rem));border-radius:12px;border:1px solid var(--border, rgba(255,255,255,.12));background:var(--surface, #1e293b);color:var(--text, #e2e8f0);padding:16px;box-shadow:0 16px 40px #02061773}.cadMode__confirmDialog h3,.cadMode__confirmDialog p{margin:0}.cadMode__confirmDialog h3{font-size:1rem;margin-bottom:8px}.cadMode__confirmDialog p{font-size:.9rem;color:var(--muted, #94a3b8)}.cadMode__confirmActions{margin-top:14px;display:flex;justify-content:flex-end;gap:8px}.cadMode__body{display:flex;flex:1 1 0;min-height:0;overflow:hidden}.cadMode__side{display:flex;flex-direction:column;width:220px;min-width:0;border-right:1px solid var(--border, rgba(255,255,255,.08));background:var(--surface, #1e293b);overflow:hidden;transition:width .18s ease}.cadMode__side--right{border-right:none;border-left:1px solid var(--border, rgba(255,255,255,.08))}.cadMode__side--collapsed{width:32px}.cadMode__sideHeader{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid var(--border, rgba(255,255,255,.08));min-height:36px;gap:4px}.cadMode__sideHeader--tabs{padding:4px 6px;gap:4px}.cadMode__tabs{display:flex;flex:1 1 0;gap:2px;min-width:0}.cadMode__tab{flex:1 1 0;background:none;border:none;padding:4px 6px;font-size:.75rem;font-weight:500;color:var(--muted, #64748b);cursor:pointer;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .1s,color .1s}.cadMode__tab:hover{color:var(--text, #e2e8f0);background:var(--hover, rgba(255,255,255,.06))}.cadMode__tab--active{color:var(--text, #e2e8f0);background:#6366f126}.cadMode__sideLabel{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #64748b);white-space:nowrap;overflow:hidden}.cadMode__sideToggle{background:none;border:none;color:var(--muted, #64748b);cursor:pointer;padding:2px 4px;font-size:1rem;line-height:1;border-radius:4px;flex-shrink:0}.cadMode__sideToggle:hover{color:var(--text, #e2e8f0);background:var(--hover, rgba(255,255,255,.06))}.cadMode__canvas{flex:1 1 0;min-width:0;position:relative;overflow:hidden}.cadCanvas{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg, #0f172a);overflow:hidden}.cadCanvas--empty{background:repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(255,255,255,.03) 39px,rgba(255,255,255,.03) 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,rgba(255,255,255,.03) 39px,rgba(255,255,255,.03) 40px)}.cadCanvas__emptyState{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--muted, #64748b);text-align:center;padding:40px}.cadCanvas__emptyState p{margin:0;font-size:.95rem}.cadCanvas__emptyHint{font-size:.8rem!important;color:var(--muted, #64748b);opacity:.65}.cadCanvas__viewer{position:absolute;inset:0;width:100%;height:100%}.cadCanvas__controls{position:absolute;top:10px;left:10px;z-index:10;display:flex;align-items:center;gap:6px;pointer-events:none}.cadCanvas__controls>*{pointer-events:auto}.cadCanvas__btnControl{font-size:.8rem;padding:3px 10px;height:28px;background:var(--surface, #1e293b);border:1px solid var(--border, rgba(255,255,255,.12))}.cadCanvas__btnControl--active{background:#6366f140;border-color:#6366f180;color:#a5b4fc}.cadCanvas__unitLabel{font-size:.75rem;color:var(--muted, #64748b);background:var(--surface, #1e293b);border:1px solid var(--border, rgba(255,255,255,.08));padding:3px 8px;border-radius:4px;height:28px;display:flex;align-items:center}.cadCanvas__statusLabel{font-size:.75rem;color:var(--muted, #64748b);padding:3px 8px}.cadCanvas__loadError{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:10;background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:6px 14px;border-radius:6px;font-size:.82rem;white-space:nowrap}.cadCanvas__placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted, #64748b);text-align:center;padding:24px;border:1px dashed var(--border, rgba(255,255,255,.08));border-radius:8px}.cadCanvas__placeholder p{margin:0;font-size:.9rem}.cadOverlay{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;overflow:visible}.cadOverlay--inserting{cursor:crosshair;pointer-events:all}.cadOverlay__entity{fill:none;stroke:#38bdf8;stroke-width:.05;stroke-linecap:round;stroke-linejoin:round;pointer-events:auto}.cadOverlay__entity--selected{stroke:#facc15;filter:drop-shadow(0 0 3px rgba(250,204,21,.6))}.cadOverlay__entity--locked{stroke:#94a3b8;opacity:.6}.cadOverlay__entity--engine{stroke:#a78bfa}.cadOverlay__hitarea{fill:transparent;stroke:none;pointer-events:all}.cadOverlay__preview{fill:none;stroke:#38bdf8;stroke-width:.05;stroke-linecap:round;stroke-linejoin:round;opacity:.55;pointer-events:none}.cadLayersPanel{padding:8px 0;overflow-y:auto;flex:1 1 0}.cadPanel__sectionHeader{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #64748b);padding:4px 12px 6px}.cadPanel__empty{padding:16px 12px;font-size:.82rem;color:var(--muted, #64748b)}.cadLayersList{list-style:none;margin:0;padding:0}.cadLayersList__item{margin:0}.cadLayersList__toggle{display:flex;align-items:center;gap:8px;width:100%;padding:5px 12px;background:none;border:none;color:var(--text, #e2e8f0);cursor:pointer;font-size:.82rem;text-align:left;border-radius:0;transition:background .1s ease}.cadLayersList__toggle:hover{background:var(--hover, rgba(255,255,255,.06))}.cadLayersList__toggle--hidden{opacity:.4}.cadLayersList__colorDot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cadLayersList__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadPalette{padding:0;overflow-y:auto;flex:1 1 0}.cadPalette__active{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#38bdf814;border-bottom:1px solid rgba(56,189,248,.2)}.cadPalette__activeLabel{font-size:.78rem;color:#38bdf8}.cadPalette__cancelBtn{font-size:.75rem;padding:3px 8px;height:26px;align-self:flex-start}.cadPalette__group{margin-bottom:4px}.cadPalette__list{list-style:none;margin:0;padding:0}.cadPalette__item{margin:0}.cadPalette__btn{display:flex;align-items:center;gap:10px;width:100%;padding:6px 10px;background:none;border:none;color:var(--text, #e2e8f0);cursor:pointer;font-size:.8rem;text-align:left;border-radius:0;transition:background .1s}.cadPalette__btn:hover{background:var(--hover, rgba(255,255,255,.06))}.cadPalette__btn--active{background:#38bdf826;color:#38bdf8}.cadPalette__thumb{flex-shrink:0;color:currentColor;opacity:.85}.cadPalette__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.cadPropertiesPanel{padding:8px 0;overflow-y:auto;flex:1 1 0}.cadProp{display:flex;flex-direction:column;gap:3px;padding:6px 12px;border-bottom:1px solid var(--border, rgba(255,255,255,.05))}.cadProp--row{flex-direction:row;align-items:center;justify-content:space-between}.cadProp--actions{flex-direction:row;gap:6px;padding-top:10px;border-bottom:none}.cadProp__label{font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted, #64748b)}.cadProp__value{font-size:.82rem;color:var(--text, #e2e8f0)}.cadProp__value--badge{display:inline-block;padding:1px 6px;border-radius:4px;background:#6366f126;color:#a5b4fc;font-size:.75rem}.cadProp__actionBtn{flex:1 1 0;font-size:.78rem;padding:5px 8px;height:30px}.cadProp__actionBtn--danger{background:#ef444426;border-color:#ef44444d;color:#fca5a5}.cadProp__actionBtn--danger:hover:not(:disabled){background:#ef444440}.cadProp__row{display:flex;gap:4px;align-items:center}.cadProp__row .input{flex:1 1 0;min-width:0}.cadProp__resetScaleBtn{flex-shrink:0;font-size:.72rem;padding:3px 7px;height:28px}.app-shell{height:100vh;display:flex;flex-direction:column;position:relative;isolation:isolate}.app-shell:before{content:none}.topbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--surface);box-shadow:0 1px #0f172a08;z-index:20}.toolbar{min-height:50px;display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#ffffff0f,#ffffff08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow-x:auto;overflow-y:hidden;white-space:nowrap}.toolbar__spacer{flex:1 1 auto;min-width:10px}.toastHost{position:fixed;top:74px;right:16px;z-index:50;display:grid;gap:10px;width:min(420px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);color:var(--text)}.toast--warn{border-color:#f6c17759}.toast__msg{font-size:.92rem;line-height:1.25}.toast__close{width:30px;height:30px;border-radius:10px;border:1px solid var(--border);background:var(--hover);color:var(--muted);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.toast__close:hover{color:var(--text);background:var(--panel2)}.toolBtn{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:6px 10px;border-radius:var(--radius);cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform 80ms ease;display:inline-flex;flex-direction:column;align-items:center;gap:4px;min-width:52px}.toolBtn__icon{width:22px;height:22px;display:block;object-fit:contain}.toolBtn__glyph{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700}.toolBtn__label{font-size:.7rem;letter-spacing:.01em;color:var(--muted);white-space:nowrap}.toolBtn--active .toolBtn__label{color:var(--primary)}.toolBtn:hover:not(:disabled){background:var(--hover);border-color:var(--border-strong)}.toolBtn--active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary-strong)}.toolBtn--active .toolBtn__icon{filter:brightness(0) saturate(100%) invert(22%) sepia(70%) saturate(800%) hue-rotate(190deg) brightness(90%)}.toolBtn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.toolBtn:disabled{opacity:.45;cursor:not-allowed}.toolBtn:active:not(:disabled){transform:translateY(1px)}.toolbar__sep{width:1px;height:36px;background:var(--border);flex-shrink:0;margin:0 2px;align-self:center}.topbar__left{display:flex;align-items:center;gap:22px;min-width:0;height:100%}.topbar__brand{display:inline-flex;align-items:center;gap:10px;min-width:230px}.topbar__logo{width:42px;height:42px;display:block;object-fit:contain;flex:0 0 auto}.topbar__title{font-weight:800;font-size:1rem;line-height:1.05;flex:0 0 auto}.topbar__caption{margin-top:2px;color:var(--muted);font-size:.76rem;white-space:nowrap}.topbar__subtitle{min-width:0;display:flex;align-items:center;height:100%}.topbar__modeSwitch{display:flex;align-items:center;gap:14px;min-height:42px;padding:0;border-radius:0;box-shadow:none;border:0;background:transparent}.topbar__modeTabs{display:inline-grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;align-items:stretch;padding:4px;border:1px solid var(--border);border-radius:999px;background:var(--surface-muted)}.topbar__modeMeta{min-width:0;height:42px;display:flex;align-items:center;padding-left:10px;border-left:1px solid var(--border)}.topbar__modeSwitch .workspaceModeSwitch__item{min-width:104px;height:34px;padding:0 14px;border-radius:999px}.topbar__modeSwitch .workspaceModeSwitch__icon{width:36px;height:36px}.topbar__modeSwitch .workspaceModeSwitch__text strong{font-size:.88rem;line-height:1;white-space:nowrap}.topbar__modeSwitch .workspaceModeSwitch__text small{font-size:.76rem;line-height:1;white-space:nowrap}.topbar__modeSwitch .workspaceModeSwitch__item:disabled,.topbar__modeSwitch .workspaceModeSwitch__item.is-disabled{cursor:not-allowed;opacity:.58}.topbar__actions{display:flex;gap:10px}.topbarAuth{display:flex;align-items:center;gap:8px;min-width:0}.topbarAuth__warning{display:flex;align-items:center;min-height:38px;padding:8px 12px;border-radius:999px;border:1px solid rgba(245,158,11,.24);background:#f59e0b14;color:#9a3412;font-size:.82rem;line-height:1.3}.topbarAuth__status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem;min-width:0;min-height:38px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-subtle)}.topbarAuth__status strong{color:var(--text);font-weight:700}.topbarAuth__input{width:180px;border:1px solid var(--border);background:#ffffff0d;color:var(--text);padding:7px 10px;border-radius:10px;outline:none;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.topbarAuth__input:focus{border-color:#4aaeff57;box-shadow:var(--focus-ring)}.topbarAuth__error{max-width:240px;color:var(--danger);font-size:.82rem;white-space:normal}.topbarModal{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:24px}.topbarModal__backdrop{position:absolute;inset:0;background:#0f172a8a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.topbarModal__dialog{position:relative;z-index:1;width:min(520px,100%);display:grid;gap:18px;padding:24px;border-radius:24px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-panel)}.topbarModal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.topbarModal__header h2{margin:0 0 6px;font-size:1.35rem}.topbarModal__header p{margin:0;color:var(--muted);line-height:1.5}.topbarModal__body{display:grid;gap:14px}.topbarModal__status,.topbarModal__section{display:grid;gap:12px}.topbarModal__badge--muted{opacity:.75}.topbarModal__qrWrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center}.topbarModal__qr{width:168px;height:168px;display:block;padding:8px;border-radius:18px;border:1px solid var(--border);background:#fff}.topbarModal__manual{display:grid;gap:8px}.topbarModal__manual code{display:block;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);word-break:break-all}.app-body{flex:1;min-height:0;display:flex;gap:10px;padding:12px}.sidePanel{position:relative;flex:0 0 auto;flex-shrink:0;background:var(--surface);overflow:hidden;min-width:40px;transition:width .18s ease-out;will-change:width;border:1px solid var(--border);box-shadow:var(--shadow-panel);border-radius:var(--radius-lg)}.sidePanel--left{width:280px}.sidePanel--right{width:360px}.sidePanel--collapsed{width:54px}.sidePanel__toggle{width:100%;height:52px;display:flex;align-items:center;gap:8px;padding:0 14px;border:0;background:var(--surface-subtle);color:var(--text);border-bottom:0;cursor:pointer}.sidePanel__toggle:hover{background:var(--hover)}.sidePanel--collapsed .sidePanel__toggle{height:100%;padding:10px 0;justify-content:center;flex-direction:column;gap:10px}.sidePanel__header{position:sticky;top:0;z-index:2;height:52px;display:grid;grid-template-columns:1fr 48px;border-bottom:1px solid var(--border);background:var(--surface-subtle)}.sidePanel--collapsed .sidePanel__header{height:100%;grid-template-columns:1fr}.sidePanel__chevron{border:0;background:transparent;color:var(--muted);cursor:pointer}.sidePanel__chevron:hover{background:var(--hover);color:var(--text)}.sidePanel--collapsed .sidePanel__chevron{display:none}.sidePanel__icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:16px}.sidePanel__label{font-size:.84rem;color:var(--muted-2);text-transform:uppercase;letter-spacing:.08em}.sidePanel--collapsed .sidePanel__label{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.3px}.sidePanel__content{height:calc(100% - 52px);min-height:0}.sidePanel--collapsed .sidePanel__content{display:none}.sidebar,.rightPanel{width:100%;min-width:0;height:100%;background:transparent}.sidebar{display:flex;flex-direction:column;min-height:0}.sidebar__content{flex:1 1 auto;min-height:0;overflow:hidden}.catalogPanel{height:100%;display:flex;flex-direction:column;min-height:0}.catalogPanel__header{padding:14px;border-bottom:1px solid var(--border);background:#ffffff08}.catalogPanel__headerRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.catalogPanel__list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px}.canvas{flex:1 1 auto;min-width:0;position:relative;overflow:hidden}.canvas__grid{position:absolute;inset:0;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:24px 24px;opacity:.55;pointer-events:none}.canvas__content{position:relative;height:100%;width:100%}.canvas__bgLayer{position:absolute;inset:0;z-index:1;pointer-events:none}.dottedBg{width:100%;height:100%;display:block;pointer-events:none}.canvas__bottomLeftTools{position:absolute;left:12px;bottom:12px;z-index:40;pointer-events:none;display:inline-flex;align-items:center;gap:8px}.canvas__topLeftLegend{position:absolute;left:12px;top:12px;z-index:40;pointer-events:none;transition:transform .18s ease}.canvas__topLeftLegend.is-collapsed{transform:translate(calc(-100% + 54px))}.canvasLegend{position:relative;pointer-events:auto;min-width:220px;max-width:280px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);color:var(--text);padding:12px 14px 12px 18px}.canvasLegend.is-collapsed{box-shadow:0 10px 24px #1c76c21a}.canvasLegend__header{display:flex;align-items:center;justify-content:space-between;gap:10px}.canvasLegend__toggle{position:absolute;top:12px;right:12px;width:28px;height:28px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--border);background:#ffffffeb;color:var(--text);cursor:pointer;box-shadow:0 8px 18px #1c76c214;transition:background .12s ease,border-color .12s ease,transform .12s ease}.canvasLegend__toggle:hover{background:#fff5f4;border-color:var(--border-strong)}.canvasLegend__toggle:active{transform:translateY(1px)}.canvasLegend__title{font-weight:800;margin-bottom:8px;padding-right:34px}.canvasLegend__rows{display:grid;gap:6px}.canvasLegend.is-collapsed .canvasLegend__rows{display:none}.canvasLegend.is-collapsed .canvasLegend__title{margin-bottom:0;writing-mode:vertical-rl;transform:rotate(180deg);min-height:120px;display:grid;align-items:center;padding-right:0;padding-top:20px}.canvasLegend__row{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;color:var(--text);font-size:.9rem}.canvasLegend__icon{width:18px;height:18px;display:block;object-fit:contain;opacity:.95}.canvasLegend__count{color:var(--muted);font-weight:800}.canvasLegend__swatch{width:18px;height:6px;border-radius:999px;border:1px solid rgba(255,255,255,.35)}.canvasLegend__swatch--rota{background:linear-gradient(90deg,#fffffff2,#fff6);outline:1px dashed rgba(255,255,255,.55);outline-offset:2px}.canvas__toolBtn{pointer-events:auto;height:36px;padding:0 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;box-shadow:var(--shadow-soft);transition:background .12s ease,border-color .12s ease,transform .12s ease,box-shadow .12s ease;display:inline-flex;align-items:center;gap:8px;font-weight:700}.canvas__toolBtn:hover{background:#ffffff14}.canvas__toolBtn.is-on{border-color:#4aaeff73;background:#4aaeff1a;box-shadow:0 0 0 3px #4aaeff1f,var(--shadow-soft)}.canvas__toolBtn.is-on:hover{background:#4aaeff24}.canvas__toolBtn:active{transform:translateY(1px)}.canvas__toolBtnLabel{font-weight:700}.canvas__content--scroll{overflow:hidden}.zoomControls{position:absolute;right:12px;bottom:12px;z-index:30;pointer-events:none}.zoomControls__inner{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.zoomControls__btn{height:30px;min-width:30px;padding:0 10px;border-radius:14px;border:1px solid var(--border);background:#ffffff0a;color:var(--text);font-weight:700;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.zoomControls__btn:hover{background:var(--hover)}.zoomControls__pct{padding:0 10px;color:var(--muted);font-size:.86rem;white-space:nowrap}.toolbox{position:absolute;top:12px;right:12px;z-index:35;pointer-events:none;display:flex;gap:8px}.toolbox__btn{pointer-events:auto;height:38px;min-width:38px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:800;cursor:pointer;box-shadow:var(--shadow-soft);transition:background .12s ease,border-color .12s ease,transform .12s ease}.toolbox__btn:hover{background:var(--hover)}.toolbox__btn--active{border-color:#4aaeff75;background:#4aaeff1f}.toolbox__btn--primary{min-width:108px;border-color:#1c76c21f;background:var(--accent-gradient);color:#fff;box-shadow:0 12px 28px #1c76c229}.toolbox__btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#135d9f,#62b8ff)}.toolbox__btn--primary:disabled{opacity:.72;cursor:wait}.canvasToast{position:absolute;left:12px;bottom:52px;z-index:25;pointer-events:none}.canvasToast__bubble{display:inline-block;padding:8px 10px;border:1px solid var(--border);border-radius:14px;background:var(--glass-highlight),#ffffff0a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text);box-shadow:var(--shadow-soft);font-size:.9rem}.plantaSvg{position:relative;z-index:10;display:block;margin:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--canvas-bg);box-shadow:var(--shadow-panel);width:100%;height:100%}.plantaSvg[data-tool=select]{cursor:default}.plantaSvg.is-right-panning{cursor:grabbing!important}.plantaSvg[data-overlap=true]{cursor:not-allowed!important}.plantaSvg[data-tool=porta][data-place-allowed=false],.plantaSvg[data-tool=janela][data-place-allowed=false],.plantaSvg[data-tool=extintor][data-place-allowed=false],.plantaSvg[data-tool=hidrante][data-place-allowed=false],.plantaSvg[data-tool=sinalizacao][data-place-allowed=false],.plantaSvg[data-tool=luminaria][data-place-allowed=false],.plantaSvg[data-tool=acionador][data-place-allowed=false],.plantaSvg[data-tool=detector][data-place-allowed=false],.plantaSvg[data-tool=central][data-place-allowed=false],.plantaSvg[data-tool=rota][data-place-allowed=false]{cursor:not-allowed}.plantaSvg[data-tool=ambiente],.plantaSvg[data-tool=porta],.plantaSvg[data-tool=janela],.plantaSvg[data-tool=extintor],.plantaSvg[data-tool=hidrante],.plantaSvg[data-tool=sinalizacao],.plantaSvg[data-tool=luminaria],.plantaSvg[data-tool=acionador],.plantaSvg[data-tool=detector],.plantaSvg[data-tool=central],.plantaSvg[data-tool=rota],.plantaSvg[data-tool=parede],.plantaSvg[data-tool=pilar_retangular],.plantaSvg[data-tool=pilar_circular],.plantaSvg[data-tool=viga],.plantaSvg[data-tool=escada],.plantaSvg[data-tool=rampa],.plantaSvg[data-tool=shaft],.plantaSvg[data-tool=elevador],.plantaSvg[data-tool=guarda_corpo],.plantaSvg[data-tool=corrimao]{cursor:crosshair}.plantaSvg[data-tool=pan]{cursor:grab}.plantaSvg[data-panning=true]{cursor:grabbing}.scene{position:absolute;top:24px;left:24px;border:1px dashed rgba(28,118,194,.18);border-radius:18px;background:#1c76c205}.shape{position:absolute;top:0;left:0;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#fffffff0,#f8f7ffd6);box-shadow:var(--shadow);color:var(--text);padding:10px;cursor:pointer;text-align:left}.shape:hover{border-color:#ffffff59}.shape--selected{border-color:#4aaeffb8;box-shadow:0 0 0 2px #4aaeff24,var(--shadow)}.shape--porta{border-radius:10px;background:#4aaeff1a}.shape--janela{border-radius:10px;background:#ffffff1a}.shape__title{font-weight:700;font-size:.95rem}.shape__meta{margin-top:4px;color:var(--muted);font-size:.85rem}.emptyState{height:100%;display:grid;place-content:center;text-align:center;gap:8px}.emptyState__title{font-weight:700}.emptyState__subtitle{color:var(--muted)}.panel__header{min-height:52px;display:flex;align-items:center;padding:0 14px;border-bottom:1px solid var(--border);font-weight:700;letter-spacing:.01em}.panel__body{padding:14px}.panel__body--scroll{height:calc(100% - 52px);overflow:auto}.list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.list__item{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#ffffff0f,#ffffff08);box-shadow:inset 0 1px #ffffff08;color:var(--text);cursor:pointer}.list__item:hover{border-color:#ffffff52}.list__item--active{border-color:#4aaeff99;box-shadow:0 0 0 2px #4aaeff1f}.list__itemTitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listRow{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.typePill,.idPill{border:1px solid var(--border);border-radius:999px;padding:2px 8px;color:var(--muted-2);font-size:.8rem;flex-shrink:0;background:#ffffff0a}.iconBtn{width:34px;height:34px;display:grid;place-items:center;border-radius:14px;border:1px solid var(--border);background:#ffffff0a;color:var(--muted-2);cursor:pointer}.iconBtn:hover{color:var(--text);border-color:#1c76c22e;background:#1c76c20f}.iconBtn--danger:hover{border-color:#dc262673;background:#dc26261a}.iconBtn--active{border-color:#4aaeff75;background:#4aaeff1a;color:var(--text)}.badge{border:1px solid var(--border);border-radius:999px;padding:2px 8px;color:var(--muted-2);font-size:.8rem;background:#ffffff0a}.node{position:absolute;top:0;left:0;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#fffffff0,#f8f7ffd6);box-shadow:var(--shadow);color:var(--text);padding:10px;cursor:pointer}.node:hover{border-color:#ffffff59}.node--selected{border-color:#4aaeffad;box-shadow:0 0 0 2px #4aaeff24,var(--shadow)}.node__title{font-weight:700}.node__meta{margin-top:4px;color:var(--muted);font-size:.85rem}.btn{border:1px solid rgba(28,118,194,.12);background:var(--accent-gradient);color:#fff;padding:9px 12px;border-radius:var(--radius);cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease,box-shadow .12s ease;box-shadow:0 8px 18px #0f5f9e2e;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700}.btn:hover{border-color:var(--primary-strong);background:linear-gradient(135deg,var(--primary-strong),#07395f)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring-strong)}.btn--ghost{border-color:var(--border);background:var(--surface);color:var(--primary);box-shadow:none}.btn--ghost:hover{color:var(--text);border-color:var(--primary-border);background:var(--primary-soft)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.58;transform:none}.btn--ghost:disabled:hover,.btn--ghost[aria-disabled=true]:hover{color:var(--muted);border-color:var(--border);background:#ffffff08}.btn--danger{border-color:#dc26262e;background:#dc262614;color:#b91c1c}.btn--danger:hover{border-color:#dc262647;background:#dc26261f}.tabs{min-height:46px;display:flex;align-items:center;border-bottom:1px solid var(--border);padding:4px;gap:4px}.tabs__tab{padding:0 12px;height:38px;display:flex;align-items:center;color:var(--muted);border-radius:12px;-webkit-user-select:none;user-select:none;border:1px solid transparent;background:transparent}.tabs__tab--active{color:var(--text);font-weight:600;background:#ffffff0f;border-color:var(--border)}.btn--active{border-color:#4aaeff6b;background:#4aaeff1a;color:var(--text)}.catalogCategory{border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#ffffff0d,#ffffff05);margin-bottom:12px;overflow:hidden;box-shadow:inset 0 1px #ffffff08}.catalogCategory__summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 14px;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border);background:#ffffff0a}.catalogCategory__summary::-webkit-details-marker{display:none}.catalogCategory__icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.catalogCategory__label{font-weight:700}.catalogCategory__count{margin-left:auto;color:var(--muted);font-size:.85rem}.catalogCategory__items{padding:10px;display:grid;gap:8px}.catalogItemRow{display:grid;grid-template-columns:1fr 34px;gap:8px;align-items:stretch}.catalogItem{width:100%;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#ffffff0f,#ffffff08);color:var(--text);padding:11px 12px;cursor:pointer;text-align:left;display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center}.catalogItem:hover:not(.catalogItem--disabled){background:#ffffff17}.catalogItem--active{border-color:#4aaeff8f;box-shadow:0 0 0 2px #4aaeff1a}.catalogItem--disabled{opacity:.6;cursor:not-allowed}.catalogItem__preview{width:40px;height:40px;border-radius:14px;border:1px solid var(--border);display:grid;place-items:center;background:#ffffff0a;color:var(--muted)}.catalogItem__preview svg{width:22px;height:22px}.catalogItem__previewImg{width:22px;height:22px;display:block;object-fit:contain}.catalogItem__text{display:grid;gap:3px;min-width:0}.catalogItem__label{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalogItem__desc{color:var(--muted);font-size:.85rem;line-height:1.15}.catalogStar{width:34px;height:34px;border-radius:14px;border:1px solid var(--border);background:#ffffff0a;color:var(--muted-2);cursor:pointer}.catalogStar:hover{background:var(--hover);color:var(--text)}.catalogStar--on{color:#ff3d73}.field{display:grid;gap:6px;margin-bottom:12px}.fieldRow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field__label{color:var(--muted);font-size:.85rem}.input{width:100%;border:1px solid var(--border);background:#ffffff0d;color:var(--text);padding:10px 12px;border-radius:14px;outline:none;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.input:focus{border-color:#4aaeff4d;box-shadow:var(--focus-ring)}.actions{margin:10px 0 16px;display:flex;gap:10px}.panel__sectionHeader{margin-top:14px;margin-bottom:8px;font-weight:700}.codeBlock{border:1px solid var(--border);background:#00000038;padding:12px;border-radius:16px;overflow:auto;font-size:12px;line-height:1.35}.textarea{width:100%;border:1px solid var(--border);background:#ffffff0d;color:var(--text);padding:10px;border-radius:14px;outline:none;resize:vertical;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.textarea:focus{border-color:#4aaeff4d;box-shadow:var(--focus-ring)}@media(max-width:980px){.rightPanel{display:none}.topbar{min-height:0;height:auto;align-items:flex-start;flex-direction:column;gap:10px;padding:10px 14px}.topbar__right,.topbar__subtitle{width:100%}.topbar__left{width:100%;flex-direction:column;align-items:flex-start}.topbarAuth{flex-wrap:wrap}.topbar__modeSwitch{width:100%;flex-direction:column;align-items:stretch}.topbar__modeTabs{width:100%}.topbar__modeSwitch .workspaceModeSwitch__item{min-width:0}.topbar__modeMeta{width:100%;padding-left:0;padding-top:8px;border-left:0;border-top:1px solid var(--border)}.topbarAuth{width:100%}.topbarAuth__input{width:min(220px,100%);flex:1 1 180px}.topbarAuth__error{max-width:none;width:100%}.topbarModal{padding:16px}.topbarModal__dialog{padding:20px}.topbarModal__header{flex-direction:column}.topbarModal__qrWrap{grid-template-columns:1fr}}@media(max-width:820px){.sidebar{display:none}}.resultPanel{position:fixed;right:16px;bottom:16px;width:min(520px,calc(100vw - 32px));max-height:min(60vh,540px);display:flex;flex-direction:column;border:1px solid var(--border);border-radius:22px;background:var(--glass-highlight),#ffffff0a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);overflow:hidden}.resultPanel__header{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--border)}.resultPanel__title{font-weight:700}.resultPanel__actions{display:flex;gap:10px}.resultPanel__body{padding:12px;overflow:auto}.resultPanel__line{display:flex;align-items:center;gap:10px;margin-bottom:10px}.resultPanel__value{color:var(--text);font-size:.95rem;word-break:break-word}.loginScreen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,520px);background:var(--page-gradient);color:var(--text)}.loginHero,.loginPanel{position:relative;overflow:hidden}.loginHero{display:flex;align-items:flex-start;padding:36px 56px 48px 64px}.loginHero__content{position:relative;z-index:2;max-width:720px;display:grid;gap:24px}.loginHero__logo{width:min(480px,72vw);height:auto;display:block;object-fit:contain}.loginHero h1{margin:0;font-size:clamp(2.3rem,4vw,4rem);line-height:1.02;letter-spacing:0;max-width:13ch}.loginHero p{margin:0;max-width:60ch;color:var(--muted);font-size:1.05rem;line-height:1.6}.loginScopeNotice{max-width:62ch;padding:14px 16px;border-radius:18px;border:1px solid rgba(28,118,194,.18);background:#1c76c214;color:var(--text);font-size:.96rem;line-height:1.55}.loginHero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.loginStat{display:grid;gap:8px;padding:16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft)}.loginStat strong{font-size:.9rem;letter-spacing:.03em;text-transform:uppercase}.loginStat span{color:var(--muted);font-size:.94rem;line-height:1.45}.loginHero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(28,118,194,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(28,118,194,.05) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(135deg,rgba(0,0,0,.92),transparent 90%);mask-image:linear-gradient(135deg,rgba(0,0,0,.92),transparent 90%);opacity:.3}.loginHero__orb{display:none}.loginHero__orb--a{top:70px;right:140px;width:180px;height:180px;background:radial-gradient(circle,#4aaeff52,#4aaeff00)}.loginHero__orb--b{bottom:70px;left:90px;width:240px;height:240px;background:radial-gradient(circle,#1c76c224,#1c76c200)}.loginPanel{display:flex;align-items:flex-start;justify-content:center;padding:36px 32px 32px;border-left:1px solid var(--border);background:var(--surface-subtle)}.loginCard{width:min(100%,440px);display:grid;gap:28px;padding:30px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-panel)}.loginCard__header{display:grid;gap:16px}.loginCard__badge{display:inline-flex;width:fit-content;padding:7px 12px;border-radius:999px;background:#4aaeff1a;border:1px solid rgba(74,174,255,.16);color:#1c76c2;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.loginCard__logo{width:150px;max-width:72%;height:auto;display:block;object-fit:contain}.loginCard__header h2{margin:0 0 8px;font-size:2rem;line-height:1;letter-spacing:0}.loginCard__header p{margin:0;color:var(--muted);line-height:1.6}.loginForm{display:grid;gap:16px}.loginModeSwitch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;border-radius:999px;border:1px solid var(--border);background:var(--surface-subtle)}.loginModeSwitch__item{min-height:42px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font-weight:700;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}.loginModeSwitch__item.is-active{border-color:var(--primary-border);background:#1c76c214;color:var(--primary-strong)}.loginField{display:grid;gap:8px}.loginField span{font-size:.86rem;font-weight:700;letter-spacing:.03em;color:var(--text)}.loginField input,.loginField select{width:100%;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:#1c76c208;color:var(--text);font:inherit;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}.loginPasswordField{position:relative}.loginPasswordField input{padding-right:98px}.loginPasswordToggle{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:42px;min-height:36px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--primary-strong);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:border-color .16s ease,background .16s ease,opacity .16s ease}.loginPasswordToggle:hover:not(:disabled){border-color:var(--primary-border);background:#1c76c20f}.loginPasswordToggle:disabled{opacity:.6;cursor:wait}.loginPasswordToggle svg{width:18px;height:18px;display:block;margin:0 auto}.loginField input::placeholder{color:var(--muted-2)}.loginField input:focus,.loginField select:focus{border-color:#4aaeff4d;box-shadow:0 0 0 4px #4aaeff1f;background:var(--input-focus-bg)}.loginField input:disabled,.loginField select:disabled{opacity:.7;cursor:wait}.loginSubmit{margin-top:6px;min-height:54px;border:0;border-radius:var(--radius);background:var(--accent-gradient);color:#fff;font:inherit;font-weight:800;letter-spacing:.02em;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;box-shadow:0 18px 40px #1c76c229}.loginSubmit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 22px 46px #1c76c22e}.loginSubmit:disabled{opacity:.7;cursor:wait}.loginError{padding:12px 14px;border-radius:16px;border:1px solid rgba(255,82,119,.26);background:#ff527714;color:var(--danger);font-size:.92rem;line-height:1.45}.loginNotice{padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);font-size:.92rem;line-height:1.45}.loginNotice--warn{border-color:#f59e0b47;background:#f59e0b14;color:#9a3412}.loginCard__footer{padding-top:2px;border-top:1px solid var(--border)}.loginSecurity{display:grid;gap:8px;padding-top:20px}.loginSecurity strong{font-size:.92rem}.loginSecurity span{color:var(--muted);font-size:.9rem;line-height:1.5}.workspaceHeader{display:grid;grid-template-columns:minmax(320px,520px);gap:14px 20px;padding:16px 18px 14px;border-bottom:1px solid var(--border);background:radial-gradient(circle at top right,rgba(98,184,255,.12),transparent 24%),linear-gradient(180deg,var(--panel-overlay-strong),var(--panel-soft));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:end}.workspaceHeader__controls{display:flex;align-items:center;justify-content:flex-end}.workspaceHeader__utility,.workspaceHeader__metaRow{display:flex;align-items:center;gap:12px;grid-column:1 / -1;flex-wrap:wrap}.workspacePill{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--panel-muted);color:var(--muted);font-size:.88rem;line-height:1.4}.workspacePill--danger{border-color:#dc26262e;color:#b91c1c;background:#dc26260f}.workspacePill--warn{border-color:#f59e0b2e;color:#b45309;background:#f59e0b14}.validationNoticeHost{position:fixed;top:138px;right:16px;z-index:48;display:grid;gap:10px;width:min(380px,calc(100vw - 32px));pointer-events:none}.validationNotice{padding:12px 14px;border-radius:18px;border:1px solid var(--border);background:var(--panel-strong);box-shadow:0 18px 40px #1c76c214;color:var(--text);font-size:.9rem;line-height:1.45}.validationNotice--warn{border-color:#f59e0b38;background:#fffaf0fa;color:#9a3412}.creditConfirm{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px}.creditConfirm__backdrop{position:absolute;inset:0;background:#0f172a8a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.creditConfirm__dialog{position:relative;z-index:1;width:min(520px,100%);display:grid;gap:22px;padding:26px;border-radius:8px;border:1px solid rgba(148,163,184,.28);background:var(--surface);box-shadow:0 24px 80px #0f172a42;color:var(--text)}.creditConfirm__header{display:flex;align-items:center;justify-content:space-between;gap:18px}.creditConfirm__logo{width:156px;max-width:54%;height:auto;display:block;object-fit:contain}.creditConfirm__badge{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:8px;border:1px solid rgba(28,118,194,.16);background:#1c76c212;color:var(--primary-strong);font-size:.78rem;font-weight:800;text-transform:uppercase;white-space:nowrap}.creditConfirm__body{display:grid;gap:10px}.creditConfirm__body h2{margin:0;color:var(--text);font-size:1.45rem;line-height:1.15;letter-spacing:0}.creditConfirm__body p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.6}.creditConfirm__contractList{display:grid;gap:10px;margin-top:8px}.creditConfirm__contractOption{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-subtle);cursor:pointer}.creditConfirm__contractOption.is-selected{border-color:var(--primary-border);background:#1c76c20f}.creditConfirm__contractOption input{margin-top:3px}.creditConfirm__contractOption span{display:grid;gap:4px}.creditConfirm__contractOption strong{font-size:.96rem}.creditConfirm__contractOption small{color:var(--muted);line-height:1.45}.creditConfirm__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.workspaceModeSwitch{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted);box-shadow:none}.workspaceModeSwitch__item{min-width:0;display:flex;align-items:center;gap:12px;padding:9px 13px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.workspaceModeSwitch__item:hover{background:var(--surface)}.workspaceModeSwitch__item:disabled,.workspaceModeSwitch__item.is-disabled{cursor:not-allowed;opacity:.58}.workspaceModeSwitch__item:disabled:hover,.workspaceModeSwitch__item.is-disabled:hover{background:transparent;transform:none}.workspaceModeSwitch__item.is-active{border-color:var(--primary-border);background:var(--surface);color:var(--primary-strong);box-shadow:0 2px 8px #0f172a14}.workspaceModeSwitch__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;border:1px solid var(--border);background:#1c76c20a;font-size:1rem;font-weight:900}.workspaceModeSwitch__text{display:grid;gap:4px;text-align:left}.workspaceModeSwitch__text strong{font-size:.98rem;letter-spacing:-.02em}.workspaceModeSwitch__text small{color:var(--muted);font-size:.8rem;letter-spacing:.03em}@media(max-width:1100px){.loginScreen{grid-template-columns:1fr}.loginHero{min-height:46vh;padding:28px 24px 24px}.loginHero__content{max-width:100%}.loginHero__stats{grid-template-columns:1fr}.loginPanel{padding:0 24px 32px;border-left:0}.workspaceHeader{grid-template-columns:1fr;justify-content:stretch}.workspaceHeader__controls{width:100%;justify-content:stretch}.workspaceHeader__utility{align-items:stretch;flex-direction:column}.validationNoticeHost{top:186px}.workspaceModeSwitch{width:100%}.workspaceModeSwitch__item{min-width:0}}@media(max-width:820px){.loginHero h1{max-width:13ch;font-size:clamp(2.1rem,10vw,3.2rem)}.loginHero p{font-size:.98rem}.loginCard{padding:22px;border-radius:24px}.loginCard__header h2{font-size:1.7rem}.workspaceHeader{padding:18px 14px 14px}.workspaceModeSwitch{grid-template-columns:1fr}.creditConfirm{padding:16px}.creditConfirm__dialog{padding:20px}.creditConfirm__header,.creditConfirm__actions{align-items:stretch;flex-direction:column}.creditConfirm__logo{max-width:68%}.creditConfirm__badge{width:fit-content}.creditConfirm__actions .btn{width:100%;justify-content:center}}
