:root{--accent-strong:#115c47;--accent-soft:#eaf5f0;--warning-soft:#fff8e8;--error-soft:#fdeceb;--bg-dark:var(--kernal-deep);--surface-dark:var(--kernal-panel);--surface-raised-dark:var(--kernal-panel-raised);--border-dark:#262b36;--text-on-dark:var(--kernal-white);--text-muted-on-dark:#94a3b8;--accent-on-dark:#74c4a7;--fs-title:22px;--lh-title:28px;--fs-h2:16px;--lh-h2:24px;--fs-body:14px;--lh-body:20px;--fs-small:13px;--lh-small:18px;--canvas:#fcfdfc;--snap:#2877c7;--shadow-sm:0 1px 2px #0d13210f;--shadow-md:0 12px 34px #0d13211c;--radius-sm:var(--radius-control);--radius-md:var(--radius-card);--radius-lg:var(--radius-sheet);--font-sans:var(--font-family-sans)}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.43}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}svg{stroke-width:1.8px;width:18px;height:18px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #18755b3d}.sr-only,.sr-only:not(:focus):not(:active){clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:750}.button{border-radius:var(--radius-sm);cursor:pointer;min-height:40px;font-weight:650;font-size:var(--fs-body);white-space:nowrap;border:0;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.button--primary{background:var(--accent);color:var(--on-accent);box-shadow:0 5px 16px #18755b2b}.button--primary:hover{background:var(--accent-strong)}.button--secondary{border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-sm);background:#fff}.button--secondary:hover{background:#fbfdfc;border-color:#b9d3c8}.button--danger{background:var(--error);color:#fff}.button--danger:hover{background:#a82f2f}.button--compact{min-height:32px;font-size:var(--fs-small);padding:0 12px}.button:disabled{opacity:.65;cursor:wait}.sign-in-page{background:#fff;grid-template-columns:minmax(390px,1.05fr) minmax(460px,.95fr);min-height:100vh;display:grid}.sign-in-brand-panel{isolation:isolate;color:#fff;background:radial-gradient(circle at 75% 23%, #37725e57, transparent 30%), linear-gradient(145deg, var(--surface-dark), var(--bg-dark) 72%);flex-direction:column;min-height:100vh;padding:42px clamp(38px,6vw,88px);display:flex;position:relative;overflow:hidden}.sign-in-brand-panel:after{content:"";z-index:-1;opacity:.13;background-image:linear-gradient(#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff14 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(to bottom right,#0000 20%,#000);mask-image:linear-gradient(to bottom right,#0000 20%,#000)}.sign-in-brand{letter-spacing:.06em;align-items:center;gap:12px;font-size:16px;font-weight:850;display:flex}.sign-in-brand strong{color:var(--accent-on-dark)}.sign-in-promise{z-index:1;max-width:590px;margin:auto 0;position:relative}.sign-in-promise .eyebrow{color:var(--accent-on-dark)}.sign-in-promise h1{letter-spacing:-.045em;max-width:560px;margin:0;font-size:clamp(34px,4.2vw,58px);line-height:1.04}.sign-in-lead{max-width:520px;color:var(--text-muted-on-dark);font-size:var(--fs-body);margin:20px 0 0;line-height:1.6}.sign-in-brand-panel>small{color:var(--text-muted-on-dark);font-size:var(--fs-small)}.sign-in-plan{z-index:-1;width:min(46vw,540px);color:var(--accent-on-dark);opacity:.13;position:absolute;bottom:42px;right:-58px}.sign-in-plan svg{fill:none;stroke:currentColor;stroke-width:4px;width:100%;height:auto}.sign-in-plan__opening{stroke:var(--surface-dark);stroke-width:10px}.sign-in-plan__dimension{stroke-width:1.5px}.sign-in-plan>span{letter-spacing:.08em;font-size:11px;position:absolute;bottom:-2px;left:46%}.sign-in-card-panel{background:linear-gradient(135deg,#fff,#f3f7f5);place-items:center;padding:40px;display:grid}.sign-in-card{width:min(390px,100%)}.sign-in-card .eyebrow{margin-top:0}.sign-in-card h2{color:var(--text);letter-spacing:-.04em;margin:0;font-size:34px}.sign-in-card>p:not(.eyebrow){color:var(--text-muted);font-size:var(--fs-body);margin:9px 0 28px}.sign-in-help{border-top:1px solid var(--border);text-align:center;margin-top:24px;padding-top:20px}.sign-in-help span{color:var(--text-muted);font-size:var(--fs-small)}.sign-in-help__trial{margin-top:8px;display:block}.sign-in-invite{gap:10px;margin-top:26px;display:grid}.sign-in-invite__title{color:var(--text);font-size:var(--fs-small);margin:0 0 2px;font-weight:750}.sign-in-invite__card{border:1px solid var(--border);border-radius:var(--radius-md,10px);color:var(--text);background:#fff;gap:3px;padding:14px 44px 14px 16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid;position:relative}.sign-in-invite__card:hover,.sign-in-invite__card:focus-visible{border-color:var(--accent);box-shadow:0 6px 18px #18755b1f}.sign-in-invite__card strong{font-size:15px}.sign-in-invite__card small{color:var(--text-muted);font-size:var(--fs-small);line-height:1.45}.sign-in-invite__card>svg{width:18px;color:var(--accent);position:absolute;top:50%;right:16px;transform:translateY(-50%)}.sign-in-invite__card.is-demo{background:linear-gradient(135deg,#f0f8f4,#fff);border-color:#18755b66}.sign-in-invite__badge{background:var(--accent);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-self:start;margin-bottom:4px;padding:2px 8px;font-size:11px;font-weight:750}.sign-in-promise__actions{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:28px;display:flex}.sign-in-promise__cta{background:var(--accent-on-dark);color:var(--bg-dark,#0c1626);border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-weight:750;text-decoration:none;display:inline-flex}.sign-in-promise__cta svg{width:17px}.sign-in-promise__cta:hover{filter:brightness(1.08)}.sign-in-promise__link{color:var(--text-muted-on-dark);font-size:var(--fs-small);text-underline-offset:3px;text-decoration:underline}.sign-in-promise__link:hover{color:#fff}.sign-in-help a{color:var(--accent-text);font-weight:650}.sign-in-form{gap:17px;display:grid}.sign-in-form label{color:var(--text);font-size:var(--fs-small);gap:7px;font-weight:650;display:grid}.sign-in-input{border:1px solid var(--border);border-radius:var(--radius-sm);color:#829087;background:#fff;align-items:center;gap:9px;height:40px;padding:0 12px;display:flex}.sign-in-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #18755b1a}.sign-in-input input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.sign-in-input svg{width:16px}.sign-in-input button{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:0;display:grid}.sign-in-input button:hover{background:var(--bg);color:var(--text)}.sign-in-remember{cursor:pointer;grid-template-columns:auto 1fr;align-items:center;color:var(--text-muted)!important;gap:8px!important;font-weight:500!important;display:flex!important}.sign-in-remember input{width:15px;height:15px;accent-color:var(--accent);margin:0}.sign-in-error{color:var(--error);font-size:var(--fs-small);margin:-3px 0 0}.sign-in-submit{width:100%;margin-top:5px}.sign-in-alternative{color:var(--text-muted);font-size:var(--fs-small);text-transform:lowercase;align-items:center;gap:10px;margin:2px 0 -2px;font-weight:650;display:flex}.sign-in-alternative:before,.sign-in-alternative:after{content:"";background:var(--border,#0000001f);flex:1;height:1px}.is-spinning{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{grid-template-columns:238px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.app-shell--collapsed{grid-template-columns:66px minmax(0,1fr)}.app-sidebar{background:var(--surface-dark);height:100vh;color:var(--text-on-dark);border-right:1px solid var(--border-dark);flex-direction:column;padding:16px 12px 12px;display:flex;position:sticky;top:0;overflow:hidden}.app-brand{white-space:nowrap;align-items:center;gap:10px;min-height:43px;padding:0 9px;display:flex}.app-brand img{object-fit:contain}.app-brand__name{letter-spacing:.05em;font-size:14px;font-weight:800}.app-brand__name strong{color:var(--accent-on-dark)}.sidebar-create{border-radius:var(--radius-sm);background:var(--accent);min-height:42px;color:var(--on-accent);font-size:var(--fs-small);white-space:nowrap;align-items:center;gap:10px;margin:15px 0 17px;padding:0 12px;font-weight:750;display:flex}.app-shell--collapsed .sidebar-create{justify-content:center;padding:0}.app-nav{flex-direction:column;gap:4px;display:flex}.app-nav__item{border-radius:var(--radius-sm);width:100%;min-height:40px;color:var(--text-muted-on-dark);cursor:pointer;font-size:var(--fs-body);white-space:nowrap;background:0 0;border:0;align-items:center;gap:11px;padding:0 10px;display:flex}.app-nav__item:hover{background:var(--surface-raised-dark);color:var(--text-on-dark)}.app-nav__item.is-active{color:var(--text-on-dark);background:var(--surface-raised-dark);box-shadow:inset 3px 0 var(--accent-on-dark)}.app-nav__badge{min-width:20px;height:20px;color:var(--accent-strong);background:#eaf5f0;border-radius:999px;justify-content:center;align-items:center;margin-left:auto;font-size:12px;font-weight:800;display:inline-flex}.app-shell--collapsed .app-nav__item{justify-content:center;padding:0}.app-shell--collapsed .app-nav__badge{width:16px;min-width:16px;height:16px;font-size:10px;position:absolute;transform:translate(15px,-13px)}.app-sidebar__footer{border-top:1px solid var(--border-dark);margin-top:auto;padding-top:9px}.user-summary{align-items:center;gap:10px;min-height:51px;margin-top:4px;padding:6px 8px;display:flex}.user-summary__avatar{background:var(--surface-raised-dark);width:32px;height:32px;color:var(--accent-on-dark);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.user-summary__copy{flex-direction:column;gap:2px;min-width:0;display:flex}.user-summary__copy strong{text-overflow:ellipsis;font-size:var(--fs-small);color:var(--text-on-dark);overflow:hidden}.user-summary__copy small{color:var(--text-muted-on-dark);font-size:var(--fs-small)}.sidebar-collapse{border-radius:var(--radius-sm);width:100%;min-height:34px;color:var(--text-muted-on-dark);cursor:pointer;font-size:var(--fs-small);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;display:flex}.sidebar-collapse:hover{background:var(--surface-raised-dark);color:var(--text-on-dark)}.app-content{min-width:0}.page-wrap{width:min(1180px,100% - 56px);margin:0 auto;padding:42px 0 60px}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-header h1{color:var(--text);font-size:var(--fs-title);line-height:var(--lh-title);letter-spacing:-.02em;margin:0;font-weight:700}.page-header p:last-child{color:var(--text-muted);font-size:var(--fs-small);margin:4px 0 0}.dashboard-grid{gap:16px;display:grid}.dashboard-grid--lead{grid-template-columns:1.7fr 1fr}.continue-card,.comment-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:112px;box-shadow:var(--shadow-sm)}.continue-card{align-items:center;gap:17px;padding:20px;display:flex}.continue-card:hover{border-color:#b9d3c8;box-shadow:0 6px 18px #12263f12}.continue-card__icon{background:var(--accent-soft);width:50px;height:50px;color:var(--accent);border-radius:14px;place-items:center;display:grid}.continue-card__icon svg{width:22px;height:22px}.continue-card__copy{flex-direction:column;gap:3px;display:flex}.continue-card__copy small{color:var(--text-muted);font-size:var(--fs-small)}.continue-card__copy strong{color:var(--text);font-size:17px}.continue-card__copy span{color:var(--text-muted);font-size:var(--fs-small)}.continue-card__action{color:var(--accent);align-items:center;gap:6px;margin-left:auto;font-size:13px;font-weight:750;display:flex}.comment-card{text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:20px;display:grid}.comment-card:hover{border-color:#b9d3c8}.comment-card__count{background:var(--text);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:18px;font-weight:800;display:grid}.comment-card span:nth-child(2){flex-direction:column;gap:5px;display:flex}.comment-card strong{font-size:14px}.comment-card small{color:var(--text-muted);font-size:var(--fs-small)}.comment-card>svg{color:var(--accent)}.section-block{margin-top:36px}.section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:15px;display:flex}.section-heading h2{color:var(--text);font-size:var(--fs-h2);letter-spacing:-.01em;margin:0;font-weight:600}.section-heading p{color:var(--text-muted);font-size:var(--fs-small);margin:4px 0 0}.text-link{color:var(--accent-text);font-size:var(--fs-small);align-items:center;gap:5px;font-weight:650;display:flex}.text-link svg{width:15px}.library-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.library-controls .compact-search{flex:260px}.library-sort select{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-small);background:#fff;padding:8px 10px}.library-tabs{gap:6px;margin-bottom:18px;display:flex}.library-tabs a{border:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-small);border-radius:999px;padding:6px 12px;font-weight:650;text-decoration:none}.library-tabs a.is-active{border-color:var(--accent);color:var(--accent-strong);background:#eef7f2}.empty-state{color:var(--text-muted);text-align:center;justify-items:center;gap:10px;padding:40px 24px;display:grid}.empty-state>svg{width:24px;height:24px;color:var(--text-muted)}.empty-state p{max-width:46ch;font-size:var(--fs-body);margin:0;line-height:1.5}.library-empty{border:1px dashed var(--border);border-radius:var(--radius-md)}.library-pagination{font-size:var(--fs-small);color:var(--text-muted);justify-content:center;align-items:center;gap:12px;margin-top:20px;display:flex}.library-pagination .is-unavailable{opacity:.45;pointer-events:none}.library-note{color:var(--text-muted);font-size:var(--fs-small);max-width:62ch}.access-list{gap:6px;max-height:320px;display:grid;overflow-y:auto}.access-row{border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.access-row strong{font-size:var(--fs-small);display:block}.access-row small{color:var(--text-muted);font-size:var(--fs-small)}.access-tag{color:var(--accent-strong);font-size:var(--fs-small);white-space:nowrap;background:#eef7f2;border-radius:999px;padding:3px 8px;font-weight:700}.access-toggle{font-size:var(--fs-small);color:var(--text-muted);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.tenant-logo-control{align-items:center;gap:6px;display:inline-flex}.tenant-logo-control img{object-fit:contain;max-width:90px;max-height:24px}.tenant-logo-control input[type=file]{display:none}.viewer-tenant-logo{object-fit:contain;max-width:180px;max-height:34px;margin-bottom:4px;display:block}.dictionary-import{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.dictionary-material-preview{align-items:center;gap:8px;display:flex}.dictionary-material-preview i{border:1px solid var(--border);border-radius:4px;width:34px;height:20px}.dictionary-material-preview small{color:var(--text-muted);font-size:var(--fs-small)}.layer-row select[aria-label^=Materiał]{min-width:120px}.dictionary-import input[type=file]{display:none}.storey-slab-type{font-size:var(--fs-small);gap:3px;margin-top:8px;display:grid}.storey-slab-type span{color:var(--text-muted);font-weight:650}.storey-slab-type select{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-small);background:#fff;padding:6px 8px}.storey-slab-hint{color:var(--text-muted);font-size:var(--fs-small);margin-top:4px;line-height:1.4}.project-card--managed{flex-direction:column;display:flex}.project-card--managed .project-card__open{color:inherit;text-decoration:none;display:contents}.project-card__actions{flex-wrap:wrap;gap:6px;padding:10px 14px 14px;display:flex}.project-card__actions button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--fs-small);cursor:pointer;background:#fff;align-items:center;gap:5px;padding:5px 9px;font-weight:650;display:inline-flex}.project-card__actions button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.project-card__actions button:disabled{opacity:.5;cursor:progress}.project-card__actions svg{width:13px;height:13px}.project-card__error{color:#a4561d;font-size:var(--fs-small);flex:100%}.project-card__note{color:var(--text-muted);font-size:var(--fs-small);flex:100%;margin:0}.project-card__purge{color:#a4561d}.project-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.project-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s;overflow:hidden}.project-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #12263f17}.project-card__preview{border-bottom:1px solid var(--border);background:#f8faf9;place-items:center;height:132px;display:grid}.plan-thumbnail{fill:none;stroke:#41564c;stroke-width:3.5px;stroke-linejoin:round;stroke-linecap:round;width:88%;height:90%}.plan-thumbnail--empty{stroke:none}.plan-thumbnail--empty text{fill:#a6b3ac;stroke:none;font-size:13px;font-weight:650}.project-card__body{flex-direction:column;gap:3px;padding:14px 15px 16px;display:flex}.project-card__topline{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.project-card__topline small,.project-card__body>small,.project-card__body>span{color:var(--text-muted);font-size:var(--fs-small)}.project-card__body>strong{color:var(--text);font-size:var(--fs-body);font-weight:600}.status{font-size:var(--fs-small);letter-spacing:.01em;border-radius:999px;padding:3px 8px;font-weight:700}.status--draft{color:#8a5a00;background:#fff5d8}.status--published{color:var(--accent-strong);background:var(--accent-soft)}.status--lead{color:#5b3fa3;background:#efe9fb}.compact-search{border:1px solid var(--border);border-radius:var(--radius-sm);width:190px;height:40px;color:var(--text-muted);background:#fff;align-items:center;gap:7px;padding:0 10px;display:flex}.compact-search svg{width:15px}.compact-search input{width:100%;min-width:0;font-size:var(--fs-small);background:0 0;border:0;outline:0}.template-choice{border:0;gap:8px;margin:0;padding:0;display:grid}.template-choice legend{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0;font-size:12px;font-weight:700}.template-choice__options{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;display:grid}.template-choice__options button{border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:#fff;gap:3px;padding:10px 12px;display:grid}.template-choice__options button strong{font-size:var(--fs-small)}.template-choice__options button small{color:var(--text-muted);font-size:var(--fs-small);line-height:1.35}.template-choice__options button.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#f2f9f5}.template-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.template-card{border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;cursor:pointer;background:#fff;grid-template-columns:92px 1fr auto;align-items:center;gap:11px;min-width:0;min-height:96px;padding:10px 12px;display:grid}.template-card:hover{background:#fbfdfc;border-color:#b9d3c8}.template-card>.plan-thumbnail{width:92px;height:66px}.template-card__copy{flex-direction:column;gap:3px;min-width:0;display:flex}.template-card__copy strong{color:var(--text);font-size:var(--fs-body);font-weight:600}.template-card__copy span,.template-card__copy small{color:var(--text-muted);font-size:var(--fs-small);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.template-card__copy small{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box}.template-card>svg:last-child{width:15px;color:var(--accent)}.page-wrap--narrow{width:min(820px,100% - 56px)}.new-project-header{margin-bottom:22px}.new-project-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;gap:24px;padding:26px;display:grid}.new-project-card__intro{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding-bottom:20px;display:flex}.new-project-card__icon{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:13px;place-items:center;display:grid}.new-project-card__intro>div{flex-direction:column;gap:3px;display:flex}.new-project-card__intro strong{color:var(--text);font-size:16px}.new-project-card__intro small{color:var(--text-muted);font-size:var(--fs-small)}.form-field{color:var(--text);font-size:var(--fs-small);gap:7px;font-weight:750;display:grid}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:40px;color:var(--text);background:#fff;outline:0;padding:0 13px}.form-field textarea{resize:vertical;font:inherit;padding-top:11px}.form-field--inline{grid-auto-flow:column;justify-content:start;align-items:center}.form-field--inline input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0}.button--secondary.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.partner-metrics{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.partner-metrics>div{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8faf9;gap:2px;padding:10px 12px;display:grid}.partner-metrics small{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.partner-metrics strong{color:var(--text);font-size:18px}.partner-metrics span{color:var(--text-muted);font-size:var(--fs-small)}.guest-privacy h2{color:var(--text);margin:6px 0 0;font-size:15px}.guest-privacy p,.guest-privacy li{color:var(--text-muted);font-size:13.5px;line-height:1.55}.guest-privacy ul{gap:6px;margin:0;padding-left:20px;display:grid}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #18755b1a}.form-field small{color:var(--text-muted);font-size:var(--fs-small);font-weight:400}.new-project-summary{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8faf9;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.new-project-summary>span{border-right:1px solid var(--border);flex-direction:column;justify-content:center;gap:4px;min-height:70px;padding:13px 15px;display:flex}.new-project-summary>span:last-child{border-right:0}.new-project-summary small{color:var(--text-muted);font-size:var(--fs-small)}.guest-start{background:#f4f7f5;align-content:start;justify-items:center;gap:24px;min-height:100vh;padding:32px 16px 48px;display:grid}.guest-start__brand{letter-spacing:.06em;color:var(--text);align-items:center;gap:10px;font-size:15px;display:flex}.guest-start__brand strong{font-weight:800}.guest-start__card{width:min(720px,100%)}.guest-start__card.editor-loading{min-height:200px}.guest-start__resume{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.guest-start__resume small{color:var(--text-muted);display:block}.guest-start__code{border:1px solid var(--border);border-radius:var(--radius-sm);gap:10px;padding:14px 16px;display:grid}.guest-start__code small{color:var(--text-muted);display:block}.guest-start__code strong svg{vertical-align:-3px;width:16px;height:16px;color:var(--accent)}.guest-start__code-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.guest-start__code-row .form-field{flex:200px;margin:0}.guest-start__code-row input{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase}.guest-start__code .form-error{margin:0}.save-code-dialog__code{border-radius:var(--radius-sm);background:var(--accent-soft);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.save-code-dialog__code output{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.12em;color:var(--text);-webkit-user-select:all;user-select:all;flex:auto;font-size:1.6rem;font-weight:700}.lead-dialog{gap:14px;width:min(640px,100vw - 40px);max-height:84vh;overflow-y:auto}.lead-dialog .button,.editor-topbar__actions .button--primary{white-space:nowrap}.lead-dialog__trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.lead-dialog__consent{font-weight:500;font-size:var(--fs-small);color:var(--text-muted);align-items:start;line-height:1.5}.lead-dialog__consent input[type=checkbox]{margin-top:2px}.lead-dialog h2 svg{vertical-align:-4px;width:22px;height:22px;color:var(--accent)}.guest-start__card h1 svg{vertical-align:-3px;width:22px;height:22px;color:var(--accent)}.guest-start__note{border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--fs-small);background:#f8faf9;margin:0;padding:12px 14px;line-height:1.5}.new-project-summary strong{color:var(--text);font-size:var(--fs-small)}.form-error{color:var(--error);font-size:var(--fs-small);margin:-8px 0}.form-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.dictionary-page{width:min(1320px,100% - 56px)}.dictionary-layout{border:1px solid var(--border);border-radius:var(--radius-lg);min-height:610px;box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:260px minmax(0,1fr);display:grid;overflow:hidden}.dictionary-packages{border-right:1px solid var(--border);background:#f8faf9;flex-direction:column;gap:5px;padding:15px 11px;display:flex}.dictionary-packages>button{border-radius:var(--radius-sm);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;display:flex}.dictionary-packages>button>span{gap:3px;min-width:0;display:grid}.dictionary-packages>button:hover{border-color:var(--border);background:#fff}.dictionary-packages>button.is-active{background:var(--accent-soft);border-color:#c6ddd3}.dictionary-packages>button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.dictionary-packages>button strong{color:var(--text);font-size:13px}.dictionary-packages>button small{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.dictionary-packages>button svg{width:16px;height:16px;color:var(--text-muted);flex:none}.dictionary-content{min-width:0;padding:26px}.dictionary-empty{align-content:center;min-height:500px}.dictionary-package-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.dictionary-package-header h2{color:var(--text);letter-spacing:-.025em;margin:4px 0 5px;font-size:24px}.dictionary-package-header p{max-width:620px;color:var(--text-muted);font-size:var(--fs-small);margin:0;line-height:1.5}.dictionary-version-actions{align-items:center;gap:8px;display:flex}.dictionary-version-actions select{border:1px solid var(--border);border-radius:var(--radius-sm);height:42px;color:var(--text);font-size:var(--fs-small);background:#fff;padding:0 32px 0 11px}.dictionary-version-actions svg,.dictionary-page .button svg{width:15px;height:15px}.draft-notice{border-radius:var(--radius-sm);background:var(--warning-soft);color:#76521a;cursor:pointer;width:100%;font-size:var(--fs-small);text-align:left;border:1px solid #edd8a4;justify-content:space-between;align-items:center;margin-bottom:20px;padding:11px 13px;font-weight:700;display:flex}.draft-notice svg{width:15px}.dictionary-section{border-top:1px solid var(--border);padding:20px 0}.dictionary-filters{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px;display:flex}.dictionary-filters .compact-search{flex:240px}.dictionary-filters select{border:1px solid var(--border);border-radius:var(--radius-sm);height:38px;color:var(--text);font-size:var(--fs-small);background:#fff;padding:0 10px}.dictionary-no-results{color:var(--text-muted);padding:20px 0}.dictionary-more{margin-top:14px}.dictionary-item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dictionary-item{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:13px;min-width:0;padding:14px;display:grid}.dictionary-item.is-archived{opacity:.55}.dictionary-item>div:first-child{gap:3px;min-width:0;display:grid}.dictionary-item>div:first-child span{color:var(--accent);text-transform:uppercase;letter-spacing:.055em;font-size:12px;font-weight:800}.dictionary-item>div:first-child strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.dictionary-item>div:first-child small{color:var(--text-muted);font-size:var(--fs-small)}.dictionary-item__actions{border-top:1px solid var(--border);grid-column:1/-1;gap:7px;padding-top:10px;display:flex}.dictionary-item__actions button{color:var(--accent);cursor:pointer;font-size:var(--fs-small);background:0 0;border:0;align-items:center;gap:5px;padding:0;font-weight:750;display:flex}.dictionary-item__actions button:last-child{color:var(--text-muted);margin-left:auto}.dictionary-item__actions svg{width:12px;height:12px}.dictionary-wall-preview{border:1px solid #cad6d0;border-radius:4px;height:31px;display:flex;position:relative;overflow:visible}.dictionary-wall-preview i{border-right:1px solid #12263f21;min-width:3px;height:100%;display:block}.dictionary-wall-preview small{color:var(--text-muted);font-size:var(--fs-small);position:absolute;top:calc(100% + 3px);right:0}.dictionary-opening-meta{text-align:right;gap:4px;display:grid}.dictionary-opening-meta span{color:var(--accent);font-size:var(--fs-small);font-weight:750}.dictionary-opening-meta small{color:var(--text-muted);font-size:var(--fs-small);line-height:1.3}.dictionary-error{border-radius:var(--radius-sm);color:#8a2d21;font-size:var(--fs-small);background:#fff0ed;border:1px solid #efb4ab;margin:0 0 16px;padding:10px 12px}.dictionary-editor{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,100vw - 40px);max-height:78vh;display:grid;overflow:hidden;box-shadow:0 24px 70px #0711273d}.dictionary-editor__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px 15px;display:flex}.dictionary-editor__header small,.dictionary-package-dialog>div:first-child small{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;font-size:12px;font-weight:800}.dictionary-editor__header h2,.dictionary-package-dialog h2{color:var(--text);margin:3px 0 0;font-size:21px}.dictionary-editor__body{gap:17px;min-height:0;padding:20px;display:grid;overflow-y:auto}.dictionary-editor__body>label,.dictionary-form-grid label,.dictionary-package-dialog>label{color:var(--text);font-size:var(--fs-small);gap:6px;font-weight:700;display:grid}.dictionary-editor input:not([type=color]),.dictionary-editor select,.dictionary-package-dialog input,.dictionary-package-dialog select,.dictionary-package-dialog textarea{border:1px solid var(--border);width:100%;min-height:39px;color:var(--text);font-size:var(--fs-small);background:#fff;border-radius:7px;outline:0;padding:0 10px}.dictionary-package-dialog textarea{resize:vertical;padding-top:9px}.dictionary-editor input:focus,.dictionary-editor select:focus,.dictionary-package-dialog input:focus,.dictionary-package-dialog select:focus,.dictionary-package-dialog textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #18755b1a}.dictionary-editor__footer{border-top:1px solid var(--border);background:#f8faf9;justify-content:flex-end;gap:9px;padding:13px 20px;display:flex}.dictionary-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.layer-editor{gap:8px;display:grid}.layer-editor>div:first-child{justify-content:space-between;align-items:center;display:flex}.layer-editor>div:first-child strong{color:var(--text);font-size:var(--fs-small)}.layer-editor>div:first-child button{color:var(--accent);cursor:pointer;font-size:var(--fs-small);background:0 0;border:0;align-items:center;gap:5px;padding:0;font-weight:750;display:flex}.layer-editor>div:first-child svg{width:13px}.layer-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8faf9;grid-template-columns:1.2fr 1fr 95px 38px 30px;align-items:center;gap:7px;padding:9px;display:grid}.layer-row input[type=color]{border:1px solid var(--border);background:#fff;border-radius:6px;width:38px;height:34px;padding:2px}.layer-row>button{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.layer-row>button:hover{color:var(--error);background:#fff0ed}.layer-row>button:disabled{opacity:.3;cursor:default}.layer-row>button svg{width:13px}.dictionary-package-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;gap:16px;width:min(470px,100vw - 40px);padding:23px;display:grid;box-shadow:0 24px 70px #0711273d}.dictionary-package-dialog .form-actions{justify-content:flex-end;margin-top:4px}.admin-page{width:min(1320px,100% - 56px)}.admin-page__header{align-items:center}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.admin-stat-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-stat-grid>div{border:1px solid var(--border);border-radius:var(--radius-md);min-height:98px;box-shadow:var(--shadow-sm);background:#fff;grid-template-rows:1fr 1fr;grid-template-columns:42px 1fr;align-items:center;column-gap:12px;padding:17px 18px;display:grid}.admin-stat__icon{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:12px;grid-row:1/3;place-items:center;display:grid}.admin-stat__icon--success{color:#28764f;background:#eaf6ef}.admin-stat__icon svg{width:19px;height:19px}.admin-stat-grid small{color:var(--text-muted);font-size:var(--fs-small);align-self:end}.admin-stat-grid strong{color:var(--text);font-variant-numeric:tabular-nums;align-self:start;font-size:23px}.admin-panel{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.admin-panel__toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:17px 20px;display:flex}.admin-panel__toolbar h2{color:var(--text);margin:0;font-size:16px}.admin-panel__toolbar p{color:var(--text-muted);font-size:var(--fs-small);margin:4px 0 0}.admin-search{border:1px solid var(--border);width:235px;height:40px;color:var(--text-muted);background:#fff;border-radius:7px;align-items:center;gap:7px;padding:0 10px;display:flex}.admin-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #18755b17}.admin-search svg{width:15px}.admin-search input{min-width:0;font-size:var(--fs-small);background:0 0;border:0;outline:0;flex:1}.admin-toolbar-controls{align-items:center;gap:8px;display:flex}.admin-select{border:1px solid var(--border);background:#fff;border-radius:7px;align-items:center;min-width:160px;height:40px;display:flex;position:relative}.admin-select select{appearance:none;width:100%;height:100%;color:var(--text);font-size:var(--fs-small);background:0 0;border:0;outline:0;padding:0 30px 0 10px}.admin-select svg{pointer-events:none;width:13px;color:var(--text-muted);position:absolute;right:9px}.admin-feedback{font-size:var(--fs-small);border-radius:7px;margin:12px 20px;padding:10px 12px}.admin-feedback--error{color:#8a2d21;background:#fff0ed;border:1px solid #efb4ab}.admin-feedback--success{background:var(--accent-soft);color:var(--accent-strong);border:1px solid #b9d9cc}.tenant-list{display:grid}.tenant-row{border-bottom:1px solid var(--border);grid-template-columns:42px minmax(180px,1.5fr) repeat(3,minmax(72px,.5fr)) 92px auto;align-items:center;gap:14px;min-height:79px;padding:12px 16px;display:grid}.tenant-row:last-child{border-bottom:0}.tenant-row:hover{background:#fbfdfc}.tenant-row__mark{border-radius:10px;place-items:center;width:38px;height:38px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1f}.tenant-row__mark i{border-radius:4px;width:15px;height:15px;display:block;transform:rotate(45deg)}.tenant-row__identity{gap:4px;min-width:0;display:grid}.tenant-row__identity strong{color:var(--text);font-size:var(--fs-small);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tenant-row__identity span{color:var(--text-muted);font-size:var(--fs-small)}.tenant-row__metric{gap:3px;display:grid}.tenant-row__metric small{color:var(--text-muted);font-size:var(--fs-small)}.tenant-row__metric strong{color:var(--text);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.tenant-row__actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.admin-status{width:fit-content;font-size:var(--fs-small);letter-spacing:.02em;border-radius:999px;align-items:center;padding:5px 8px;font-weight:800;display:inline-flex}.admin-status--active{color:#25704b;background:#e9f6ef}.admin-status--suspended{background:var(--warning-soft);color:#8a5a00}.admin-status--archived,.admin-status--invited{color:#65736b;background:#edf1ef}.admin-empty{min-height:250px;color:var(--text-muted);text-align:center;place-content:center;justify-items:center;gap:6px;display:grid}.admin-empty>svg{width:24px;height:24px;color:var(--text-muted);margin-bottom:4px}.admin-empty strong{color:var(--text);font-size:13px}.admin-empty span{font-size:var(--fs-small)}.admin-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;width:min(650px,100vw - 40px);padding:0;overflow:hidden;box-shadow:0 25px 80px #07112747}.admin-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#07112773}.admin-dialog form{display:grid}.admin-dialog header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:19px 22px 16px;display:flex}.admin-dialog h2{color:var(--text);letter-spacing:-.025em;margin:2px 0 0;font-size:21px}.admin-dialog__body{gap:16px;padding:21px 22px;display:grid}.admin-dialog footer{border-top:1px solid var(--border);background:#f8faf9;justify-content:flex-end;gap:8px;padding:13px 22px;display:flex}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-dialog input[type=color]{width:100%;padding:4px}.user-table-wrap{overflow-x:auto}.user-table{border-collapse:collapse;width:100%}.user-table th{border-bottom:1px solid var(--border);height:40px;color:var(--text-muted);letter-spacing:.045em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f8faf9;padding:0 13px;font-size:12px;font-weight:750}.user-table td{border-bottom:1px solid var(--border);height:70px;font-size:var(--fs-small);vertical-align:middle;padding:10px 13px}.user-table tr:last-child td{border-bottom:0}.user-table tbody tr:hover{background:#fbfdfc}.admin-user{align-items:center;gap:10px;min-width:190px;display:flex}.admin-user__avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-strong);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:850;display:grid}.admin-user>span:last-child{gap:3px;min-width:0;display:grid}.admin-user strong{color:var(--text);font-size:var(--fs-small);align-items:center;gap:6px;display:flex}.admin-user strong small{color:var(--text-muted);background:#edf1ef;border-radius:99px;padding:2px 5px;font-size:12px}.admin-user em{color:var(--text-muted);font-size:var(--fs-small);text-overflow:ellipsis;font-style:normal;overflow:hidden}.role-select{border:1px solid var(--border);width:170px;height:36px;color:var(--text);font-size:var(--fs-small);background:#fff;border-radius:6px;outline:0;padding:0 7px}.role-select:focus{border-color:var(--accent)}.security-label,.global-admin-label{color:var(--text-muted);font-size:var(--fs-small);white-space:nowrap;align-items:center;gap:4px;display:flex}.security-label svg,.global-admin-label svg{width:11px;height:11px}.security-label--on{color:var(--accent-strong)}.global-admin-label{color:#7c5b12;margin-top:4px}.activity-label{color:var(--text-muted);font-size:var(--fs-small);white-space:nowrap}.password-generator{border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:1fr auto 38px;height:42px;display:grid;overflow:hidden}.password-generator:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #18755b1a}.password-generator input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;height:100%!important;box-shadow:none!important;border:0!important;border-radius:0!important}.password-generator button{border:0;border-left:1px solid var(--border);color:var(--accent-strong);cursor:pointer;font-size:var(--fs-small);background:#f8faf9;padding:0 10px;font-weight:750}.password-generator button:last-child{place-items:center;padding:0;display:grid}.password-generator button svg{width:14px}.editor-shell{background:#eef3f0;grid-template-rows:54px minmax(0,1fr) 28px;min-width:1024px;height:100vh;display:grid;overflow:hidden}.editor-topbar{z-index:10;border-bottom:1px solid var(--border);background:#fff;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 12px;display:grid;position:relative;box-shadow:0 1px 8px #12263f0a}.editor-topbar__project,.editor-topbar__center,.editor-topbar__actions{align-items:center;gap:8px;display:flex}.editor-topbar__actions{justify-content:flex-end}.icon-button{cursor:pointer;width:32px;height:32px;color:var(--text-muted);background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.icon-button:hover{background:var(--bg);color:var(--text)}.icon-button:disabled{opacity:.35;cursor:default}.editor-brand{color:var(--text);letter-spacing:-.04em;align-items:center;gap:5px;font-size:17px;font-weight:900;display:inline-flex}.editor-brand img{width:22px;height:22px;display:block}.editor-brand span{color:var(--accent);letter-spacing:.04em;font-size:10px}.topbar-divider{background:var(--border);width:1px;height:26px;margin:0 5px}.project-identity{flex-direction:column;min-width:0;display:flex}.project-identity strong{text-overflow:ellipsis;white-space:nowrap;max-width:190px;color:var(--text);font-size:var(--fs-small);overflow:hidden}.project-identity small{color:var(--text-muted);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.floor-picker{border:1px solid var(--border);cursor:pointer;min-width:120px;height:32px;color:var(--text);font-size:var(--fs-small);background:#fff;border-radius:7px;justify-content:space-between;align-items:center;padding:0 9px 0 12px;font-weight:650;display:flex}.floor-picker svg{width:15px}.floor-picker select{appearance:none;min-width:94px;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;outline:0}.save-state{color:var(--accent);font-size:var(--fs-small);align-items:center;gap:5px;display:flex}.save-state svg{width:14px}.save-state--dirty,.save-state--saving{color:var(--text-muted)}.save-state--offline,.save-state--error,.save-state--conflict,.save-state--locked{color:var(--error)}.issue-button{background:var(--warning-soft);height:32px;color:var(--warning);cursor:pointer;font-size:var(--fs-small);border:1px solid #f0d5a1;border-radius:7px;align-items:center;gap:4px;padding:0 9px;font-weight:800;display:flex}.issue-button svg{width:15px}.release-chip{white-space:nowrap;cursor:default;border-radius:999px;align-items:center;height:22px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.release-chip--same{background:var(--accent-soft);color:var(--accent-strong);border:1px solid #b9d9cc}.release-chip--ahead{border:1px solid var(--border);background:var(--surface-muted,#f2f5f4);color:var(--text-muted)}.dialog-note--warning{border-left:3px solid var(--warning);color:var(--text-primary);padding-left:9px}.issue-button__part{align-items:center;gap:4px;display:inline-flex}.issue-button__part--muted{opacity:.72}.issue-button__part--muted:before{content:"·";opacity:.6;margin:0 5px 0 1px;font-weight:700}.command-trigger{border:1px solid var(--border);height:32px;color:var(--text-muted);cursor:pointer;font-size:var(--fs-small);background:#fff;border-radius:7px;align-items:center;gap:6px;padding:0 8px;display:flex}.command-trigger svg{width:14px}kbd{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);font:11px var(--font-sans);border-bottom-width:2px;border-radius:4px;padding:2px 5px}.editor-workspace{grid-template-columns:84px minmax(0,1fr) 360px;min-height:0;display:grid}.editor-workspace--wide{grid-template-columns:84px minmax(0,1fr)}.tool-rail{z-index:5;border-right:1px solid var(--border);background:#fff;padding:8px 6px;position:relative;overflow-y:auto}.tool-group{padding:2px 0}.tool-group--separated{border-top:1px solid var(--border);margin-top:6px;padding-top:9px}.tool-button{text-align:center;width:72px;min-height:54px;color:var(--text-muted);cursor:pointer;line-height:1.15;font-size:var(--fs-small);background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 2px;display:flex}.tool-button svg{width:20px;height:20px}.tool-button:hover{background:var(--bg);color:var(--text)}.tool-button.is-active{background:var(--accent-soft);color:var(--accent-strong);font-weight:750}.canvas-area{background:#f7f9f8;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.canvas-stage{min-height:0;position:relative}.phone-hint{z-index:30;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--accent-soft);box-shadow:var(--shadow-md);align-items:flex-start;gap:6px;padding:8px 6px 8px 12px;display:flex;position:absolute;top:8px;left:8px;right:8px}.placing-hint{z-index:25;background:var(--text);color:#dce6ec;width:max-content;max-width:calc(100% - 24px);box-shadow:var(--shadow-md);font-size:var(--fs-small);border:1px solid #28465e;border-radius:8px;align-items:center;gap:10px;padding:8px 8px 8px 14px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.placing-hint strong{color:#fff}.phone-hint p{color:var(--text);font-size:var(--fs-small);line-height:var(--lh-small);margin:0}.phone-hint .icon-button{flex:none}.read-only-banner{z-index:30;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--warning-soft);max-width:min(640px,100% - 32px);box-shadow:var(--shadow-md);color:var(--text);font-size:var(--fs-small);line-height:var(--lh-small);text-align:center;margin:0;padding:8px 14px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.canvas-toolbar{z-index:3;border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:center;gap:2px;padding:4px 8px;display:flex;position:relative}.canvas-toolbar button{white-space:nowrap;height:32px;color:var(--text-muted);cursor:pointer;font-size:var(--fs-small);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 9px;display:flex}.canvas-toolbar button:hover{background:var(--bg);color:var(--text)}.canvas-toolbar button.is-active{background:var(--accent-soft);color:var(--accent-strong)}.canvas-toolbar button:disabled{opacity:.42;cursor:not-allowed}.canvas-toolbar svg{width:15px;height:15px}.canvas-toolbar__divider{background:var(--border);width:1px;margin:4px 3px}.toolbar-group{align-items:center;gap:2px;display:inline-flex}.canvas-zoom-value{min-width:44px;color:var(--text);font-size:var(--fs-small);font-variant-numeric:tabular-nums;place-items:center;display:grid}.snap-step{height:32px;color:var(--text-muted);font-size:var(--fs-small);align-items:center;gap:5px;padding:0 6px;display:flex}.snap-step select{border:1px solid var(--border);height:26px;color:var(--text);font:13px var(--font-sans);background:#fff;border-radius:5px;outline:0;padding:0 18px 0 6px}.canvas-sheet{background:var(--canvas);cursor:default;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.canvas-sheet.is-drawing{cursor:crosshair}.canvas-sheet.is-hosting{cursor:cell}.canvas-sheet.is-calibrating,.canvas-sheet.is-calibrating *{cursor:crosshair}.canvas-sheet.is-panning,.canvas-sheet.is-panning *{cursor:grabbing!important}.editor-plan{width:100%;height:100%;display:block;overflow:hidden}.editor-grid line{stroke:#dfe7e3;stroke-width:1px;shape-rendering:crispedges;pointer-events:none}.editor-grid line.is-major{stroke:#cbd7d1}.editor-grid line.is-axis{stroke:#89a49a;stroke-width:1.4px}.editor-grid text{fill:#8a9b94;font:8px var(--font-sans);pointer-events:none}.project-underlays{pointer-events:none}.underlay-calibration-points{fill:#fff;stroke:var(--snap);stroke-width:3px;pointer-events:none}.underlay-calibration-points line{stroke-width:3px;stroke-dasharray:8 5;filter:drop-shadow(0 0 2px #fff)}.underlay-calibration-magnifier{pointer-events:none}.underlay-calibration-magnifier>circle{fill:none;stroke:#fff;stroke-width:5px;filter:drop-shadow(0 2px 4px #152c3b73)}.underlay-calibration-magnifier>line{stroke:var(--snap);stroke-width:1.5px}.underlay-panel{z-index:8;border:1px solid var(--border);width:306px;box-shadow:var(--shadow-md);background:#fffffff7;border-radius:10px;flex-direction:column;display:flex;position:absolute;top:12px;bottom:12px;right:12px;overflow:hidden}.underlay-panel>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:55px;padding:10px 10px 9px 13px;display:flex}.underlay-panel>header div{gap:2px;display:grid}.underlay-panel>header small{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.underlay-panel>header strong{color:var(--text);font-size:var(--fs-small)}.underlay-panel>header button{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.underlay-panel>header svg{width:14px}.underlay-error{color:var(--error);font-size:var(--fs-small);background:#fff6f4;border:1px solid #efc5be;border-radius:6px;margin:8px 10px 0;padding:8px}.underlay-upload{border:1px solid var(--border);background:#f8faf9;border-radius:8px;gap:7px;margin:10px;padding:9px;display:grid}.underlay-upload>input{border:1px solid var(--border);height:29px;font:13px var(--font-sans);border-radius:5px;outline:0;padding:0 8px}.underlay-upload>button{background:var(--accent);color:#fff;cursor:pointer;height:29px;font-size:var(--fs-small);border:0;border-radius:5px;font-weight:750}.underlay-upload>button:disabled{color:#7d8b84;cursor:not-allowed;background:#d7ded9}.file-field{background:#fff;border:1px dashed #afc9be;border-radius:7px;align-items:center;gap:5px;min-width:0;padding:6px 7px;display:flex;position:relative}.file-field.is-chosen{background:var(--accent-soft);border-style:solid;border-color:#8cc8b5}.file-field.is-dragging{border-color:var(--accent);background:#e9f5ef}.file-field.is-rejected{background:#fff7f5;border-color:#efb4ab}.file-field>label{min-width:0;min-height:34px;color:var(--accent-strong);cursor:pointer;flex:1;align-items:center;gap:8px;display:flex}.file-field>label>svg{flex:none;width:18px}.file-field.is-rejected>label{color:var(--error)}.file-field span{gap:2px;min-width:0;display:grid}.file-field strong,.file-field small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-field strong{font-size:var(--fs-small)}.file-field small{color:var(--text-muted);font-size:var(--fs-small)}.file-field.is-rejected small{color:var(--error)}.file-field input[type=file]{opacity:0;width:1px;height:1px;position:absolute}.file-field__clear{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;padding:0;display:grid}.file-field__clear:hover{color:var(--error);background:#fff}.file-field__clear svg{width:12px}.underlay-list{gap:5px;max-height:190px;padding:0 10px 9px;display:grid;overflow-y:auto}.underlay-list article{border:1px solid var(--border);background:#fff;border-radius:7px;grid-template-columns:minmax(0,1fr) 28px 28px;align-items:center;min-height:48px;display:grid}.underlay-list article.is-selected{background:var(--accent-soft);border-color:#8cc8b5}.underlay-main{min-width:0;height:46px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:7px;padding:0 7px;display:flex}.underlay-main>svg{width:16px;color:var(--accent);flex:none}.underlay-main span{gap:2px;min-width:0;display:grid}.underlay-main strong,.underlay-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.underlay-main strong{font-size:var(--fs-small)}.underlay-main small{color:var(--text-muted);font-size:var(--fs-small)}.underlay-list article>button:not(.underlay-main){width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:0;display:grid}.underlay-list article>button:not(.underlay-main):hover{color:var(--accent);background:#fff}.underlay-list article>button svg{width:13px}.underlay-empty{min-height:58px;color:var(--text-muted);font-size:var(--fs-small);justify-content:center;align-items:center;gap:7px;display:flex}.underlay-empty svg{width:18px}.underlay-properties{border-top:1px solid var(--border);gap:9px;padding:10px;display:grid;overflow-y:auto}.underlay-property-actions{gap:5px;display:flex}.underlay-property-actions button{border:1px solid var(--border);height:28px;color:var(--text-muted);cursor:pointer;font-size:var(--fs-small);background:#fff;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.underlay-property-actions svg{width:12px}.underlay-properties>label,.underlay-property-grid label{color:var(--text-muted);font-size:var(--fs-small);gap:3px;display:grid}.underlay-properties input{border:1px solid var(--border);width:100%;height:27px;color:var(--text);font:13px var(--font-sans);border-radius:5px;outline:0;padding:0 7px}.underlay-property-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.underlay-property-grid label>div{position:relative}.underlay-property-grid label small{color:var(--text-muted);font-size:var(--fs-small);pointer-events:none;position:absolute;top:8px;right:6px}.underlay-property-grid label input{padding-right:34px}.underlay-replace input{height:auto;font-size:var(--fs-small);padding:5px}.underlay-delete{min-height:29px;color:var(--error);cursor:pointer;font-size:var(--fs-small);background:#fff7f5;border:1px solid #efb4ab;border-radius:5px;justify-content:center;align-items:center;gap:5px;font-weight:750;display:flex}.underlay-delete svg{width:12px}.underlay-calibration-hud{z-index:9;color:#fff;width:310px;box-shadow:var(--shadow-md);background:#1b3548f7;border:1px solid #28465e;border-radius:10px;gap:10px;padding:13px;display:grid;position:absolute;bottom:18px;right:20px}.underlay-calibration-hud>header{justify-content:space-between;align-items:center;display:flex}.underlay-calibration-hud>header div{gap:2px;display:grid}.underlay-calibration-hud>header small{color:#9fb5c3;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.underlay-calibration-hud>header strong{font-size:var(--fs-small)}.underlay-calibration-hud>header button{place-items:center;width:27px;padding:0;display:grid}.underlay-calibration-hud>header svg{width:13px}.underlay-calibration-hud>span{color:#d4e0e7;font-size:var(--fs-small)}.underlay-calibration-hud>label{color:#c7d6df;font-size:var(--fs-small);gap:4px;display:grid}.underlay-calibration-hud>label>div{position:relative}.underlay-calibration-hud input{color:#fff;width:100%;height:32px;font:13px var(--font-sans);background:#17344b;border:1px solid #547086;border-radius:5px;outline:0;padding:0 54px 0 8px}.underlay-calibration-hud label div small{color:#9fb5c3;font-size:var(--fs-small);position:absolute;top:9px;right:8px}.underlay-calibration-hud button{color:#fff;cursor:pointer;height:28px;font-size:var(--fs-small);background:0 0;border:1px solid #5d7486;border-radius:5px;padding:0 8px}.underlay-calibration-point-actions{flex-wrap:wrap;gap:5px;display:flex}.underlay-calibration-preview{background:#153246;border:1px solid #4d6b7e;border-radius:7px;gap:4px;padding:9px;display:grid}.underlay-calibration-preview>small{color:#9fb5c3;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.underlay-calibration-preview>strong{color:#a9e2cf;font-size:var(--fs-small)}.underlay-calibration-preview>span{color:#c7d6df;font-size:var(--fs-small)}.underlay-calibration-preview p{color:#ffd58c;font-size:var(--fs-small);align-items:flex-start;gap:5px;margin:3px 0 0;line-height:1.35;display:flex}.underlay-calibration-preview p svg{flex:none;width:13px}.underlay-calibration-hud>footer{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.underlay-calibration-hud>footer small{color:#9fb5c3;max-width:165px;font-size:var(--fs-small);line-height:1.4}.underlay-calibration-hud button[type=submit]{background:var(--accent);border-color:#79c7ad;font-weight:750}.underlay-calibration-hud button:disabled{opacity:.4;cursor:not-allowed}.underlay-calibration-success{z-index:10;color:#176048;max-width:520px;min-height:38px;box-shadow:var(--shadow-md);font-size:var(--fs-small);background:#effaf5;border:1px solid #88c9b3;border-radius:8px;align-items:center;gap:7px;padding:8px 36px 8px 11px;font-weight:650;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.underlay-calibration-success>svg{width:15px}.underlay-calibration-success button{color:#447565;cursor:pointer;background:0 0;border:0;place-items:center;width:27px;height:27px;padding:0;display:grid;position:absolute;right:5px}.underlay-calibration-success button svg{width:12px}.editor-plan-empty-state rect{fill:#f8faf9;stroke:#c7d5ce;stroke-width:2px;stroke-dasharray:10 10}.editor-plan-empty-state text{text-anchor:middle;fill:var(--text-muted);font:13px var(--font-sans)}.editor-plan-empty-state text:first-of-type{fill:var(--text);font-size:20px;font-weight:750}.editor-plan-empty-state text:last-of-type{fill:var(--accent);font-size:11px}.detected-room-fills path{fill:#edf7f2;fill-opacity:var(--room-fill-opacity,.32);stroke:#b8d8ca;stroke-width:1px;pointer-events:all;cursor:pointer;transition:fill .12s,fill-opacity .12s,stroke .12s}.detected-room-fills path:hover{stroke:#5c9f86;stroke-width:2px}.detected-room-fills .is-selected path{stroke:var(--accent);stroke-width:2.5px}.detected-room-labels text{text-anchor:middle;fill:var(--text);stroke:var(--canvas);stroke-width:4px;stroke-linejoin:round;paint-order:stroke;font:13px var(--font-sans);pointer-events:none}.detected-room-labels tspan:first-child{font-weight:650}.detected-room-labels tspan:last-child{fill:var(--text-muted);font-size:13px}.plan-underlay{fill:#f1f4f2;stroke:none}.plan-walls{fill:none;stroke:#233e52;stroke-width:16px;stroke-linecap:square;stroke-linejoin:miter}.plan-walls .wall-line{pointer-events:stroke;cursor:pointer}.plan-walls .wall-contrast-casing{stroke:#ffffff5c;pointer-events:none}.editor-plan.is-tracing .plan-walls .wall-contrast-casing{stroke:#ffffffc7}.plan-walls .wall-line.is-selected{stroke:var(--accent);filter:drop-shadow(0 0 2px #18755b33)}.plan-walls .wall-layers path{stroke:none}.plan-walls .wall-layer-outline{fill:none;stroke:#233e52;stroke-width:1.2px;pointer-events:none}.plan-walls .wall-hit{fill:#0000;stroke:none;pointer-events:fill;cursor:pointer}.plan-walls .wall-layer-outline.is-selected{stroke:var(--accent);stroke-width:2.4px}.plan-space-separators{fill:none}.plan-space-separators .separator-hit-area{stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}.plan-space-separators .separator-line{stroke:#5f8275;stroke-width:2px;stroke-dasharray:8 6;stroke-linecap:round;pointer-events:none}.plan-space-separators g:hover .separator-line,.plan-space-separators g.is-selected .separator-line{stroke:var(--accent);stroke-width:3px;filter:drop-shadow(0 0 2px #18755b33)}.plan-wall-preview{fill:#fff;stroke:var(--accent);stroke-width:3px}.plan-wall-preview path{fill:none;stroke-width:9px;stroke-linecap:square;stroke-dasharray:13 8;opacity:.78}.plan-wall-preview.is-separator path{stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:8 6}.plan-openings{fill:none}.opening-symbol .opening-gap{stroke:var(--canvas);stroke-width:22px;stroke-linecap:butt;pointer-events:none}.opening-symbol .opening-cut{fill:var(--canvas);stroke:none;pointer-events:none}.opening-symbol .opening-jamb{stroke:#1e293b;stroke-width:1.2px;pointer-events:none}.opening-symbol .opening-part{stroke:#294657;stroke-width:2px;pointer-events:none}.opening-symbol .opening-part--sliding-leaf{stroke:#557384;stroke-width:2.5px}.opening-symbol .opening-part--leaf{stroke-width:2.5px}.opening-symbol .opening-part--swing-arc{stroke:#879b91;stroke-width:1.4px;stroke-dasharray:4 3}.opening-symbol .opening-part--tilt-mark{stroke:#3f7466;stroke-width:1.5px;stroke-dasharray:3 2}.opening-symbol .opening-part--garage-panel{stroke-width:1.7px}.opening-symbol .opening-hit{stroke:#0000;stroke-width:26px;pointer-events:stroke;cursor:pointer}.opening-symbol.is-selected .opening-part{stroke:var(--accent);filter:drop-shadow(0 0 2px #18755b4d)}.opening-label{fill:var(--text);stroke:var(--canvas);stroke-width:3px;stroke-linejoin:round;paint-order:stroke;text-anchor:middle;dominant-baseline:middle;font:11px var(--font-sans);pointer-events:none;font-weight:700}.window-symbol-legend summary{cursor:pointer;color:var(--text);font-size:var(--fs-small);font-weight:750}.window-symbol-legend>div{grid-template-columns:1fr 1fr;gap:7px;margin-top:8px;display:grid}.window-symbol-legend>div>div{min-width:0;color:var(--text-muted);font-size:var(--fs-small);grid-template-columns:42px 1fr;align-items:center;gap:5px;display:grid}.window-symbol-legend svg{fill:none;stroke:#294657;stroke-width:1.5px;width:42px;height:40px;overflow:visible}.window-symbol-legend .opening-part--sliding-leaf{stroke:#557384;stroke-width:2px}.window-symbol-legend .opening-part--swing-arc,.window-symbol-legend .opening-part--tilt-mark{stroke:#70877d;stroke-dasharray:2 1.5}.plan-doors{fill:none;stroke:#6d7f76;stroke-width:2px}.room-labels{text-anchor:middle;fill:var(--text);stroke:var(--canvas);stroke-width:4px;stroke-linejoin:round;paint-order:stroke;font-family:var(--font-sans);font-size:13px}.room-labels tspan:last-child{fill:var(--text-muted);font-size:13px}.dimensions{fill:none;stroke:#38536a;stroke-width:1.4px}.dimensions text{fill:#38536a;stroke:var(--canvas);stroke-width:4px;stroke-linejoin:round;paint-order:stroke;text-anchor:middle;font:13px var(--font-sans);font-variant-numeric:tabular-nums}.selection-handles{fill:#fff;stroke:var(--accent);stroke-width:3px}.wall-joins circle{fill:#fff;stroke:#597368;stroke-width:1.5px;pointer-events:none}.active-snap circle{fill:#fff;stroke:var(--snap);stroke-width:2px;pointer-events:none}.active-snap text{fill:var(--snap);stroke:var(--canvas);stroke-width:3px;paint-order:stroke;font:12px var(--font-sans);pointer-events:none;font-weight:700}.wall-draw-hud{background:var(--text);color:#fff;width:190px;box-shadow:var(--shadow-md);font-size:var(--fs-small);font-variant-numeric:tabular-nums;border:1px solid #28465e;border-radius:8px;gap:9px;padding:11px;display:grid;position:absolute;bottom:18px;right:20px}.wall-draw-hud>div{justify-content:space-between;display:flex}.wall-draw-hud>div span,.wall-draw-hud>small{color:#b9c9d4}.wall-draw-hud label{gap:4px;display:grid}.path-finish-hud{z-index:25;background:var(--text);color:#fff;max-width:calc(100% - 24px);box-shadow:var(--shadow-md);font-size:var(--fs-small);border:1px solid #28465e;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 8px 8px 14px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.path-finish-hud>span{color:#dce6ec}.path-finish-hud>span strong{color:#fff}.wall-draw-hud label>span{color:#dce6ec;text-transform:uppercase;letter-spacing:.05em;font-size:12px}.wall-draw-hud label>div{position:relative}.wall-draw-hud input{color:#fff;width:100%;height:30px;font:13px var(--font-sans);background:#17344b;border:1px solid #547086;border-radius:5px;outline:0;padding:0 28px 0 8px}.wall-draw-hud input:focus{border-color:#85cdb9;box-shadow:0 0 0 2px #85cdb92e}.wall-draw-hud label small{color:#b9c9d4;position:absolute;top:8px;right:8px}.properties-reopen{border:1px solid var(--border);height:35px;color:var(--text-muted);cursor:pointer;font-size:var(--fs-small);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 10px;display:flex;position:absolute;top:11px;right:11px}.properties-reopen svg{width:15px}.properties-panel{border-left:1px solid var(--border);background:#fff;flex-direction:column;min-height:0;display:flex}.properties-header{justify-content:space-between;align-items:center;min-height:62px;padding:11px 11px 10px 15px;display:flex}.properties-header>div{flex-direction:column;gap:3px;display:flex}.properties-header small{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.properties-header strong{color:var(--text);font-size:13px}.property-tabs{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.property-tabs button{height:40px;color:var(--text-muted);cursor:pointer;font-size:var(--fs-small);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 5px}.property-tabs button.is-active{border-bottom-color:var(--accent);color:var(--accent-strong);font-weight:750}.property-tabs span{background:var(--warning-soft);color:var(--warning);border-radius:99px;padding:1px 4px;font-size:11px}.property-scroll{min-height:0;overflow-y:auto}.property-section{border-bottom:1px solid var(--border);padding:16px}.property-section h2{color:var(--text);font-size:var(--fs-small);margin:0 0 12px;font-weight:750}.property-section label{color:var(--text-muted);font-size:var(--fs-small);flex-direction:column;gap:6px;display:flex}.property-section select,.property-section input{border:1px solid var(--border);width:100%;height:36px;color:var(--text);font-size:var(--fs-small);background:#fff;border-radius:6px;outline:0;padding:0 9px}.property-section select:focus,.property-section input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #18755b1a}.wall-layer-preview{border:1px solid #cfd9d4;border-radius:3px;height:13px;margin:11px 0 7px;display:flex;overflow:hidden}.wall-layer-preview span:first-child{background:#ded9d0}.wall-layer-preview span:nth-child(2){background:#b9c2bd}.wall-layer-preview span:nth-child(3){background:#dcebe5}.property-section>small{color:var(--text-muted);font-size:var(--fs-small)}.classification-state{background:var(--warning-soft);color:var(--warning);border:1px solid #efdaa9;border-radius:7px;align-items:flex-start;gap:8px;padding:10px;display:flex}.classification-state svg{flex:none;width:15px;height:15px}.classification-state div{gap:3px;display:grid}.classification-state strong{font-size:var(--fs-small)}.classification-state small{color:#72521f;font-size:var(--fs-small);line-height:1.35}.classification-state.is-classified{background:var(--accent-soft);color:var(--accent-strong);border-color:#b9d9cc}.classification-state.is-classified small{color:#4d6e61}.editor-validation-message{color:#8a2d21;font-size:var(--fs-small);background:#fff0ed;border:1px solid #efb4ab;border-radius:7px;grid-template-columns:16px 1fr 20px;align-items:start;gap:7px;margin:12px 12px 0;padding:10px;line-height:1.4;display:grid}.editor-validation-message>svg{width:15px;height:15px}.editor-validation-message button{width:20px;height:20px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.editor-validation-message button svg{width:12px}.editor-validation-message button.editor-message-action{background:var(--accent-strong);color:#fff;border-radius:6px;width:auto;height:auto;margin-top:6px;padding:4px 10px;font-weight:700;display:inline-flex}.property-section--actions{gap:6px;display:grid}.delete-element-button{min-height:34px;color:var(--error);cursor:pointer;font-size:var(--fs-small);background:#fff7f5;border:1px solid #efb4ab;border-radius:6px;justify-content:center;align-items:center;gap:7px;font-weight:750;display:flex}.delete-element-button:hover{background:#fff0ed}.delete-element-button svg{width:14px;height:14px}.property-grid{grid-template-columns:1fr 1fr;gap:11px 9px;display:grid}.property-grid>label:only-child{grid-column:1/-1}.property-grid>.button{white-space:normal;text-align:left;grid-column:1/-1}.property-grid>*{min-width:0}.unit-input{position:relative}.unit-input input{font-variant-numeric:tabular-nums;padding-right:27px}.unit-input small{color:var(--text-muted);font-size:var(--fs-small);position:absolute;top:50%;right:8px;transform:translateY(-50%)}.segmented-control{background:var(--bg);border-radius:7px;grid-template-columns:repeat(3,1fr);padding:3px;display:grid}.segmented-control button{height:28px;color:var(--text-muted);cursor:pointer;font-size:var(--fs-small);background:0 0;border:0;border-radius:5px}.segmented-control button.is-active{color:var(--accent-strong);box-shadow:var(--shadow-sm);background:#fff;font-weight:750}.equipment-catalogue{flex-direction:column;gap:2px;max-height:320px;margin:6px 0 10px;display:flex;overflow-y:auto}.equipment-catalogue__group{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:8px 0 2px;font-size:11px;font-weight:700}.equipment-catalogue__group:first-child{margin-top:0}.equipment-catalogue button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:row;align-items:center;gap:8px;width:100%;padding:4px 8px;display:flex}.equipment-catalogue button:hover{background:var(--surface-2,#0000000a)}.equipment-catalogue button.is-selected{border-color:var(--accent,#18755b);background:var(--surface-2,#18755b14)}.equipment-catalogue__text{flex-direction:column;gap:1px;min-width:0;display:flex}.equipment-catalogue strong{font-size:var(--fs-small);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.equipment-catalogue strong em{color:var(--accent,#18755b);font-style:normal}.equipment-catalogue small{font-size:var(--fs-small);opacity:.7;font-variant-numeric:tabular-nums}.equipment-footprint{flex:none;width:46px;height:34px;overflow:visible}.equipment-footprint line,.equipment-footprint circle{stroke:currentColor;stroke-width:.9px;fill:none;opacity:.75}.equipment-catalogue button.is-selected .equipment-footprint line,.equipment-catalogue button.is-selected .equipment-footprint circle{opacity:1}.equipment-families{flex-wrap:wrap;gap:4px;margin:6px 0 2px;display:flex}.equipment-families button{border:1px solid var(--border,#00000024);font-size:var(--fs-small);cursor:pointer;background:0 0;border-radius:999px;align-items:baseline;gap:4px;padding:2px 7px;display:inline-flex}.equipment-families button span{font-size:var(--fs-small);opacity:.6;font-variant-numeric:tabular-nums}.equipment-families button:hover:not(:disabled){background:var(--surface-2,#0000000a)}.equipment-families button.is-active{border-color:var(--accent,#18755b);background:var(--surface-2,#18755b1a);font-weight:600}.equipment-families button:disabled{opacity:.35;cursor:default}.equipment-manual{border-top:1px solid var(--border,#0000001a);flex-direction:column;gap:6px;padding-top:6px;display:flex}.equipment-manual>button{border:1px solid var(--border,#00000024);font-size:var(--fs-small);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:3px 8px}.equipment-manual>button.is-selected{border-color:var(--accent,#18755b);background:var(--surface-2,#18755b14);font-weight:600}.field-plain{display:block}.field-plain input{width:100%}.property-hint{color:var(--text-muted);font-size:var(--fs-small);margin:9px 0 0;line-height:1.45}.facade-finish-list{gap:4px;margin:0 0 8px;padding:0;list-style:none;display:grid}.facade-finish-list li{border:1px solid var(--border);font-size:var(--fs-small);border-radius:6px;justify-content:space-between;align-items:center;gap:6px;padding:5px 7px;line-height:1.35;display:flex}.facade-finish-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.facade-finish-form{gap:7px;display:grid}.facade-finish-row{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:6px;display:grid}.facade-finish-error{color:var(--error)}.property-hint--warning{color:var(--text);border-left:2px solid var(--warning,#b8860b);padding-left:7px}.snapshot-token{gap:5px;margin-top:8px;display:grid}.snapshot-token code{-webkit-user-select:all;user-select:all;word-break:break-all;font-size:var(--fs-small);background:var(--surface-muted,#f1f3f2);border-radius:5px;padding:6px 8px}.snapshot-token small{color:var(--text-muted);font-size:var(--fs-small);line-height:1.45}.erp-card-preview{border:1px solid var(--border);background:#f8faf9;border-radius:7px;gap:6px;min-width:0;margin-top:10px;padding:10px 12px;display:grid;overflow-x:auto}.version-history-list article>.erp-card-preview{grid-column:1/-1}.erp-card-preview header{gap:2px;display:grid}.erp-card-preview header small,.erp-card-note{color:var(--text-muted);font-size:var(--fs-small);line-height:1.45}.erp-card-preview h4{margin:8px 0 0;font-size:13px}.erp-card-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:0;display:grid}.erp-card-grid div{border:1px solid var(--border);background:#fff;border-radius:5px;padding:6px 8px}.erp-card-grid dt{color:var(--text-muted);font-size:var(--fs-small)}.erp-card-grid dd{margin:2px 0 0;font-weight:650}.erp-card-table{border-collapse:collapse;width:100%;font-size:var(--fs-small)}.erp-card-table th,.erp-card-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:4px 6px}.erp-card-table th{color:var(--text-muted);font-weight:600}.erp-card-table td.num,.erp-card-grid dd{white-space:nowrap}.erp-card-table em,.erp-card-list em{color:var(--text-muted)}.erp-card-list{font-size:var(--fs-small);margin:0;padding-left:18px;line-height:1.5}.erp-card-list--warning{color:var(--warning)}.geometry-fact-summary{border:1px solid var(--border);background:#f8faf9;border-radius:7px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.geometry-fact-summary span{border-right:1px solid var(--border);text-align:center;place-content:center;gap:2px;min-height:54px;padding:8px 5px;display:grid}.geometry-fact-summary span:last-child{border-right:0}.geometry-fact-summary strong{color:var(--text);font-size:14px}.geometry-fact-summary small{color:var(--text-muted);font-size:var(--fs-small);line-height:1.2}.property-chips{flex-wrap:wrap;gap:6px;margin:9px 0 0;display:flex}.chip{font-size:var(--fs-small);cursor:default;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-weight:650;line-height:1.2;display:inline-flex}.chip svg{width:13px;height:13px}.chip--warning{background:var(--warning-soft);color:var(--warning)}.chip--error{background:var(--error-soft);color:var(--error)}.chip--success{background:var(--accent-soft);color:var(--accent-text)}.chip--muted{background:var(--surface-raised);color:var(--text-muted)}.property-tech{margin:8px 0 0}.property-tech>summary{color:var(--text-muted);font-size:var(--fs-small);cursor:pointer;list-style:none}.property-tech>summary::-webkit-details-marker{display:none}.property-tech>summary:before{content:"▸ "}.property-tech[open]>summary:before{content:"▾ "}.property-tech>summary:hover{color:var(--text)}.property-tech>p,.property-tech>small{color:var(--text-muted);font-size:var(--fs-small);margin:6px 0 0;line-height:1.45;display:block}.property-tech code{font-size:var(--fs-small)}.property-section--warning{background:var(--warning-soft);border:1px solid #efdaa9;border-radius:8px;margin:12px;padding:12px}.property-section--warning h2{color:var(--warning);align-items:center;gap:5px;display:flex}.property-section--warning h2 svg{width:13px}.property-section--warning p{color:#72521f;font-size:var(--fs-small);margin:0 0 9px;line-height:1.4}.property-section--warning button{color:var(--warning);cursor:pointer;font-size:var(--fs-small);background:0 0;border:0;padding:0;font-weight:750}.editor-statusbar{border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-small);font-variant-numeric:tabular-nums;background:#fff;align-items:center;gap:18px;padding:0 12px 0 92px;display:flex}.editor-statusbar>span{white-space:nowrap;align-items:center;gap:4px;display:flex}.editor-statusbar svg{width:11px;height:11px}.statusbar-spacer{margin-left:auto}.online-state i{background:var(--accent);border-radius:50%;width:6px;height:6px}.online-state.is-offline{color:var(--error)}.online-state.is-offline i{background:var(--error)}.editor-loading{min-height:100vh;color:var(--text-muted);background:#eef3f0;place-content:center;justify-items:center;gap:12px;display:grid}.editor-session-blocked{background:#eef3f0;place-items:center;min-height:100vh;padding:30px;display:grid}.editor-loading>svg{width:28px;height:28px;color:var(--accent)}.editor-loading strong{color:var(--text);font-size:14px}.editor-loading a{color:var(--accent);font-size:var(--fs-small);font-weight:750}.overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0711276b;position:fixed;inset:0}.overlay--centered{place-items:start center;padding:min(14vh,40px) 0 24px;display:grid;overflow:auto}.editor-drawer{width:270px;height:100%;box-shadow:var(--shadow-md);background:#fff;flex-direction:column;gap:4px;padding:12px;animation:.16s ease-out slide-in;display:flex}@keyframes slide-in{0%{transform:translate(-100%)}}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:47px;margin-bottom:8px;padding:0 4px 8px 9px;display:flex}.editor-drawer>a,.editor-drawer>button{min-height:41px;color:var(--text);cursor:pointer;font-size:var(--fs-small);text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:0 10px;display:flex}.editor-drawer>a:hover,.editor-drawer>button:hover{background:var(--bg)}.editor-drawer svg{width:16px;color:var(--text-muted)}.command-palette{background:#fff;border:1px solid #cbd8d1;border-radius:13px;width:min(590px,100vw - 40px);overflow:hidden;box-shadow:0 24px 70px #0711273d}.command-palette>label{border-bottom:1px solid var(--border);align-items:center;gap:10px;height:54px;padding:0 15px;display:flex}.command-palette>label svg{color:var(--accent)}.command-palette input{min-width:0;color:var(--text);border:0;outline:0;flex:1;font-size:14px}.command-results{padding:8px}.command-results>small{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:7px 9px 5px;font-size:12px;font-weight:750;display:block}.command-results button{cursor:pointer;width:100%;height:39px;color:var(--text);font-size:var(--fs-small);background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:0 10px;display:flex}.command-results button.is-active,.command-results button:hover{background:var(--accent-soft);color:var(--accent-strong)}.command-results button svg{width:14px}.command-results button span{color:var(--text-muted);font-size:var(--fs-small);margin-left:auto}.project-data-dialog,.conflict-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;gap:21px;width:min(460px,100vw - 40px);max-height:calc(100vh - 80px);padding:24px;display:grid;overflow:auto;box-shadow:0 24px 70px #0711273d}.project-data-dialog>div:first-child small{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.project-data-dialog h2{color:var(--text);margin:4px 0 0;font-size:20px}.conflict-dialog{text-align:center;justify-items:center}.conflict-dialog>span{width:54px;height:54px;color:var(--error);background:#fff0ed;border-radius:50%;place-items:center;display:grid}.conflict-dialog>span svg{width:25px;height:25px}.conflict-dialog h2,.conflict-dialog h1{color:var(--text);margin:-4px 0 -12px;font-size:20px}.conflict-dialog p{max-width:370px;color:var(--text-muted);font-size:var(--fs-small);margin:0;line-height:1.55}.conflict-dialog .form-actions{width:100%}.dialog-note{color:var(--text-muted);font-size:var(--fs-small);margin:0 0 8px;line-height:1.55}.project-data-dialog>.dialog-note,.conflict-dialog>.dialog-note{margin:-8px 0 0}.version-history-dialog{width:min(650px,100vw - 40px);max-height:72vh;overflow:auto}.version-history-list{gap:10px;display:grid}.version-history-list article{border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:1fr auto;align-items:center;gap:7px 14px;padding:13px;display:grid}.version-history-list article>div,.version-history-list article>p{grid-column:1}.version-history-list strong,.version-history-list small{display:block}.version-history-list small{color:var(--text-muted);font-size:var(--fs-small);margin-top:3px}.version-history-list p{color:var(--text-muted);font-size:var(--fs-small);margin:0}.version-history-list code{color:var(--text-muted);font-size:var(--fs-small);grid-column:1}.version-history-list .button{grid-area:1/2/span 3}.version-history-list article>.version-history-actions{flex-direction:column;grid-area:1/2/span 3;gap:7px;display:flex}.version-history-list .version-history-actions .button{white-space:nowrap;grid-area:auto}.visualization-dialog{width:min(820px,100vw - 40px);max-height:84vh;overflow:auto}.visualization-upload{border:1px solid var(--border);background:#f8faf9;border-radius:8px;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.visualization-replace input{opacity:0;width:1px;height:1px;position:absolute}.visualization-upload>button:disabled{opacity:.5;cursor:not-allowed}.visualization-upload>input{border:1px solid var(--border);height:34px;font:13px var(--font-sans);border-radius:5px;padding:0 9px}.visualization-list{gap:8px;display:grid}.visualization-list>p{color:var(--text-muted);text-align:center;font-size:var(--fs-small);margin:12px 0}.visualization-list article{border:1px solid var(--border);border-radius:8px;grid-template-columns:142px minmax(0,1fr) 34px;align-items:stretch;gap:10px;min-height:112px;padding:8px;display:grid}.visualization-list article>img{object-fit:contain;background:#edf1ef;border-radius:5px;align-self:center;width:142px;height:94px}.visualization-fields{gap:5px;min-width:0;display:grid}.visualization-fields input,.visualization-fields textarea{border:1px solid var(--border);resize:vertical;width:100%;color:var(--text);font:13px var(--font-sans);border-radius:5px;padding:6px 8px}.visualization-fields small{color:var(--text-muted);font-size:var(--fs-small)}.visualization-actions{grid-template-columns:1fr 1fr;align-content:center;gap:4px;display:grid}.visualization-actions button,.visualization-replace{border:1px solid var(--border);width:30px;height:30px;color:var(--text-muted);cursor:pointer;font-size:var(--fs-small);background:#fff;border-radius:5px;place-items:center;padding:0;display:grid}.visualization-actions button:disabled{opacity:.35;cursor:not-allowed}.visualization-actions svg{width:13px}.publication-visualizations{border:1px solid var(--border);border-radius:7px;gap:6px;max-height:210px;padding:10px;display:grid;overflow:auto}.publication-visualizations legend{color:var(--text-muted);font-size:var(--fs-small);padding:0 5px;font-weight:750}.publication-visualizations>label{cursor:pointer;grid-template-columns:18px 54px 1fr;align-items:center;gap:7px;min-height:45px;display:grid}.publication-visualizations>label img{object-fit:contain;background:#edf1ef;border-radius:4px;width:54px;height:40px}.publication-visualizations>label span{gap:2px;min-width:0;display:grid}.publication-visualizations>label strong,.publication-visualizations>label small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.publication-visualizations>label strong{font-size:var(--fs-small)}.publication-visualizations>label small{color:var(--text-muted);font-size:var(--fs-small)}.publication-visualizations__actions{gap:6px;display:flex}.publication-visualizations__actions button{background:var(--accent-soft);color:var(--accent-strong);cursor:pointer;font-size:var(--fs-small);border:0;border-radius:4px;padding:3px 7px}.pdf-visualization-option{border:1px solid var(--border);cursor:pointer;background:#f8faf9;border-radius:7px;align-items:center;gap:9px;padding:10px;display:flex}.pdf-visualization-option span{gap:2px;display:grid}.pdf-visualization-option strong{font-size:var(--fs-small)}.pdf-visualization-option small{color:var(--text-muted);font-size:var(--fs-small)}.pdf-visualization-option select{border:1px solid var(--border);font-size:var(--fs-small);background:#fff;border-radius:5px;flex:none;padding:5px 7px}.editor-notice{z-index:120;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:var(--accent-strong);cursor:pointer;font-size:var(--fs-small);background:#eef9f3;border:1px solid #b9d8ca;padding:12px 16px;font-weight:750;position:fixed;bottom:42px;right:20px}.overlay--front{z-index:130}.viewer-links-dialog{width:min(680px,100vw - 40px);max-height:76vh;overflow:auto}.viewer-link-list{gap:9px;display:grid}.viewer-link-list>p{color:var(--text-muted);font-size:var(--fs-small)}.viewer-link-list article{border:1px solid var(--border);border-radius:var(--radius-sm);gap:6px;padding:13px;display:grid}.viewer-link-list article strong,.viewer-link-list article small{display:block}.viewer-link-list article small,.viewer-link-list article p{color:var(--text-muted);font-size:var(--fs-small);margin:0}.viewer-link-list article>div:last-child{justify-content:flex-end;gap:7px;display:flex}.viewer-link-list .button svg{width:13px}.checkbox-field{color:var(--text);font-size:var(--fs-small);align-items:center;gap:9px;font-weight:650;display:flex}.checkbox-field input{accent-color:var(--accent)}.viewer-gate{background:radial-gradient(circle at 20% 0,#e8f3ed,#0000 40%),#f5f7f6;place-items:center;min-height:100vh;padding:28px;display:grid}.viewer-gate>section,.viewer-gate>form{border:1px solid var(--border);width:min(470px,100%);box-shadow:var(--shadow-md);text-align:center;background:#fff;border-radius:14px;gap:18px;padding:34px;display:grid}.viewer-gate h1{color:var(--text);margin:0;font-size:26px}.viewer-gate p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.viewer-gate .form-field{text-align:left}.viewer-gate__icon{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:50%;place-items:center;margin:2px auto 0;display:grid}.viewer-gate__icon svg{width:22px}.viewer-tenant{color:var(--viewer-primary,var(--accent));letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.viewer-shell{height:100vh;color:var(--text);background:#eef1ef;grid-template-rows:auto auto auto minmax(0,1fr);display:grid;overflow:hidden}.viewer-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:14px 24px;display:flex}.viewer-header h1{color:var(--viewer-secondary,var(--text));margin:3px 0 1px;font-size:19px}.viewer-header small{color:var(--text-muted);font-size:var(--fs-small)}.viewer-publication{font-size:var(--fs-small);justify-items:end;gap:3px;display:grid}.viewer-publication strong{color:var(--viewer-primary,var(--accent))}.viewer-publication span{color:var(--text-muted)}.viewer-toolbar{border-bottom:1px solid var(--border);background:#fafcfb;align-items:center;gap:6px;min-height:53px;padding:7px 20px;display:flex}.viewer-toolbar label{color:var(--text-muted);font-size:var(--fs-small);align-items:center;gap:8px;display:flex}.viewer-toolbar select{border:1px solid var(--border);min-width:150px;height:40px;color:var(--text);font-size:var(--fs-small);background:#fff;border-radius:7px;padding:0 28px 0 10px}.viewer-toolbar button{height:40px;color:var(--text-muted);cursor:pointer;font-size:var(--fs-small);background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-weight:700;display:flex}.viewer-toolbar button:hover,.viewer-toolbar button.is-active{background:var(--accent-soft);color:var(--accent-strong);border-color:#b9d8ca}.viewer-toolbar button svg{width:15px}.viewer-toolbar>span:not(.viewer-toolbar__spacer){min-width:38px;color:var(--text-muted);font-size:var(--fs-small);text-align:center}.viewer-toolbar__spacer{flex:1}.viewer-canvas{background:#fff;border:1px solid #d9dfdc;border-radius:10px;min-height:0;margin:18px;position:relative;overflow:hidden;box-shadow:0 8px 24px #07112712}.viewer-body{grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}.viewer-body[hidden]{display:none}.viewer-body.has-comments{grid-template-columns:minmax(0,1fr) 340px}.viewer-canvas svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.viewer-canvas svg:active{cursor:grabbing}.viewer-canvas.is-measuring svg,.viewer-canvas.is-commenting svg{cursor:crosshair}.viewer-rooms path{fill:#eef6f2;stroke:#cfe0d8;stroke-width:.015px}.viewer-rooms text,.viewer-room-labels text{fill:#53625b;text-anchor:middle;pointer-events:none}.viewer-space-separators line{stroke:#6f9184;stroke-linecap:round;opacity:.8}.viewer-walls line{stroke:#15233b;stroke-linecap:square}.viewer-wall-layers path{stroke:none}.viewer-wall-layers .viewer-wall-layers__outline{fill:none;stroke:#15233b}.viewer-opening{fill:none}.viewer-opening__gap{stroke:#fff;stroke-linecap:butt}.viewer-opening__cut{fill:#fff;stroke:none}.viewer-opening__jamb{stroke:#15233b}.viewer-opening__part{stroke:#294657;fill:none}.viewer-opening__part--swing-arc{stroke:#758a80;stroke-dasharray:.08 .05}.viewer-opening__part--tilt-mark{stroke:#3f7466;stroke-dasharray:.06 .04}.viewer-opening__part--sliding-leaf{stroke:#557384}.viewer-opening__label{fill:#43544c;stroke:#fff;stroke-width:.05px;paint-order:stroke;text-anchor:middle;font-weight:750}.viewer-stairs path{fill:#819c9224;stroke:#5c7a6e}.viewer-stairs .viewer-stair__run{fill:none}.viewer-stairs text{fill:#476056;text-anchor:middle;font-weight:800}.viewer-structures path{fill:#5e6a7438;stroke:#5e6a74}.viewer-railings path,.viewer-railings line{fill:none;stroke:#4b5a63}.viewer-equipment path{fill:#8c806c1f;stroke:#8c806c}.viewer-slab-openings path{fill:#fff;stroke:#33424b}.viewer-slab-openings line{stroke:#33424b}.viewer-equipment text{fill:#6d6353;text-anchor:middle}.viewer-equipment__symbol line,.viewer-equipment__symbol circle{stroke:#8c806c;fill:none}.viewer-chains line{stroke:#8a969c}.viewer-chains text{fill:#5d6b73;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:.04px}.viewer-dimensions line{stroke:#9aa8ae}.viewer-dimensions .viewer-dimension__line{stroke:#4b5a63}.viewer-dimensions text{fill:#33424b;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:.05px;font-weight:700}.viewer-measure{color:#d2673c}.viewer-measure line,.viewer-measure circle{stroke:currentColor;fill:#fff;stroke-width:.03px}.viewer-measure text{fill:currentColor;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:.05px;font-weight:800}.viewer-empty{fill:var(--text-muted);text-anchor:middle}.viewer-comment-pins g{cursor:pointer}.viewer-comment-pins circle{fill:#d2673c;stroke:#fff;stroke-width:.03px}.viewer-comment-pins text{fill:#fff;text-anchor:middle;pointer-events:none;font-weight:850}.viewer-comment-pins g.is-resolved{opacity:.5}.viewer-comment-draft{fill:#f2b84b;stroke:#fff;stroke-width:.04px}.viewer-canvas__hint{border:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-small);pointer-events:none;background:#ffffffeb;border-radius:7px;align-items:center;gap:6px;padding:7px 10px;display:flex;position:absolute;bottom:12px;left:14px}.viewer-canvas__hint svg{width:13px}.viewer-comments-panel{border-left:1px solid var(--border);background:#fff;min-height:0;padding:14px;overflow:auto}.viewer-comments-panel>header,.viewer-thread>header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.viewer-comments-panel>header strong,.viewer-comments-panel>header small{display:block}.viewer-comments-panel>header small{color:var(--text-muted);font-size:var(--fs-small);margin-top:3px}.viewer-comments-panel header button{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.viewer-comments-panel header button svg{width:15px}.viewer-comment-error{color:var(--error);font-size:var(--fs-small);background:#fff0ed;border-radius:6px;padding:9px}.viewer-comment-form{gap:12px;margin-top:15px;display:grid}.viewer-comment-form>div{justify-content:flex-end;gap:7px;display:flex}.viewer-comment-list{gap:6px;margin-top:14px;display:grid}.viewer-comment-list>p{color:var(--text-muted);font-size:var(--fs-small)}.viewer-comment-list>button{border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;background:#fff;border-radius:7px;gap:4px;padding:10px;display:grid}.viewer-comment-list>button:hover,.viewer-comment-list>button.is-active{background:var(--accent-soft);border-color:#b9d8ca}.viewer-comment-list span{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-small);font-weight:700;overflow:hidden}.viewer-comment-list small{color:var(--text-muted);font-size:var(--fs-small)}.viewer-thread{border-top:1px solid var(--border);gap:9px;margin-top:15px;padding-top:13px;display:grid}.viewer-thread article{background:#f6f8f7;border-radius:7px;padding:10px}.viewer-thread article strong,.viewer-thread article small{display:block}.viewer-thread article strong{font-size:var(--fs-small)}.viewer-thread article small{color:var(--text-muted);font-size:var(--fs-small);margin-top:2px}.viewer-thread article p{white-space:pre-wrap;color:var(--text);font-size:var(--fs-small);margin:7px 0 0;line-height:1.5}.viewer-thread>form{grid-template-columns:1fr 34px;gap:6px;display:grid}.viewer-thread>form input[name=displayName]{border:1px solid var(--border);min-width:0;font:inherit;font-size:var(--fs-small);border-radius:7px;grid-column:1/-1;padding:8px}.viewer-thread textarea{border:1px solid var(--border);resize:vertical;min-width:0;font:inherit;font-size:var(--fs-small);border-radius:7px;padding:8px}.viewer-thread form button{background:var(--viewer-primary,var(--accent));color:#fff;cursor:pointer;border:0;border-radius:7px;align-self:end;place-items:center;height:40px;display:grid}.viewer-thread form button svg{width:14px}@media (max-width:720px){.viewer-header{align-items:flex-start;padding:12px 15px}.viewer-publication{display:none}.viewer-toolbar{flex-wrap:wrap;row-gap:4px;padding:7px 10px}.viewer-toolbar label>span,.viewer-toolbar>span:not(.viewer-toolbar__spacer){display:none}.viewer-toolbar__spacer{flex:0 0 4px}.viewer-toolbar button{white-space:nowrap}.viewer-canvas{margin:8px}.viewer-body.has-comments{grid-template-columns:1fr}.viewer-comments-panel{z-index:30;border:1px solid var(--border);border-radius:14px 14px 0 0;max-height:62vh;position:fixed;inset:auto 0 0;box-shadow:0 -12px 35px #07112729}}.comments-page{padding:28px}.comments-layout{border:1px solid var(--border);border-radius:var(--radius-lg);min-height:620px;box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:330px minmax(0,1fr);display:grid;overflow:hidden}.comments-layout>aside{border-right:1px solid var(--border);background:#fafcfb}.comments-filters{border-bottom:1px solid var(--border);gap:5px;padding:10px;display:flex}.comments-filters button{color:var(--text-muted);cursor:pointer;font-size:var(--fs-small);background:0 0;border:0;border-radius:6px;padding:7px 9px;font-weight:750}.comments-filters button.is-active{background:var(--accent-soft);color:var(--accent-strong)}.comments-inbox{gap:5px;padding:8px;display:grid}.comments-inbox>p{color:var(--text-muted);font-size:var(--fs-small);padding:16px}.comments-inbox>button{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:28px 1fr;align-items:start;gap:8px;padding:11px;display:grid}.comments-inbox>button:hover,.comments-inbox>button.is-active{background:#fff;border-color:#c9ded5}.comments-inbox svg{width:16px;color:var(--accent)}.comments-inbox span,.comments-inbox strong,.comments-inbox small{min-width:0;display:block}.comments-inbox strong{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--fs-small);overflow:hidden}.comments-inbox small{color:var(--text-muted);font-size:var(--fs-small);margin-top:4px}.comments-layout>main{grid-template-rows:auto 1fr auto auto;gap:16px;min-width:0;padding:22px;display:grid}.comments-layout>main>header,.comments-layout>main>footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.comments-layout>main h2{color:var(--text);margin:3px 0 0;font-size:20px}.comments-layout>main header small,.comments-layout>main footer span{color:var(--text-muted);font-size:var(--fs-small)}.comment-conversation{flex-direction:column;gap:10px;display:flex;overflow:auto}.comment-conversation article{background:#f1f4f2;border-radius:4px 10px 10px;align-self:flex-start;max-width:76%;padding:11px 13px}.comment-conversation article.is-tenant{background:var(--accent-soft);border-radius:10px 4px 10px 10px;align-self:flex-end}.comment-conversation article header{justify-content:space-between;gap:14px;display:flex}.comment-conversation article strong{font-size:var(--fs-small)}.comment-conversation article small{color:var(--text-muted);font-size:var(--fs-small)}.comment-conversation article p{white-space:pre-wrap;font-size:var(--fs-small);margin:7px 0 0;line-height:1.5}.comment-reply{grid-template-columns:1fr auto;gap:8px;display:grid}.comment-reply textarea{border:1px solid var(--border);resize:vertical;font:inherit;font-size:var(--fs-small);border-radius:8px;padding:10px}.comments-empty{place-self:center}@media (max-width:840px){.comments-page{padding:16px}.comments-layout{grid-template-columns:1fr}.comments-layout>aside{border-right:0;border-bottom:1px solid var(--border);max-height:270px;overflow:auto}}.public-card-wrap{background:linear-gradient(145deg,#eef5f1,#f8faf9);place-items:center;min-height:100vh;padding:32px;display:grid}.public-card{border:1px solid var(--border);border-radius:var(--radius-lg);width:min(500px,100%);box-shadow:var(--shadow-md);background:#fff;gap:18px;padding:34px;display:grid}.public-card h1{color:var(--text);margin:0;font-size:28px}.public-card p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.public-card dl{font-size:var(--fs-small);grid-template-columns:70px 1fr;gap:7px 12px;margin:0;display:grid}.public-card dt{color:var(--text-muted)}.public-card dd{color:var(--text);margin:0;font-weight:700}.public-card__message{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid #c9e1d6;padding:13px 15px;color:var(--accent-strong)!important}.public-form{gap:14px;display:grid}.public-form label,.public-form>label{color:var(--text);font-size:var(--fs-small);gap:6px;font-weight:750;display:grid}.public-form input,.public-form select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;height:42px;color:var(--text);background:#fff;padding:0 12px}.public-form small,.settings-card>small{color:var(--text-muted);font-size:var(--fs-small);line-height:1.5}.public-link{color:var(--accent-strong);font-size:var(--fs-small);font-weight:750}.mail-preview-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mail-preview-list a{border:1px solid var(--border);border-radius:var(--radius-sm);gap:3px;padding:11px 12px;display:grid}.mail-preview-list span{color:var(--text-muted);font-size:var(--fs-small)}.settings-page{width:min(1080px,100% - 56px)}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.settings-card{align-content:start;gap:16px;padding:24px;display:grid}.settings-card h2{color:var(--text);margin:0;font-size:17px}.settings-card p{color:var(--text-muted);font-size:var(--fs-small);margin:0;line-height:1.5}.invitation-note{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-small);border:1px solid #c9e1d6;margin:0;padding:12px 14px;line-height:1.55}.user-row-actions{gap:5px;display:flex}.admin-feedback a{color:inherit;text-decoration:underline}.delivery-stat-grid{border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.delivery-stat-grid span{border-right:1px solid var(--border);text-align:center;gap:4px;padding:12px 8px;display:grid}.delivery-stat-grid span:last-child{border-right:0}.delivery-stat-grid strong{color:var(--text);font-size:18px}.delivery-stat-grid small{color:var(--text-muted);font-size:var(--fs-small)}.settings-card--wide{grid-column:1/-1}.two-factor-enrollment{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:24px;display:grid}.two-factor-qr{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;place-items:center;padding:15px;display:grid}.two-factor-enrollment code{color:var(--text);font-size:var(--fs-small);word-break:break-all;background:#eef3f0;border-radius:5px;padding:7px 9px;display:inline-block}.two-factor-enrollment h3{color:var(--text);margin:18px 0 7px;font-size:13px}.backup-code-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.backup-code-grid code{color:var(--text);font-size:var(--fs-small);text-align:center;background:#eef3f0;border-radius:5px;padding:7px 9px}.two-factor-tabs{border-radius:var(--radius-sm);background:var(--bg);grid-template-columns:1fr 1fr;padding:3px;display:grid}.two-factor-tabs button{height:40px;color:var(--text-muted);cursor:pointer;font-size:var(--fs-small);background:0 0;border:0;border-radius:6px;font-weight:700}.two-factor-tabs button.is-active{color:var(--accent-strong);box-shadow:var(--shadow-sm);background:#fff}@media (max-width:1120px){.project-grid{grid-template-columns:repeat(2,1fr)}.template-grid,.dictionary-item-grid{grid-template-columns:1fr}.dictionary-package-header{flex-direction:column;align-items:stretch}.dictionary-version-actions{flex-wrap:wrap}.command-trigger{justify-content:center;width:34px;padding:0;font-size:0}.command-trigger kbd{display:none}.editor-workspace{grid-template-columns:66px minmax(0,1fr) 292px}.tool-rail{padding-left:4px;padding-right:4px}.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.tenant-row{grid-template-columns:42px minmax(180px,1.5fr) repeat(2,minmax(72px,.5fr)) 92px auto}.tenant-row__metric:nth-of-type(4){display:none}.admin-panel__toolbar--users{flex-direction:column;align-items:flex-start}.admin-toolbar-controls{width:100%}.admin-toolbar-controls .admin-search{margin-left:auto}}@media (max-width:800px){.sign-in-page{grid-template-columns:1fr}.sign-in-brand-panel{display:none}.sign-in-card-panel{min-height:100vh;padding:26px}.app-shell,.app-shell--collapsed{grid-template-columns:66px minmax(0,1fr)}.app-brand__name,.sidebar-create span,.app-nav__item>span:not(.app-nav__badge),.user-summary__copy,.sidebar-collapse span{display:none}.sidebar-create,.app-nav__item{justify-content:center;padding:0}.page-wrap{width:min(100% - 32px,680px);padding-top:27px}.dashboard-grid--lead,.project-grid,.new-project-summary{grid-template-columns:1fr}.new-project-summary>span{border-right:0;border-bottom:1px solid var(--border)}.new-project-summary>span:last-child{border-bottom:0}.page-header{align-items:flex-start}.dictionary-layout{grid-template-columns:1fr}.dictionary-packages{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;position:static;overflow-x:auto}.dictionary-packages>button{width:auto;min-width:190px}.dictionary-content{padding:20px}.dictionary-form-grid,.layer-row{grid-template-columns:1fr}.layer-row input[type=color]{width:100%}.admin-page{width:min(100% - 32px,680px)}.admin-page__header{flex-direction:column;align-items:flex-start}.admin-stat-grid,.admin-stat-grid--three{grid-template-columns:1fr}.admin-panel__toolbar{flex-direction:column;align-items:stretch}.admin-search{width:100%}.admin-toolbar-controls{flex-direction:column;align-items:stretch}.admin-toolbar-controls .admin-search{margin-left:0}.tenant-row{grid-template-columns:40px 1fr auto;gap:10px}.tenant-row__metric{display:none}.tenant-row__actions{grid-column:2/4;justify-content:flex-start}.admin-form-grid,.settings-grid{grid-template-columns:1fr}.public-card-wrap{padding:18px}.public-card{padding:24px}.two-factor-enrollment{grid-template-columns:1fr}.two-factor-qr{width:max-content;max-width:100%}}.is-unavailable,.tool-button.is-unavailable,.template-card.is-unavailable{opacity:.42;cursor:not-allowed}.tool-button.is-unavailable:hover,.template-card.is-unavailable:hover{color:var(--text-muted);background:0 0}.compact-search input:disabled{cursor:not-allowed}.editor-drawer>.drawer-status{min-height:41px;color:var(--text-muted);font-size:var(--fs-small);align-items:center;gap:10px;padding:0 10px;display:flex}.viewer-joinery{border-top:1px solid var(--border);background:#fff;max-height:40vh;overflow-y:auto}.viewer-joinery>summary{color:var(--text-muted);cursor:pointer;font-size:var(--fs-small);padding:9px 16px;font-weight:700}.viewer-joinery>summary:hover{color:var(--viewer-primary,var(--accent))}.viewer-joinery>div{padding:0 16px 10px}.viewer-joinery h2{color:var(--text);font-size:var(--fs-small);margin:8px 0 5px}.viewer-joinery table{border-collapse:collapse;width:100%;font-size:var(--fs-small)}.viewer-joinery th{border-bottom:1px solid var(--border);color:var(--text-muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;padding:4px 8px 4px 0;font-size:12px;font-weight:750}.viewer-joinery td{color:var(--text);border-bottom:1px solid #eef1ef;padding:4px 8px 4px 0}.viewer-joinery th:last-child,.viewer-joinery td:last-child{text-align:right}.viewer-joinery>p{color:var(--text-muted);font-size:var(--fs-small);margin:0;padding:0 16px 12px;line-height:1.5}.viewer-measurement-basis{border-bottom:1px solid var(--border);background:var(--bg);color:var(--text-muted);font-size:var(--fs-small);margin:0;padding:7px 16px}.audit-table-wrap{border:1px solid var(--border);background:#fff;border-radius:10px;overflow-x:auto}.audit-table{border-collapse:collapse;width:100%;min-width:880px;font-size:var(--fs-small)}.audit-table th{border-bottom:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-small);text-align:left;white-space:nowrap;padding:10px 12px;font-weight:700}.audit-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:9px 12px}.audit-table tr:last-child td{border-bottom:0}.audit-table td>small{color:var(--text);display:block}.audit-details{color:var(--text-muted);margin-top:4px}.audit-details summary{cursor:pointer;font-size:12px}.audit-details code{margin-top:4px;font-size:12px;display:inline-block}.audit-details pre{border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-all;background:#f4f7f5;max-width:420px;max-height:220px;margin:4px 0 0;padding:8px;font-size:11px;overflow:auto}.audit-table code{font-size:var(--fs-small);color:var(--accent-strong);white-space:nowrap}.audit-table small{color:var(--text-muted);word-break:break-word}.audit-empty{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.audit-pager{justify-content:space-between;gap:10px;margin-top:14px;display:flex}.allowed-range-editor{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:7px;margin-top:4px;padding:10px;display:flex}.allowed-range-editor>strong{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.allowed-range-row{font-size:var(--fs-small);grid-template-columns:110px 1fr 1fr;align-items:center;gap:8px;display:grid}.allowed-range-row .allowed-range-error{color:var(--danger,#b3261e);font-size:var(--fs-small);grid-column:1/-1;font-style:normal}.allowed-range-hints{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.allowed-range-hints li{font-size:var(--fs-small);justify-content:space-between;gap:10px;display:flex}.allowed-range-hints span{color:var(--text-muted)}.dialog-error{color:#8c2a1f;font-size:var(--fs-small);background:#fdf2f1;border:1px solid #f0c4bf;border-radius:8px;margin:0;padding:9px 11px}.measure line{stroke:#b8541f;stroke-width:1.5px;stroke-dasharray:6 4}.measure.is-final line{stroke-dasharray:none}.measure circle,.measure-point{fill:#b8541f}.measure text{fill:#8c3f16;paint-order:stroke;stroke:var(--canvas);stroke-width:4px;stroke-linejoin:round;font-size:13px;font-weight:700}.property-inline-warning{background:#fdf7ec;border:1px solid #f3d9a8;border-radius:8px;grid-column:1/-1;align-items:center;gap:9px;padding:8px 10px;display:flex}.property-inline-warning svg{color:#a9701a;flex:none;width:16px}.property-inline-warning div{flex-direction:column;min-width:0;display:flex}.property-inline-warning strong{font-size:var(--fs-small);color:#7d520f}.property-inline-warning small{font-size:var(--fs-small);color:#8d6220}.property-inline-warning button{color:#7d520f;cursor:pointer;font-size:var(--fs-small);background:#fff;border:1px solid #e0c188;border-radius:6px;margin-left:auto;padding:5px 9px;font-weight:700}.wall-open-ends circle{fill:none;stroke:#d97706;stroke-width:2px}.statusbar-warning{color:#b45309;font-weight:700}.classification-state.is-warning{background:#fdf7ec;border-color:#f3d9a8}.classification-state.is-warning svg{color:#a9701a}.anchor-field{grid-column:1/-1}.segmented-control--compact{height:28px}.segmented-control--compact button{font-size:var(--fs-small)}.relation-group{gap:5px;margin-bottom:11px;display:grid}.relation-group h2{color:var(--text-muted);font-size:var(--fs-small);align-items:center;gap:5px;margin:0;font-weight:750;display:flex}.relation-group h2 span{color:var(--text-muted);font-size:var(--fs-small);background:#eef1ef;border-radius:99px;padding:1px 5px}.relation-list{gap:3px;margin:0;padding:0;list-style:none;display:grid}.relation-list button{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:6px;align-items:center;gap:6px;width:100%;min-height:28px;padding:5px 8px;display:flex}.relation-list button:hover{background:var(--accent-soft);border-color:#8cc8b5}.relation-list span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-size:var(--fs-small);flex:1;overflow:hidden}.relation-list em{color:var(--text-muted);font-size:var(--fs-small);flex:none;font-style:normal}.relation-list small{color:var(--text-muted);font-size:var(--fs-small);background:#eef1ef;border-radius:99px;flex:none;padding:1px 5px}.joinery-list{gap:4px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.joinery-list li{border:1px solid var(--border);background:#fff;border-radius:7px;grid-template-columns:30px minmax(0,1fr) auto;gap:1px 6px;padding:6px 8px;display:grid}.joinery-list strong{color:var(--accent-strong);font-size:var(--fs-small);grid-area:1/1/span 2;align-self:center}.joinery-list span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-size:var(--fs-small);grid-area:1/2;overflow:hidden}.joinery-list em{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);font-size:var(--fs-small);grid-area:2/2;font-style:normal;overflow:hidden}.joinery-list small{color:var(--text-muted);font-size:var(--fs-small);white-space:nowrap;grid-area:1/3/span 2;align-self:center}.problem-block{gap:5px;margin-bottom:9px;display:grid}.problem-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.problem-list>li{border:1px solid var(--border);background:#fff;border-radius:7px;overflow:hidden}.problem-list>li.is-open{border-color:#e0c188}.problem-list>li.is-selected{box-shadow:inset 3px 0 0 var(--accent)}.problem-list>li>button{cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:26px minmax(0,1fr) 13px;gap:2px 6px;width:100%;padding:7px 8px;display:grid}.problem-list>li>button:hover{background:#fdf7ec}.problem-list>li>button strong{color:#a9701a;text-align:center;grid-area:1/1/span 2;align-self:center;font-size:13px}.problem-list>li>button span{color:var(--text);font-size:var(--fs-small);grid-area:1/2;line-height:1.3}.problem-list>li>button em{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);font-size:var(--fs-small);grid-area:2/2;font-style:normal;overflow:hidden}.problem-list>li>button svg{width:13px;color:var(--text-muted);grid-area:1/3/span 2;align-self:center;transition:transform .12s}.problem-list>li.is-open>button svg{transform:rotate(180deg)}.problem-detail{border-top:1px solid var(--border);gap:6px;padding:0 8px 8px;display:grid}.problem-detail>p{background:var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-small);border-radius:6px;margin:7px 0 0;padding:7px 8px;line-height:1.4}.problem-detail>ul{gap:3px;max-height:232px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.problem-detail>ul button{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;width:100%;min-height:26px;padding:4px 7px;display:flex}.problem-detail>ul button:hover{background:var(--accent-soft);border-color:#8cc8b5}.problem-detail>ul button.is-current{border-color:var(--accent);background:var(--accent-soft)}.problem-detail>ul span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-size:var(--fs-small);overflow:hidden}.problem-detail>ul small{color:var(--text-muted);font-size:var(--fs-small);background:#eef1ef;border-radius:99px;flex:none;padding:1px 5px}.problem-code{color:var(--text-muted);font-size:var(--fs-small)}.problem-code code{font-size:var(--fs-small)}.property-scroll[hidden]{display:none}.property-tabs button:not(:disabled):hover{color:var(--accent-strong)}.property-tabs span.is-error{color:var(--error);background:#fdeceb}.property-tabs span.is-info{background:var(--bg);color:var(--text-muted)}.issue-button.is-error{color:var(--error);background:#fff7f5;border-color:#efb4ab}.issue-button.is-clear{background:var(--accent-soft);color:var(--accent-strong);border-color:#b9d9cc}.issue-button.is-info{border-color:var(--border);color:var(--text-muted);background:#fff;font-weight:700}.open-end-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.open-end-list button{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:7px;grid-template-columns:22px 1fr;gap:2px 6px;width:100%;padding:6px 8px;display:grid}.open-end-list button:hover{background:#fdf7ec;border-color:#e0c188}.open-end-list strong{color:#a9701a;font-size:var(--fs-small);grid-row:1/span 2;align-self:center}.open-end-list span{color:var(--text-muted);font-size:var(--fs-small)}.open-end-list em{color:#7d520f;font-size:var(--fs-small);font-style:normal;font-weight:700}.storey-dialog{width:min(680px,92vw);max-height:min(88vh,940px);overflow-y:auto}.storey-list{flex-direction:column;gap:8px;max-height:46vh;display:flex;overflow-y:auto}.storey-list article{border:1px solid var(--border);background:#fff;border-radius:9px;padding:10px 12px}.storey-list article.is-active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.storey-list header{align-items:center;gap:10px;display:flex}.storey-list header input{background:0 0;border:1px solid #0000;border-radius:6px;flex:1;min-width:0;padding:5px 7px;font-size:13px;font-weight:700}.storey-list header input:hover,.storey-list header input:focus{border-color:var(--border);background:var(--bg)}.storey-list header span{color:var(--text-muted);font-size:var(--fs-small);white-space:nowrap}.storey-fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:8px;margin-top:8px;display:grid}.storey-fields>label{min-width:0}.storey-fields span{color:var(--text-muted);font-size:var(--fs-small);text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;display:block;overflow:hidden}.storey-fields .unit-input,.storey-fields .unit-input input{width:100%;min-width:0}.storey-list footer{gap:6px;margin-top:9px;display:flex}.storey-list footer button{border:1px solid var(--border);color:var(--text);cursor:pointer;font-size:var(--fs-small);background:#fff;border-radius:6px;align-items:center;gap:5px;padding:5px 9px;display:inline-flex}.storey-list footer button svg{width:13px}.storey-list footer button:hover:not(:disabled){background:var(--bg)}.storey-list footer button:disabled{opacity:.4;cursor:not-allowed}.storey-list footer button.is-danger{color:#8c2a1f;border-color:#f0c4bf;margin-left:auto}.elevations-dialog{max-width:900px}.elevation-drawing{border:1px solid var(--border);background:#f7f8f7;border-radius:9px;width:100%;height:380px;margin-top:10px}.elevation-shape{fill:#cfd5d8;stroke:#46545c;stroke-width:.02px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.elevation-shape.is-roof-outline{fill:none;stroke:#8d6e5a;stroke-width:.04px}.elevation-shape.is-opening{fill:#eef4f7;stroke:#2f4b57;stroke-width:.03px}.elevation-shape.is-cut{fill:#b9c2c6;stroke:#2f3c43;stroke-width:.035px}.elevation-shape[data-unavailable=true]{fill:url(#elevation-brak-materialu);stroke:#d08a4a;stroke-width:.04px;stroke-dasharray:.25 .18}.section-behind-shape{fill:#edf0f2;stroke:#b7c0c6;stroke-width:.04px;vector-effect:non-scaling-stroke}.section-behind-shape.is-opening{fill:#f8fafb;stroke:#9aa7ae}.section-behind-shape.is-roof-plane,.section-behind-shape.is-roof-outline{fill:#e6e2dc;stroke:#b8ada2}.section-roof-lines line{stroke:#8d6e5a;stroke-width:.05px;vector-effect:non-scaling-stroke}.section-roof-lines line.is-opening{stroke:#b9a99e;stroke-dasharray:3 3}.section-roof-nodes circle{fill:#fff;stroke:#8d6e5a;stroke-width:.04px;vector-effect:non-scaling-stroke}.section-roof-nodes circle.is-valley{fill:#8d6e5a}.plan-section-line,.plan-roof-outline,.dimension-chains,.wall-open-ends{pointer-events:none}.plan-section-line line{stroke:#7a5ea8;stroke-width:2px;stroke-dasharray:14 6 3 6}.plan-section-line circle{fill:#fff;stroke:#7a5ea8;stroke-width:2.5px}.plan-section-line .section-look{stroke:#7a5ea8;stroke-width:2px;fill:none}.elevation-ground line{stroke:#6d7a70;stroke-width:.06px}.elevation-levels line{stroke:#9aa6ad;stroke-width:.012px;stroke-dasharray:.3 .2}.elevation-levels text{fill:#5d6b73;font-variant-numeric:tabular-nums;font-size:.32px}.plan-version-highlight line{stroke:#d0743a;stroke-width:10px;stroke-linecap:round;opacity:.38;pointer-events:none}.plan-version-highlight path{fill:#d0743a29;stroke:#d0743a;stroke-width:2px;stroke-dasharray:8 5;pointer-events:none}.version-diff{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.version-diff h3{font-size:var(--fs-small);margin:0 0 8px;font-weight:700}.version-diff-pickers{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.version-diff-pickers span{color:var(--text-muted);font-size:var(--fs-small);margin-bottom:3px;display:block}.version-diff-list{gap:5px;max-height:260px;margin:10px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.version-diff-list button{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:7px;grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;width:100%;padding:7px 10px;display:grid}.version-diff-list button:hover:not(:disabled){background:var(--bg)}.version-diff-list button:disabled{opacity:.55;cursor:default}.version-diff-list strong{font-size:var(--fs-small)}.version-diff-list span{color:var(--text-muted);font-size:var(--fs-small)}.version-diff-list em{color:var(--text-muted);font-style:normal;font-size:var(--fs-small);white-space:nowrap}.version-diff-list li[data-kind=ADDED] button{box-shadow:inset 3px 0 #2f8f5b}.version-diff-list li[data-kind=REMOVED] button{box-shadow:inset 3px 0 #8c2a1f}.version-diff-list li[data-kind=MODIFIED] button{box-shadow:inset 3px 0 #d0743a}.plan-site path{fill:#7e947614;stroke:#7e9476;stroke-width:1.6px;stroke-dasharray:10 6}.plan-site.is-preview path{fill:#7e94760a;stroke-dasharray:6 4}.plan-site.is-preview circle{fill:#7e9476;stroke:#fff;stroke-width:1.5px}.plan-site-element path{stroke-width:1.2px}.plan-site-element[data-kind=TERRACE] path{fill:#b08a5a2e;stroke:#b08a5a}.plan-site-element[data-kind=DRIVEWAY] path{fill:#969ca033;stroke:#969ca0}.plan-site-element[data-kind=WALKWAY] path{fill:#969ca01f;stroke:#969ca0;stroke-dasharray:5 4}.plan-site-element[data-kind=CAR] path{fill:#5a6e822e;stroke:#5a6e82}.plan-site-element[data-kind=SPOT_ELEVATION] circle{fill:#fff;stroke:#7e9476;stroke-width:2px}.dxf-file input{width:100%;font-size:var(--fs-small)}.geoportal-search{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.geoportal-search label{margin:0}.dxf-failure{color:#8c2a1f;font-size:var(--fs-small);background:#fdf1ef;border-radius:7px;margin:8px 0 0;padding:8px 10px;line-height:1.45}.site-element-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.site-element-list li{border-bottom:1px dashed var(--border);grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;padding-bottom:5px;display:grid}.site-element-list strong{font-size:var(--fs-small)}.site-element-list span{color:var(--text-muted);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.site-element-list button{color:#8c2a1f;cursor:pointer;font-size:var(--fs-small);background:#fff;border:1px solid #f0c4bf;border-radius:6px;padding:3px 8px}.site-boundary-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.site-boundary-list li{border-bottom:1px dashed var(--border);grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;padding-bottom:5px;display:grid}.site-boundary-list strong{font-size:var(--fs-small)}.site-boundary-list span{color:var(--text-muted);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.site-boundary-list em{font-style:normal;font-size:var(--fs-small);font-variant-numeric:tabular-nums;font-weight:700}.site-boundary-list em.is-crossing{color:#8c2a1f;font-weight:700}.model-3d{cursor:grab;touch-action:none;background:#eef1f0;border-radius:9px;width:100%;height:100%;min-height:240px;overflow:hidden}.model-3d:active{cursor:grabbing}.model-3d canvas{width:100%;height:100%;display:block}.model-3d--panel{border:1px solid var(--border);height:260px;margin-top:10px}.model-3d-unsupported{background:var(--bg);color:var(--text-muted);font-size:var(--fs-small);border-radius:8px;margin:10px 0 0;padding:10px 12px;line-height:1.45}.model-3d{position:relative}.model-3d-storeys{cursor:auto;background:#ffffffe6;border-radius:8px;gap:2px;padding:3px;display:flex;position:absolute;top:8px;left:8px;box-shadow:0 1px 3px #0000001f}.model-3d-storeys button{color:var(--text-muted);font:inherit;font-size:var(--fs-small);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 10px}.model-3d-storeys button[aria-pressed=true]{background:var(--accent-strong);color:#fff}.model-3d-attributions{max-width:min(340px,100% - 16px);color:var(--text-muted);font-size:var(--fs-small);cursor:auto;background:#ffffffe6;border-radius:8px;padding:6px 10px;line-height:1.5;position:absolute;bottom:8px;left:8px}.model-3d-attributions summary{cursor:pointer;color:var(--text-strong)}.model-3d-attributions ul{max-height:190px;margin:6px 0 0;padding:0 0 0 2px;list-style:none;overflow-y:auto}.model-3d-attributions li{padding:1px 0}.model-3d-attributions strong{color:var(--text-strong);font-weight:650}.model-3d-attributions p{margin:6px 0 0}.camera-save{gap:8px;margin-top:10px;display:flex}.camera-save input{flex:1;min-width:0}.viewer-model-note{color:var(--text-muted);font-size:var(--fs-small);margin:8px 0 0;line-height:1.45}.plan-roof-outline path{fill:none;stroke:#8d6e5a;stroke-width:1.6px;stroke-dasharray:12 5 3 5}.plan-roof-outline.is-preview path{stroke-dasharray:6 4}.plan-roof-outline.is-preview circle{fill:#8d6e5a;stroke:#fff;stroke-width:1.5px}.roof-entry{border:1px solid var(--border);background:#fff;border-radius:9px;margin-top:10px;padding:10px 12px}.roof-entry__head{align-items:center;gap:8px;display:flex}.roof-entry__head input{min-width:0;font-size:var(--fs-small);background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:5px 7px;font-weight:700}.roof-entry__head input:hover,.roof-entry__head input:focus{border-color:var(--border);background:var(--bg)}.roof-entry__head button.is-danger{color:#8c2a1f;cursor:pointer;font-size:var(--fs-small);background:#fff;border:1px solid #f0c4bf;border-radius:6px;padding:4px 9px}.roof-entry>label{margin-top:8px;display:block}.roof-entry>label>span{color:var(--text-muted);font-size:var(--fs-small);margin-bottom:3px;display:block}.roof-stale{color:#8a4b16;font-size:var(--fs-small);background:#fdf4ec;border-radius:7px;margin:9px 0 0;padding:9px 11px;line-height:1.45}.roof-stale button{color:#8a4b16;cursor:pointer;font-size:var(--fs-small);background:#fff;border:1px solid #e0b487;border-radius:6px;margin-top:7px;padding:5px 10px;display:block}.roof-stale button:hover{background:#fbeee1}.roof-drainage{border-top:1px dashed var(--border);margin-top:9px;padding-top:8px}.roof-more{border:0;border-top:1px dashed var(--border);text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;align-items:baseline;gap:8px;margin-top:9px;padding:6px 0 0;display:flex}.roof-more span{white-space:nowrap;font-weight:600}.roof-more span:after{content:" ▾"}.roof-more[aria-expanded=true] span:after{content:" ▴"}.roof-more small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roof-more__body{margin-top:6px}.roof-drainage>strong{font-size:var(--fs-small);display:block}.roof-drainage small strong{display:inline}.roof-drainage label{gap:3px;margin-bottom:7px;display:grid}.roof-drainage label span{color:var(--text-muted);font-size:var(--fs-small)}.roof-drainage select{border:1px solid var(--border);width:100%;font:inherit;font-size:var(--fs-small);background:#fff;border-radius:6px;padding:6px 8px}.roof-drainage small{color:var(--text-muted);font-size:var(--fs-small);margin:3px 0 6px;line-height:1.4;display:block}.roof-drainage button{border:1px solid var(--border);cursor:pointer;font-size:var(--fs-small);background:#fff;border-radius:6px;margin-right:6px;padding:4px 9px}.roof-drainage button:hover:not(:disabled){background:var(--bg)}.roof-drainage button:disabled{opacity:.45;cursor:not-allowed}.roof-outline{border-top:1px dashed var(--border);margin-top:9px;padding-top:8px}.roof-outline strong{font-size:var(--fs-small);display:block}.roof-outline small{color:var(--text-muted);font-size:var(--fs-small);margin:3px 0 6px;line-height:1.4;display:block}.roof-outline button{border:1px solid var(--border);cursor:pointer;font-size:var(--fs-small);background:#fff;border-radius:6px;margin-right:6px;padding:4px 9px}.roof-outline button:hover{background:var(--bg)}@media (max-width:1599px){.topbar-label-wide{display:none}}.editor-help{width:min(760px,100vw - 40px)}.editor-help h3{font-size:var(--fs-small);margin:0;font-weight:800}.editor-help__steps{font-size:var(--fs-small);gap:9px;margin:0;padding-left:20px;line-height:1.5;display:grid}.editor-help__steps strong{color:var(--text);display:block}.editor-help__steps span{color:var(--text-muted)}.editor-help__keys{grid-template-columns:1fr 1.6fr;gap:6px 32px;display:grid}.editor-help__keys dl{font-size:var(--fs-small);grid-template-columns:max-content 1fr;align-content:start;align-items:baseline;gap:6px 12px;margin:0;display:grid}.editor-help__keys dl>div{display:contents}.editor-help__keys dd{color:var(--text-muted);margin:0}.editor-help__keys kbd{border:1px solid var(--border);background:var(--bg);font:inherit;white-space:nowrap;border-bottom-width:2px;border-radius:5px;padding:2px 6px;font-size:12px}@media (max-width:720px){.editor-help__keys{grid-template-columns:1fr}}.guest-start__note--narrow{display:none}@media (max-width:767px){.guest-start__note--narrow{display:block}}.presentation-dialog{width:min(1180px,100vw - 40px);max-height:calc(100vh - 40px)}.presentation-dialog .model-3d--panel{height:min(62vh,640px)}.overlay--centered:has(>.presentation-dialog.is-full){padding:0}.presentation-dialog.is-full{border:0;border-radius:0;gap:12px;width:100vw;max-width:none;height:100vh;max-height:100vh;padding:14px 18px}.presentation-dialog.is-full .model-3d--panel{height:calc(100vh - 210px)}.presentation-dialog.is-full>.dialog-note{display:none}.presentation-dialog-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.presentation-missing{color:#7a4a1e;background:#fbf1e6;border-radius:8px;padding:8px 12px}.after-publish-dialog{width:min(520px,100vw - 40px)}.viewer-link-fresh{background:var(--bg);border-radius:8px;grid-column:1/-1;gap:6px;padding:10px 12px;display:grid}.viewer-link-fresh strong{font-size:var(--fs-small)}.viewer-link-fresh input{border:1px solid var(--border);width:100%;font:inherit;font-size:var(--fs-small);background:#fff;border-radius:6px;padding:8px 10px}.presentation-panel h3{font-size:var(--fs-small);margin:14px 0 6px;font-weight:700}.camera-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.camera-list li{border:1px solid var(--border);background:#fff;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;display:flex}.camera-list strong{font-size:var(--fs-small);display:block}.camera-list small{color:var(--text-muted);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.camera-list button{color:#8c2a1f;cursor:pointer;font-size:var(--fs-small);background:#fff;border:1px solid #f0c4bf;border-radius:6px;padding:4px 9px}.material-zone-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.material-zone-list span{color:var(--text-muted);font-size:var(--fs-small);margin-bottom:3px;display:block}.material-zone-list select{width:100%}.material-zone-list small{color:var(--accent);font-size:var(--fs-small);margin-top:3px;display:block}.roof-openings{border:1px solid var(--border);background:var(--bg);border-radius:8px;margin-top:10px;padding:9px 10px}.roof-openings>strong{font-size:var(--fs-small);display:block}.roof-openings>small{color:var(--text-muted);font-size:var(--fs-small);margin-top:2px;line-height:1.5;display:block}.roof-openings>div:first-of-type{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.roof-openings button{border:1px solid var(--border);color:var(--text);cursor:pointer;font-size:var(--fs-small);background:#fff;border-radius:6px;padding:5px 9px}.roof-openings button:disabled{color:var(--text-muted);cursor:not-allowed}.roof-opening{border:1px solid var(--border);background:#fff;border-radius:7px;margin-top:8px;padding:8px 9px}.roof-opening__head{align-items:center;gap:7px;display:flex}.roof-opening__head select{flex:1;min-width:0}.roof-opening__head button.is-danger{color:#8c2a1f;border-color:#f0c4bf}.roof-edges{border:1px solid var(--border);background:var(--bg);border-radius:8px;margin-top:10px;padding:9px 10px}.roof-edges>strong{font-size:var(--fs-small);display:block}.roof-edges>small{color:var(--text-muted);font-size:var(--fs-small);margin-top:2px;line-height:1.5;display:block}.roof-edges ul{flex-direction:column;gap:5px;margin:8px 0 0;padding:0;list-style:none;display:flex}.roof-edges li{grid-template-columns:18px 1fr 84px 84px;align-items:center;gap:7px;display:grid}.roof-edges li>span{color:var(--text-muted);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.roof-edges label{color:var(--text-muted);font-size:var(--fs-small);align-items:center;gap:5px;margin:0;display:inline-flex}.roof-edges .unit-input input:disabled{color:var(--text-muted);background:#f4f5f6}.roof-panel{border:1px solid var(--border);background:#fff;border-radius:9px;margin-top:12px;padding:12px}.roof-panel header{align-items:baseline;gap:8px;display:flex}.roof-panel h3{margin:0;font-size:13px;font-weight:700}.roof-panel header small{color:var(--text-muted);font-size:var(--fs-small)}.roof-panel .segmented-control{margin-top:9px}.roof-fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:9px;display:grid}.roof-fields span{color:var(--text-muted);font-size:var(--fs-small);margin-bottom:3px;display:block}.roof-readout{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:7px 12px;margin:10px 0 0;display:grid}.roof-readout div{border-bottom:1px dashed var(--border);justify-content:space-between;gap:8px;padding-bottom:4px;display:flex}.roof-readout dt{color:var(--text-muted);font-size:var(--fs-small)}.roof-readout dd{font-size:var(--fs-small);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.roof-unavailable{background:var(--bg);color:var(--text-muted);font-size:var(--fs-small);border-radius:7px;margin:10px 0 0;padding:8px 10px;line-height:1.45}.roof-hint{color:var(--text-muted);font-size:var(--fs-small);margin:8px 0 0;line-height:1.45}.adjacent-storey line{stroke:#9fb3ab;stroke-width:2px;stroke-dasharray:7 5;opacity:.5;pointer-events:none}.stairs path{fill:#819c9224;stroke:#5c7a6e;stroke-width:1.4px;cursor:pointer}.stairs .stair-line{fill:none;stroke:#5c7a6e;stroke-width:1px;stroke-dasharray:5 4}.stairs .stair-start{fill:#5c7a6e;stroke:none}.stairs .stair-arrow{fill:#476056;stroke:none}.stairs .stair-tread{stroke:#5c7a6e;stroke-width:.8px}.stairs g.is-below path,.stairs g.is-below line{fill:none;stroke:#8fa59c;stroke-dasharray:4 3;cursor:default;pointer-events:none}.stairs g.is-preview path{fill:#819c9214;stroke-dasharray:6 4;cursor:crosshair}.stairs g.is-selected path{stroke:var(--accent);stroke-width:2.2px;fill:#16865b1f}.railings .railing-hit{fill:none;stroke:#0000;stroke-width:10px;cursor:pointer;pointer-events:stroke}.railings .railing-line{fill:none;stroke:#4b5a63;stroke-width:1.6px;pointer-events:none}.railings .railing-post{stroke:#4b5a63;stroke-width:1.2px;pointer-events:none}.railings g.is-preview .railing-line{stroke-dasharray:6 4}.railings g.is-selected .railing-line,.railings g.is-selected .railing-post{stroke:var(--accent);stroke-width:2.2px}.placed-objects path{cursor:pointer;stroke-width:1.2px}.placed-objects text{fill:#5c6b64;stroke:none;pointer-events:none;font-size:10px}.placed-objects .is-structure path{fill:#5e6a7438;stroke:#5e6a74}.placed-objects .is-equipment path{fill:#8c806c24;stroke:#8c806c;stroke-dasharray:4 3}.placed-objects .is-balcony-slab path{fill:#ced6d28c;stroke:#33424b;stroke-width:1.5px;cursor:pointer}.placed-objects .is-balcony-slab.is-selected path{stroke:var(--brand,#1f6b4f);stroke-width:2.5px}.placed-objects .is-balcony-slab text{pointer-events:none}.placed-objects .is-balcony-slab .balcony-edge-handle{stroke:var(--brand,#1f6b4f);stroke-width:10px;stroke-opacity:.25;stroke-linecap:round;cursor:move;pointer-events:stroke}.placed-objects .is-balcony-slab .balcony-edge-handle:hover{stroke-opacity:.55}.placed-objects .is-slab-opening path{fill:#ffffff59;stroke:#33424b;stroke-dasharray:5 3}.placed-objects .is-slab-opening line{stroke:#33424b;stroke-width:1px}.placed-objects .is-slab-opening path:not(.slab-opening-hit),.placed-objects .is-slab-opening line,.placed-objects .is-slab-opening text{pointer-events:none}.placed-objects .is-slab-opening .slab-opening-hit{fill:none;stroke:#0000;stroke-width:12px;stroke-dasharray:none;pointer-events:stroke;cursor:pointer}.placed-objects .is-preview path{cursor:crosshair;pointer-events:none;fill-opacity:.5}.placed-objects .is-selected path{stroke:var(--accent);stroke-width:2.2px;fill:#16865b1f}.placed-objects .equipment-symbol line,.placed-objects .equipment-symbol circle{stroke:#8c806c;stroke-width:1px;fill:none;pointer-events:none}.model-dimensions g{cursor:pointer}.model-dimensions .dimension-line{stroke:#4b5a63;stroke-width:1px}.model-dimensions .dimension-extension{stroke:#9aa8ae;stroke-width:.7px;stroke-dasharray:3 3}.model-dimensions .dimension-tick{fill:#4b5a63}.model-dimensions .dimension-label{fill:#33424b;paint-order:stroke;stroke:var(--canvas);stroke-width:4px;stroke-linejoin:round;font-size:13px;font-weight:600}.model-dimensions .dimension-deviation{fill:#a4561d;font-size:10px;font-weight:600}.model-dimensions .is-locked .dimension-line{stroke:#33424b;stroke-width:1.6px}.model-dimensions .is-deviating .dimension-line,.model-dimensions .is-deviating .dimension-tick{stroke:#c2691f;fill:#c2691f}.model-dimensions .is-selected .dimension-line{stroke:var(--accent);stroke-width:2.2px}.dimension-chains .chain-line{stroke:#8a969c;stroke-width:.8px}.dimension-chains .chain-tick{stroke:#b6c0c4;stroke-width:.6px}.dimension-chains .chain-label{fill:#5d6b73;paint-order:stroke;stroke:var(--canvas);stroke-width:3px;stroke-linejoin:round;font-size:12px}.storage-summary{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.storage-summary span{border:1px solid var(--border);background:#fff;border-radius:10px;flex:160px;gap:3px;padding:13px 15px;display:grid}.storage-summary strong{color:var(--text);letter-spacing:-.02em;font-size:21px}.storage-summary small{color:var(--text-muted);font-size:var(--fs-small)}.storage-note{border:1px solid var(--border);background:var(--bg);border-radius:10px;gap:12px;margin-top:16px;padding:14px 16px;display:flex}.storage-note svg{width:19px;height:19px;color:var(--accent);flex:none}.storage-note p{color:var(--text-muted);font-size:var(--fs-small);margin:0;line-height:1.6}.equipment-series{flex-direction:column;gap:6px;margin:8px 0 0;display:flex}.checkbox-inline{font-size:var(--fs-small);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.property-section label.checkbox-inline{flex-direction:row;align-items:center}.checkbox-inline input{flex:none;width:auto;margin:0}.equipment-sets{flex-wrap:wrap;gap:4px;margin:0 0 8px;display:flex}.equipment-sets button{border:1px solid var(--border,#00000024);text-align:left;cursor:pointer;background:0 0;border-radius:6px;flex-direction:column;align-items:flex-start;gap:1px;padding:5px 9px;display:flex}.equipment-sets button:hover{background:var(--surface-2,#0000000a)}.equipment-sets button.is-selected{border-color:var(--accent,#18755b);background:var(--surface-2,#18755b1a)}.equipment-sets strong{font-size:var(--fs-small);font-weight:600}.equipment-sets small{font-size:var(--fs-small);opacity:.65}.selection-rect{fill:var(--accent,#18755b);fill-opacity:.08;stroke:var(--accent,#18755b);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}.catalogue-panel{border:1px solid var(--border);background:#fff;border-radius:10px;gap:12px;margin-top:22px;padding:20px;display:grid}.catalogue-panel h2{font-size:var(--fs-section,1.1rem);align-items:center;gap:8px;margin:0;display:flex}.catalogue-panel h2 svg{width:18px;height:18px}.catalogue-panel__fields{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.catalogue-panel .button{justify-self:start}.catalogue-panel__status{background:var(--surface);font-size:var(--fs-small);border-radius:8px;margin-top:16px;padding:10px 12px}.trial-banner{background:var(--accent-soft);border-bottom:1px solid var(--border);color:var(--text);font-size:var(--fs-small);line-height:var(--lh-small);justify-content:space-between;align-items:center;gap:16px;padding:10px 28px;display:flex}.trial-banner a{color:var(--accent-strong);flex:none;font-weight:700}.trial-banner--expired{background:var(--warning-soft)}.trial-usage{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--accent-soft);font-size:var(--fs-small);line-height:var(--lh-small);margin:0 0 16px;padding:10px 14px}.trial-usage--full{background:var(--warning-soft)}.new-project-blocked{gap:10px;display:grid}.new-project-blocked p{color:var(--text-muted);margin:0}.trial-usage a{color:var(--accent-strong);font-weight:700}@media (max-width:720px){.trial-banner{flex-direction:column;align-items:flex-start;padding:10px 16px}}.trial-landing{min-height:100vh;color:var(--text);background:#fff}.trial-hero{color:#fff;background:radial-gradient(circle at 78% 18%, #37725e57, transparent 34%), linear-gradient(150deg, var(--surface-dark), var(--bg-dark) 70%);padding:26px clamp(16px,5vw,72px) 64px}.trial-hero__bar{justify-content:space-between;align-items:center;gap:16px;max-width:1240px;margin:0 auto;display:flex}.trial-hero__login{color:var(--text-muted-on-dark);font-weight:650;font-size:var(--fs-body)}.trial-hero__login:hover{color:#fff}.trial-hero__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(28px,4vw,56px);max-width:1240px;margin:56px auto 0;display:grid}.trial-hero__copy .eyebrow{color:var(--accent-on-dark)}.trial-hero__copy h1{letter-spacing:-.045em;margin:0;font-size:clamp(32px,4.4vw,56px);line-height:1.05}.trial-hero__lead{color:#c7d0cc;max-width:540px;margin:20px 0 0;font-size:17px;line-height:1.6}.trial-hero__actions{flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:30px;display:flex}.trial-cta{min-height:50px;padding:0 24px;font-size:16px}.trial-cta svg{width:18px}.trial-hero__secondary{color:var(--accent-on-dark);font-weight:650;font-size:var(--fs-body)}.trial-hero__trust{color:#c7d0cc;font-size:var(--fs-small);flex-wrap:wrap;gap:8px 20px;margin:26px 0 0;padding:0;list-style:none;display:flex}.trial-hero__trust li{align-items:center;gap:6px;display:flex}.trial-hero__trust svg{width:16px;color:var(--accent-on-dark)}.trial-hero__shot{background:#fff;border:1px solid #ffffff24;border-radius:12px;margin:0;overflow:hidden;box-shadow:0 30px 70px #00000073}.trial-hero__shot img,.trial-gallery img{width:100%;height:auto;display:block}.trial-section{padding:72px clamp(16px,5vw,72px)}.trial-section>*{max-width:1240px;margin-left:auto;margin-right:auto}.trial-section--tinted{background:#f3f6f4}.trial-section__head{margin-bottom:32px}.trial-section__head h2,.trial-final h2{letter-spacing:-.03em;max-width:720px;margin:0;font-size:clamp(24px,3vw,36px);line-height:1.15}.trial-benefits{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:0;list-style:none;display:grid}.trial-benefits li{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;padding:22px}.trial-benefits h3{font-size:var(--fs-h2);line-height:var(--lh-h2);margin:14px 0 8px}.trial-benefits p{color:var(--text-muted);font-size:var(--fs-body);margin:0;line-height:1.55}.trial-benefits__icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:40px;height:40px;color:var(--accent-strong);place-items:center;display:grid}.trial-benefits__icon svg{width:20px}.trial-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.trial-gallery figure{border:1px solid var(--border);border-radius:var(--radius-md);background:#eef0ef;flex-direction:column;margin:0;display:flex;overflow:hidden}.trial-gallery img{aspect-ratio:33/28;object-fit:contain;background:#eef0ef}.trial-gallery figcaption{border-top:1px solid var(--border);font-size:var(--fs-body);background:#fff;flex:1;align-items:flex-start;gap:8px;padding:14px 16px;font-weight:650;display:flex}.trial-gallery figcaption span{gap:2px;display:grid}.trial-gallery figcaption small{color:var(--text-muted);font-size:var(--fs-small);font-weight:400}.trial-gallery figcaption svg{width:17px;color:var(--accent-strong);flex:none;margin-top:2px}.trial-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;list-style:none;display:grid}.trial-steps li{align-items:flex-start;gap:14px;display:flex}.trial-steps strong{font-size:var(--fs-h2)}.trial-steps p{color:var(--text-muted);font-size:var(--fs-body);margin:4px 0 0}.trial-steps__number{background:var(--accent);width:34px;height:34px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.trial-included{border:1px solid var(--border);border-radius:var(--radius-md);background:#fbfcfb;margin-top:36px;padding:24px}.trial-included h3{font-size:var(--fs-h2);margin:0 0 12px}.trial-included ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0;padding:0;list-style:none;display:grid}.trial-included li{color:var(--text);font-size:var(--fs-body);align-items:flex-start;gap:10px;line-height:1.5;display:flex}.trial-included svg{width:18px;color:var(--accent-strong);flex:none;margin-top:1px}.trial-faq{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px;margin:0 auto;display:grid}.trial-faq div{border-top:1px solid var(--border);padding:18px 0}.trial-faq dt{font-weight:700;font-size:var(--fs-h2)}.trial-faq dd{color:var(--text-muted);font-size:var(--fs-body);margin:6px 0 0;line-height:1.55}.trial-final{text-align:center;color:#fff;background:linear-gradient(150deg, var(--surface-dark), var(--bg-dark));padding:72px clamp(16px,5vw,72px)}.trial-final h2{margin:0 auto}.trial-final p{color:#c7d0cc;margin:12px 0 26px;font-size:17px}.trial-final small{color:var(--text-muted-on-dark);font-size:var(--fs-small);margin-top:22px;display:block}.trial-final small a{color:var(--accent-on-dark);font-weight:650}@media (max-width:1100px){.trial-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.trial-hero__grid{grid-template-columns:1fr;margin-top:40px}.trial-gallery,.trial-steps,.trial-included ul,.trial-faq{grid-template-columns:1fr}}@media (max-width:560px){.trial-benefits{grid-template-columns:1fr}.trial-section,.trial-final{padding-top:52px;padding-bottom:52px}.trial-cta{width:100%}}@media (max-width:1023px){.editor-shell{grid-template-rows:auto minmax(0,1fr) 28px;min-width:0;height:100dvh}.editor-topbar{flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 10px;display:flex}.editor-topbar__project{flex:auto;min-width:0}.editor-topbar__actions{flex-wrap:wrap}.editor-workspace,.editor-workspace--wide{grid-template-columns:84px minmax(0,1fr);position:relative}.editor-workspace .properties-panel{z-index:20;width:min(360px,88vw);position:absolute;top:0;bottom:0;right:0;box-shadow:-10px 0 28px #12263f29}.editor-statusbar{overflow:hidden}}@media (max-width:767px){.canvas-toolbar .toolbar-group:not([aria-label=Powiększenie]),.canvas-toolbar__divider{display:none}.editor-shell--client{grid-template-rows:auto minmax(0,1fr);min-width:0;height:100dvh}.editor-shell--client .editor-statusbar{display:none}.editor-shell--client .editor-topbar{flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.editor-shell--client .editor-topbar__project{flex:auto;gap:4px;min-width:0}.editor-shell--client .editor-topbar__project .editor-brand,.editor-shell--client .editor-topbar__project .topbar-divider,.editor-shell--client .editor-topbar__center .topbar-divider,.editor-shell--client .command-trigger,.editor-shell--client .save-state{display:none}.editor-shell--client .project-identity strong{max-width:46vw}.editor-shell--client .editor-topbar__center{flex:100%;order:3;justify-content:space-between}.editor-shell--client .floor-picker{flex:auto;min-width:0}.editor-shell--client .editor-topbar__actions{flex:none;gap:6px}.editor-shell--client .editor-topbar__actions .button--compact{height:36px;padding:0 10px}.editor-shell--client .icon-button{width:40px;height:40px}.editor-shell--client .editor-workspace,.editor-shell--client .editor-workspace--wide{grid-template:"canvas"minmax(0,1fr)"panel""tools"/minmax(0,1fr)}.editor-shell--client .canvas-area{grid-area:canvas;min-height:180px}.editor-shell--client .editor-workspace .properties-panel{border-left:0;border-top:1px solid var(--border);grid-area:panel;width:auto;max-height:42dvh;position:static;box-shadow:0 -4px 12px #12263f0f}.editor-shell--client .properties-header{min-height:44px;padding:6px 8px 6px 14px}.editor-shell--client .tool-rail{padding:4px 8px calc(4px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--border);grid-area:tools;gap:6px;display:flex;overflow-x:auto}.editor-shell--client .tool-group{padding:0}.editor-shell--client .tool-button{flex-direction:row;gap:8px;width:auto;min-width:96px;min-height:48px;padding:4px 12px}.editor-shell--client .canvas-toolbar .toolbar-group:not([aria-label=Powiększenie]),.editor-shell--client .canvas-toolbar__divider{display:none}.editor-shell--client .canvas-toolbar button{height:36px}.editor-shell--client .editor-action--views{display:none}.editor-shell--client .editor-topbar__actions{flex:100%;justify-content:space-between}}.docs-page{min-height:100vh;color:var(--text);background:#fff}.docs-page__bar{justify-content:space-between;align-items:center;gap:16px;max-width:1180px;margin:0 auto;padding:18px 20px;display:flex}.docs-page__brand{color:var(--text);align-items:center;gap:8px;font-size:17px;display:inline-flex}.docs-page__all{color:var(--accent-strong);font-weight:650;font-size:var(--fs-small)}.docs-page__draft{border-radius:var(--radius-sm);background:var(--warning-soft);max-width:1140px;font-size:var(--fs-small);border:1px solid #f0d5a1;margin:0 auto 8px;padding:12px 16px;line-height:1.5}@media (max-width:1180px){.docs-page__draft{margin-left:16px;margin-right:16px}}.docs-page__layout{grid-template-columns:260px minmax(0,1fr);gap:40px;max-width:1180px;margin:0 auto;padding:16px 20px 48px;display:grid}.docs-page__nav{align-self:start;gap:2px;display:grid;position:sticky;top:16px}.docs-page__nav a{border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--fs-small);padding:8px 10px;line-height:1.35}.docs-page__nav a:hover{background:var(--bg);color:var(--text)}.docs-page__nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.docs-page__content{min-width:0}.docs-page__content h1{letter-spacing:-.02em;margin:0 0 20px;font-size:clamp(26px,3vw,34px)}.docs-page__list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.docs-page__list a{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);gap:4px;padding:14px 16px;display:grid}.docs-page__list a:hover{border-color:var(--accent)}.docs-page__list span{color:var(--text-muted);font-size:var(--fs-small)}.docs-article{max-width:760px;font-size:15px;line-height:1.65}.docs-article h2{margin:32px 0 10px;font-size:20px}.docs-article h3{margin:24px 0 8px;font-size:17px}.docs-article p,.docs-article li{color:#26323f}.docs-article ol,.docs-article ul{padding-left:22px}.docs-article li{margin:6px 0}.docs-article a{color:var(--accent-strong);text-decoration:underline}.docs-article code{background:var(--bg);border-radius:4px;padding:1px 4px;font-size:13px}.docs-article blockquote{border-left:3px solid var(--border);color:var(--text-muted);margin:12px 0;padding:8px 14px}.doc-placeholder{color:#6b4e00;background:#fff1c2;border-radius:3px;padding:0 3px}.doc-table{margin:14px 0;overflow-x:auto}.doc-table table{border-collapse:collapse;width:100%;font-size:14px}.doc-table th,.doc-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 10px}.doc-table th{color:var(--text-muted);font-weight:700}.doc-table .num{text-align:right;white-space:nowrap}.docs-page__footer{border-top:1px solid var(--border);max-width:1180px;color:var(--text-muted);font-size:var(--fs-small);margin:0 auto;padding:24px 20px 40px}@media (max-width:860px){.docs-page__layout{grid-template-columns:1fr;gap:16px}.docs-page__nav{gap:6px;padding-bottom:6px;display:flex;position:static;overflow-x:auto}.docs-page__nav a{white-space:nowrap;border:1px solid var(--border)}}.legal-links{flex-wrap:wrap;justify-content:center;gap:4px 14px;margin-top:18px;font-size:12px;display:flex}.legal-links a{color:var(--text-muted);text-underline-offset:2px;text-decoration:underline}.legal-links a:hover{color:var(--text)}.legal-links--on-dark a{color:#ffffffb3}.legal-links--on-dark a:hover{color:#fff}.editor-plan.is-discipline>g:not(.installation-layer):not(.editor-grid):not(.active-snap){opacity:.32;pointer-events:none}.installation-layer{pointer-events:none}.installation-layer.is-interactive .installation-element{pointer-events:auto;cursor:pointer}.installation-route{fill:none;stroke-linecap:round;stroke-linejoin:round}.installation-hit{fill:none;stroke:#0000;stroke-width:14px;stroke-linecap:round}.installation-layer.is-interactive .installation-hit{pointer-events:stroke}.installation-halo{fill:none;stroke:#18755b47;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.installation-element.is-clashed .installation-halo{stroke:#c828284d}.installation-element.is-selected .installation-halo{stroke:#18755b61}.installation-point{fill:var(--surface);stroke-width:2px}.installation-choice-symbol{flex:none;width:22px;height:22px;overflow:visible}.installation-circuit{font:700 10px var(--font-sans);paint-order:stroke;stroke:var(--surface);stroke-width:3px;pointer-events:none}.installation-point-hit{fill:#0000;stroke:none}.installation-symbol-text{font-family:var(--font-sans);pointer-events:none}.installation-point-code{text-anchor:middle;dominant-baseline:central;font:650 11px var(--font-sans);pointer-events:none}.installation-riser{fill:var(--surface);stroke-width:2.4px}.installation-riser-cross{stroke-width:1.6px;fill:none}.installation-riser-label{font:650 11px var(--font-sans);pointer-events:none}.installation-vertex{fill:#fff;stroke:var(--accent);stroke-width:1.5px}.installation-drop{stroke:#fff;stroke-width:1.2px}.installation-clash-marker circle{fill:#dc262624;stroke:#c62828;stroke-width:2px}.installation-clash-marker path{stroke:#c62828;stroke-width:2px}.installation-draft path{fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.75;stroke-dasharray:6 4}.installation-draft circle{fill:#fff;stroke:var(--accent);stroke-width:1.5px}.installation-preview{opacity:.6}.discipline-bar{z-index:3;border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;padding:6px 10px;display:flex;position:relative;overflow-x:auto}.discipline-bar>small{color:var(--text-muted);font-size:var(--fs-small);white-space:nowrap}.discipline-switch{border:1px solid var(--border);background:var(--bg);border-radius:9px;gap:2px;padding:3px;display:flex}.discipline-switch button{color:var(--text-muted);font:600 12.5px var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.discipline-switch button:hover{background:var(--surface);color:var(--text)}.discipline-switch button.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f, inset 0 0 0 1px var(--border)}.discipline-switch .discipline-dot{border-radius:50%;flex:none;width:8px;height:8px}.discipline-switch .discipline-count{color:#c62828;font-size:11px;font-weight:700}.installation-legend{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.installation-legend li{align-items:center;gap:8px;font-size:12.5px;display:flex}.installation-legend i{border-top:3px solid;width:22px;height:0;display:inline-block}.installation-choice{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:4px;display:grid}.installation-choice button{text-align:left;border:1px solid var(--border);background:var(--surface);font:500 12px var(--font-sans);cursor:pointer;color:var(--text);border-radius:7px;align-items:center;gap:6px;padding:6px 8px;display:flex}.installation-choice button.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.installation-choice b{text-align:center;border:1.5px solid;border-radius:999px;min-width:26px;padding:1px 3px;font-size:10.5px}.property-fieldset{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.property-fieldset:disabled{opacity:.75}.property-subheading{font-size:var(--fs-small);color:var(--text-muted);margin:4px 0 0;font-weight:650}.manifold-feed{border:1px solid var(--border);border-radius:8px;gap:4px;margin-top:10px;padding:8px 10px;display:grid}.manifold-feed h3{margin:0;font-size:12.5px}.manifold-feed p{margin:0;font-size:12px}.heating-steps{color:var(--text-muted);gap:3px;margin:8px 0 10px;padding-left:20px;font-size:12px;display:grid}.heating-steps li.is-done{color:var(--text-muted);text-decoration:line-through}.heating-steps li.is-current{color:var(--text);font-weight:650}.installation-choice button:disabled,.segmented-control button:disabled{opacity:.45;cursor:not-allowed}.section-presets{flex-wrap:wrap;gap:4px;margin:-2px 0 8px;display:flex}.section-presets button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:600 11px var(--font-sans);cursor:pointer;border-radius:6px;padding:2px 7px}.section-presets button.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.advice-toggle{z-index:5;border:1px solid var(--border);background:var(--surface);color:var(--text);font:600 12px var(--font-sans);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;display:inline-flex;position:absolute;top:10px;right:10px;box-shadow:0 4px 14px #0f172a1f}:is(.canvas-stage:has(>.properties-reopen) .advice-toggle,.canvas-stage:has(>.properties-reopen) .advice-panel){top:56px}.advice-toggle svg{color:#2563eb;width:14px;height:14px}.advice-toggle.is-active{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.advice-panel{z-index:6;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:min(340px,100% - 20px);max-height:calc(100% - 20px);padding:10px 12px;position:absolute;top:10px;right:10px;overflow:auto;box-shadow:0 10px 30px #0f172a24}.advice-panel header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.advice-panel header strong{align-items:center;gap:6px;font-size:13px;display:inline-flex}.advice-panel header svg{color:#2563eb;width:15px;height:15px}.advice-panel ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.advice-panel li{background:#2563eb0f;border-radius:8px;grid-template-columns:1fr auto;gap:2px 8px;padding:8px;display:grid}.advice-panel li p{margin:0;font-size:12.5px;line-height:1.35}.advice-panel li small{color:var(--text-muted);grid-column:1;font-size:11px}.advice-panel__actions{grid-area:1/2/span 2;align-self:center;gap:4px;display:grid}.advice-panel__dismiss{grid-column:1/-1;gap:4px;margin-top:6px;display:flex}.advice-panel__dismiss input{border:1px solid var(--border);min-width:0;font:12px var(--font-sans);background:var(--surface);color:var(--text);border-radius:6px;flex:1;padding:3px 6px}.advice-panel__toggle{color:#2563eb;font:600 12px var(--font-sans);cursor:pointer;background:0 0;border:none;margin-top:10px;padding:0}.advice-panel__skipped li{background:var(--surface-muted,#64748b14)}.advice-panel h3{color:var(--text-muted);margin:12px 0 6px;font-size:12px}.advice-panel footer{color:var(--text-muted);margin-top:10px;font-size:11px}.advice-panel__empty{color:var(--text-muted);font-size:12.5px}.circulation-prompt{z-index:6;border:1px solid var(--border);background:var(--surface);min-width:280px;max-width:calc(100% - 32px);color:var(--text);font:13px var(--font-sans);border-radius:12px;gap:6px;padding:12px 14px;display:grid;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0f172a2e}.circulation-prompt span{color:var(--text-muted,#64748b)}.circulation-prompt__actions{flex-wrap:wrap;gap:6px;display:flex}.installation-focus-marker{fill:none;stroke:#dc2626;stroke-width:2.5px;stroke-dasharray:5 4;pointer-events:none;transform-box:fill-box;transform-origin:50%;animation:2.4s linear infinite installation-focus-spin}@keyframes installation-focus-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.installation-focus-marker{animation:none}}.installation-advice-marker circle{fill:#2563eb;stroke:#fff;stroke-width:2px}.installation-advice-marker text{fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none;font:italic 700 12px Georgia,serif}.canvas-area:has(>.discipline-bar){grid-template-rows:auto auto minmax(0,1fr)}.installation-layer.is-interactive .installation-vertex.is-draggable{pointer-events:auto;cursor:move}.installation-vertex.is-draggable:hover{fill:var(--accent)}.schedules-dialog{width:min(1100px,100vw - 40px);max-height:88vh;overflow:auto}.schedules-controls{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.schedules-categories{border:1px solid var(--border);border-radius:8px;flex:1;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 14px;min-width:300px;padding:8px 12px;display:grid}.schedules-categories legend{font-size:var(--fs-small);color:var(--text-muted);padding:0 4px}.schedules-quick{grid-column:1/-1;gap:6px;margin-top:4px;display:flex}.schedules-storey{font-size:var(--fs-small);gap:4px;display:grid}.schedules-sheets section{margin-top:14px}.schedules-sheets h3{margin:0 0 6px;font-size:14px}.schedules-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.schedules-table{border-collapse:collapse;width:100%;font-size:12.5px}.schedules-table th,.schedules-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:5px 8px}.schedules-table th{background:var(--bg);color:var(--text-muted);font-weight:650}.schedules-table .is-number{text-align:right;font-variant-numeric:tabular-nums}.schedules-table tfoot td{border-bottom:0;font-weight:700}@media (min-width:1024px) and (max-width:1439px){.editor-topbar{grid-template-columns:minmax(0,1fr) auto auto}.editor-topbar__project{min-width:0;overflow:hidden}.editor-topbar__project>*{min-width:0}.editor-topbar__project strong,.editor-topbar__project small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}}@media (min-width:1024px) and (max-width:1279px){.editor-topbar .command-trigger kbd{display:none}}@media (min-width:1024px) and (max-width:1120px){.editor-workspace{grid-template-columns:78px minmax(0,1fr) 292px}.editor-workspace--wide{grid-template-columns:78px minmax(0,1fr)}.tool-rail{scrollbar-width:thin;padding-left:2px;padding-right:2px;overflow-x:hidden}.tool-rail .tool-button{width:100%;font-size:10.5px}}.canvas-area{container:canvas/inline-size}.discipline-switch .discipline-label-short{display:none}@container canvas (max-width:900px){.discipline-switch .discipline-label-full{display:none}.discipline-switch .discipline-label-short{display:inline}.discipline-bar>small{display:none}.discipline-switch button{padding:6px 7px}}.selection-handles circle.is-draggable{cursor:move}.selection-handles circle.is-draggable:hover{fill:var(--accent-soft)}.editor-plan.is-wall-dragging,.editor-plan.is-wall-dragging *{cursor:grabbing!important}.plan-walls .wall-line.is-selected{cursor:move}.history-notice{z-index:26;border:1px solid var(--border);background:var(--surface);width:max-content;max-width:calc(100% - 24px);box-shadow:var(--shadow-md);font-size:var(--fs-small);color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:6px 6px 6px 14px;display:flex;position:absolute;bottom:64px;left:50%;transform:translate(-50%)}.loops-progress{z-index:26;border:1px solid var(--border);background:var(--surface);width:min(460px,100% - 24px);box-shadow:var(--shadow-md);font-size:var(--fs-small);color:var(--text);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:6px 10px;padding:8px 8px 8px 14px;display:grid;position:absolute;bottom:112px;left:50%;transform:translate(-50%)}.loops-progress>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.loops-progress>progress{width:100%;height:6px;accent-color:var(--accent);grid-area:2/1}.loops-progress>button{grid-area:1/2/span 2}.editor-validation-message.editor-info-message{background:var(--accent-soft);color:var(--accent-strong);border-color:#18755b40}.discipline-legend{z-index:24;border:1px solid var(--border);background:var(--surface);max-width:calc(100% - 24px);box-shadow:var(--shadow-sm);font-size:var(--fs-small);color:var(--text-muted);border-radius:8px;flex-wrap:wrap;gap:6px 12px;padding:6px 10px;display:flex;position:absolute;bottom:14px;left:12px}.discipline-legend span{align-items:center;gap:6px;display:inline-flex}.discipline-legend i{border-radius:50%;width:10px;height:10px;display:inline-block}.elevation-installations line{stroke-linecap:round;opacity:.9}.elevation-installations circle{stroke-width:.03px}.elevation-installations-toggle{margin:6px 0}.heat-demand-dialog{gap:16px;width:min(860px,100vw - 40px)}.heat-demand-settings{font-size:var(--fs-small);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 16px;display:grid}.heat-demand-settings label{color:var(--text-muted);gap:4px;display:grid}.heat-demand-settings span{color:var(--text);align-items:center;gap:6px;display:inline-flex}.heat-demand-dialog input,.heat-demand-dialog select{border:1px solid var(--border);font:inherit;background:#fff;border-radius:6px;padding:4px 6px}.heat-demand-table-wrap{border:1px solid var(--border);border-radius:8px;max-height:min(52vh,520px);overflow:auto}.heat-demand-table{border-collapse:collapse;width:100%;font-size:var(--fs-small)}.heat-demand-table th,.heat-demand-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:5px 8px}.heat-demand-table thead th{background:var(--surface,#f8fafc);z-index:1;position:sticky;top:0}.heat-demand-storey th{background:#f1f5f9;font-weight:800}.heat-demand-table tr.has-warning td{background:#fef3c7}.heat-demand-summary{font-size:var(--fs-small);margin:0}.heating-steps button{margin-left:6px}.manifold-loops{border-collapse:collapse;width:100%;margin:4px 0;font-size:12px}.manifold-loops th,.manifold-loops td{border-bottom:1px solid var(--border);text-align:right;padding:2px 4px}.manifold-loops th:first-child,.manifold-loops td:first-child{text-align:left}.property-section>.property-label{color:var(--text-muted);font-size:var(--fs-small);margin:10px 0 6px;display:block}.installation-screed-joint{stroke:#111827;stroke-width:1.6px;stroke-dasharray:10 4 2 4;pointer-events:none}.loop-exclusions{gap:4px;margin-bottom:8px;display:grid}.property-section .loop-exclusions label.checkbox-row{color:var(--text);flex-direction:row;align-items:center;gap:8px}.property-section .loop-exclusions input[type=checkbox]{width:16px;height:16px}.ventilation-open{width:100%;margin:8px 0}.installation-box-outline{fill:#ffffffb3;stroke-width:1.2px;pointer-events:none}.storey-restack{background:var(--warning-soft,#fff7e6);font-size:var(--fs-small);color:#72521f;border:1px solid #efdaa9;border-radius:8px;gap:8px;padding:10px 12px;display:grid}.storey-computed output{color:var(--text-muted);flex:1;padding:0 9px}.house-calibration-toggle{left:10px;right:auto}.house-calibration-toggle svg{color:var(--accent)}.installation-calc-dialog{gap:14px;width:min(920px,100vw - 40px);padding-bottom:0}.calc-tabs{background:#f1f5f9;border-radius:10px;grid-template-columns:repeat(5,1fr);gap:4px;padding:4px;display:grid}.calc-tabs button{font:600 13px var(--font-sans);color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:7px 8px;display:inline-flex}.calc-tabs button.is-active{color:var(--text);background:#fff;box-shadow:0 1px 3px #0f172a24}.calc-badge{color:#92400e;background:#fef3c7;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;display:inline-grid}.calc-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;display:grid}.calc-card{border:1px solid var(--border);background:#fff;border-left-width:4px;border-radius:8px;gap:2px;padding:10px 12px;display:grid}.calc-card small{color:var(--text-muted);font-size:12px;font-weight:600}.calc-card strong{color:var(--text);font-size:20px;line-height:1.2}.calc-card span{color:var(--text-muted);font-size:12px}.calc-card.is-ok{border-left-color:#16a34a}.calc-card.is-warning{background:#fffbeb;border-left-color:#d97706}.calc-settings{font-size:var(--fs-small);background:#f8fafc;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px;padding:10px 12px;display:grid}.calc-settings label{color:var(--text-muted);gap:4px;display:grid}.calc-settings span{color:var(--text);align-items:center;gap:6px;display:inline-flex}.calc-settings select{max-width:100%}.calc-chips{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.calc-chips button{border:1px solid var(--border);font:600 12px var(--font-sans);color:var(--text);cursor:pointer;background:#fff;border-radius:999px;padding:4px 10px}.calc-chips button small{color:var(--text-muted);font-weight:500}.calc-chips button.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.calc-two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.calc-two .heat-demand-table{border:1px solid var(--border);border-radius:8px}.calc-compact th,.calc-compact td{padding:5px 6px}.heat-demand-table td small,.heat-demand-table th small{color:var(--text-muted);font-weight:500}.calc-status.is-ok{color:#15803d}.calc-status.is-too_small,.calc-status.is-missing{color:#b45309;font-weight:700}.calc-status.is-oversized{color:var(--text-muted)}.calc-empty{border:1px dashed var(--border);color:var(--text-muted);font-size:var(--fs-small);text-align:center;border-radius:8px;margin:0;padding:14px}.calc-actions{border-top:1px solid var(--border);background:#fff;align-items:center;margin:0 -24px;padding:12px 24px;position:sticky;bottom:0}.calc-actions small{color:var(--text-muted);margin-right:auto}.canvas-chips{z-index:5;gap:6px;display:flex;position:absolute;top:10px;right:10px}.canvas-stage:has(>.properties-reopen) .canvas-chips{top:56px}.canvas-chips .advice-toggle{position:static}.calc-toggle svg{color:var(--accent)}.duct-hint{color:var(--text);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin:0;padding:8px 10px}.duct-hint button{margin-top:6px}.installation-calc-dialog{flex-direction:column;min-height:min(640px,100vh - 80px);display:flex}.installation-calc-dialog .calc-actions{margin-top:auto}.calc-ok{color:#16a34a;font-size:12px;font-weight:800}.calc-empty{color:var(--text-muted);font-size:12px;font-weight:800}.calc-empty-note{border:1px dashed var(--border);color:var(--text-muted);border-radius:8px;margin:0;padding:10px 12px}.calc-todo{counter-reset:todo;gap:8px;margin:0;padding:0;list-style:none;display:grid}.calc-todo>li{counter-increment:todo;color:var(--text);background:#fffbeb;border:1px solid #fde68a;border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:10px 12px;font-size:14px;line-height:1.45;display:flex}.calc-todo>li:before{content:counter(todo);color:#fff;background:#f59e0b;border-radius:50%;flex:0 0 22px;place-items:center;height:22px;font-size:12px;font-weight:800;display:grid}.calc-todo>li>span:first-of-type{flex:280px}.calc-todo .button{flex:none}.calc-inline{align-items:center;gap:6px;display:inline-flex}.calc-done{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin:0;padding:12px 14px;font-weight:600}.calc-details{border-top:1px solid var(--border);padding-top:10px}.calc-details>summary{cursor:pointer;color:var(--text-muted);font-size:13px;font-weight:600}.calc-details-body{gap:12px;margin-top:12px;display:grid}.calc-note{color:var(--text-muted);margin:0;font-size:12px;line-height:1.55}.calc-why{margin-top:6px;font-size:13px}.calc-why summary{cursor:pointer;color:#92400e;font-weight:600}.calc-why ul{gap:2px;margin:6px 0 0;padding-left:18px;list-style:outside;display:grid}.calc-why li{background:0 0;border:0;padding:0;font-size:13px}.calc-why p{color:var(--text-muted);margin:6px 0 0}.clash-toggle{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.clash-toggle svg{color:#dc2626}.next-steps{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;gap:8px;margin:12px 16px 4px;padding:12px 14px;display:grid}.next-steps h2{letter-spacing:.06em;text-transform:uppercase;color:#166534;margin:0;font-size:12px}.next-steps ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.next-steps li{color:var(--text);gap:6px;font-size:13px;line-height:1.45;display:grid}.next-steps li .button{justify-self:start}.property-fold>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;list-style:none;display:flex}.property-fold>summary::-webkit-details-marker{display:none}.property-fold>summary h2{margin:0}.property-fold>summary:after{content:"▸";color:var(--text-muted);font-size:12px}.property-fold[open]>summary:after{content:"▾"}.property-fold>summary span{color:var(--text-muted);margin-left:auto;font-size:12px}.property-fold-warning{font-weight:600;color:#b45309!important}.property-fold[open]>summary{margin-bottom:8px}.properties-panel .property-hint{-webkit-line-clamp:2;cursor:pointer;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.properties-panel .property-hint.is-open{-webkit-line-clamp:unset;cursor:auto;display:block}
