.app{background:radial-gradient(900px 420px at 0% 0%, #d5e6ef 0%, transparent 55%), radial-gradient(700px 380px at 100% 0%, #f3e0d0 0%, transparent 50%), var(--paper);flex-direction:column;height:100%;min-height:100vh;display:flex}.app__body{border-top:1px solid var(--line);flex:1;grid-template-columns:270px 1fr 260px;gap:0;min-height:0;display:grid}.app__body--plan{grid-template-columns:1fr 280px}.app__mode-row{border-bottom:1px solid var(--line);background:#f7fafcf2;align-items:center;padding:.25rem .75rem;display:flex}.mode-switch{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.mode-switch__btn{color:var(--muted,#5a6a7e);cursor:pointer;background:0 0;border:none;padding:.35rem 1rem;font-size:.85rem;font-weight:600}.mode-switch__btn.is-active{background:var(--accent,#1f6f8b);color:#fff}.mode-switch__btn:hover:not(.is-active){background:#1f6f8b14}.mode-switch--compact .mode-switch__btn{padding:.28rem .65rem;font-size:.78rem}.plan-templates{gap:.5rem;margin:1rem 0;display:grid}.plan-templates__btn{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:8px;padding:.75rem 1rem;font-weight:600}.plan-templates__btn:hover{border-color:var(--accent,#1f6f8b);background:#1f6f8b0f}.trim-overlap-hint{color:var(--muted,#5a6a7e);font-weight:400}.plan-facet-list{margin:0 0 .75rem;padding:0;font-size:.85rem;list-style:none}.plan-facet-list__row{border-bottom:1px solid var(--line,#e2e8f0);justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.plan-facet-list__name{min-width:0}.plan-facet-list strong{color:var(--accent,#1f6f8b);margin-right:.25rem}.plan-facet-list__h{color:var(--muted,#5a6a7e);flex-shrink:0;align-items:center;gap:.25rem;font-size:.75rem;display:inline-flex}.plan-coords-block{border:1px solid var(--line,#e2e8f0);background:#f7fafce6;border-radius:8px;margin:0 0 .75rem;padding:.55rem .65rem}.plan-size-guides{flex-direction:column;gap:.5rem;margin:.5rem 0 .75rem;display:flex}.plan-size-guide{color:var(--muted,#5a6a7e);background:#f0f7fa;border:1px solid #c5dde8;border-radius:6px;padding:.45rem .55rem;font-size:.78rem;line-height:1.35}.plan-size-guide strong{color:#1f6f8b;margin-bottom:.25rem;font-size:.8rem;display:block}.plan-size-guide ul{margin:0;padding-left:1.1rem}.plan-size-guide li{margin:.15rem 0}.plan-sizes-block{background:#1f6f8b0f;border:1px solid #1f6f8b;border-radius:8px;margin:0 0 .85rem;padding:.55rem .65rem}.plan-sizes-block .panel__subtitle{color:#1f6f8b;margin-top:0}.plan-sizes-lock{background:#e07a3d1a;border:1px solid #e07a3d59;border-radius:6px;margin:0 0 .55rem;padding:.45rem .5rem;font-size:.82rem;line-height:1.35}.plan-sizes-lock p{margin:0 0 .4rem}.plan-sizes-ok{color:#0f766e;margin:0 0 .5rem;font-size:.82rem;font-weight:600}.plan-size-fields{flex-direction:column;gap:.35rem;display:flex}.plan-size-field{cursor:default;background:#fff;border:1px solid #0000;border-radius:5px;grid-template-columns:1fr auto auto;align-items:center;gap:.35rem;padding:.28rem .4rem;font-size:.82rem;display:grid}.plan-size-field:hover,.plan-size-field:focus-within{background:#e07a3d14;border-color:#e07a3d}.plan-size-field.is-need{background:#f8fafc;border-color:#cbd5e1}.plan-size-field__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.plan-size-field__unit{color:#64748b;font-size:.75rem}.plan-edge-len--need{background:#fff7ed!important;border-color:#fdba74!important}.plan-facet-size{border:1px solid var(--line,#e2e8f0);background:#fff;border-radius:6px;margin:.55rem 0 .35rem;padding:.45rem .5rem}.plan-facet-size__head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.88rem;display:flex}.plan-facet-size__sides{margin:0}.plan-facet-size__sides th,.plan-facet-size__sides td{padding:.2rem .3rem}.plan-coords-block .panel__subtitle{margin-top:0}.plan-coords-block__check{cursor:pointer;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;display:flex}.plan-height-field{pointer-events:auto;color:#1f6f8b;align-items:center;gap:.2rem;font-size:.7rem;font-weight:700;display:inline-flex;position:absolute;transform:translate(-50%)}.plan-height-field:hover,.plan-height-field:focus-within{pointer-events:auto}.plan-dim-input--height{border-color:#1f6f8b;width:3.2rem}.plan-edge-table tbody tr{cursor:pointer}.plan-edge-table tbody tr.is-selected{background:#e07a3d1f}.plan-edge-letter{border:1px solid var(--accent,#1f6f8b);min-width:1.4rem;height:1.4rem;color:var(--accent,#1f6f8b);background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:0 .25rem;font-size:.8rem;font-weight:700;display:inline-flex}.plan-edge-trim{color:var(--muted,#5a6a7e);font-size:.72rem}.plan-edge-len{border:1px solid var(--line);border-radius:4px;width:4.5rem;padding:.2rem .35rem;font-size:.85rem}.plan-dim-layer{pointer-events:none;z-index:6;position:absolute;inset:0;overflow:hidden}.plan-dim-input{pointer-events:auto;text-align:center;color:#1a2332;background:#fffffff5;border:1px solid #94a3b8;border-radius:4px;width:3.6rem;padding:.12rem .2rem;font-size:.72rem;font-weight:600;position:absolute;transform:translate(-50%);box-shadow:0 1px 3px #1a23321f}.plan-dim-input:hover,.plan-dim-input:focus{pointer-events:auto}.plan-dim-input:focus{border-color:#1f6f8b;outline:none;box-shadow:0 0 0 2px #1f6f8b40}.plan-dim-input.is-selected{border-color:#e07a3d}.toolbar__btn:disabled,.toolbar__primary:disabled,.toolbar__action:disabled{opacity:.45;cursor:not-allowed}.menubar{z-index:100;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f7fafceb;align-items:center;gap:1rem;padding:.35rem .75rem;display:flex;position:relative}.menubar__home{color:var(--accent);letter-spacing:-.02em;font-weight:700;text-decoration:none}.menubar__home:hover{color:var(--accent-2)}.menubar__menus{gap:.15rem;display:flex}.menubar__name{color:var(--ink-soft);margin-left:auto;font-size:.9rem}.menu{position:relative}.menu__btn{cursor:pointer;font:inherit;color:var(--ink);background:0 0;border:none;border-radius:6px;padding:.35rem .65rem}.menu__btn:hover,.menu:focus-within .menu__btn{background:#e4ebf2}.menu__list{border:1px solid var(--line);z-index:110;background:#fff;border-radius:8px;min-width:11rem;padding:.35rem;display:none;position:absolute;top:100%;left:0;box-shadow:0 12px 28px #1a23321f}.menu:hover .menu__list,.menu:focus-within .menu__list,.menu.is-open .menu__list{flex-direction:column;display:flex}.menu__list button,.menu__list a{text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:6px;padding:.45rem .6rem}.menu__list button:hover,.menu__list a:hover{background:#eef3f7}.toolbar{border-bottom:1px solid var(--line);background:#f7fafcd9;flex-wrap:wrap;align-items:center;gap:.65rem;padding:.45rem .65rem;display:flex}.toolbar__group{border-right:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.3rem;padding-right:.65rem;display:flex}.toolbar__group--end{border-right:none;margin-left:auto;padding-right:0}.toolbar__label{color:var(--ink-soft);margin-right:.25rem;font-size:.8rem}.toolbar__offset{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:.2rem;padding:.2rem .35rem;display:inline-flex;box-shadow:0 1px 2px #1a23320f}.toolbar__offset input{width:3.6rem;font:inherit;font-family:var(--mono);text-align:center;background:0 0;border:none;padding:.15rem 0;font-size:.85rem}.toolbar__offset input:focus{outline:none}.toolbar__offset span{color:var(--ink-soft);font-size:.72rem}.toolbar__btn{cursor:pointer;min-width:3.2rem;font:inherit;background:#fff;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:.1rem;padding:.3rem .4rem;display:inline-flex;box-shadow:0 1px 2px #1a23320f}.toolbar__btn small{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;max-width:4.5rem;font-size:.62rem;overflow:hidden}.toolbar__btn:hover{border-color:var(--line)}.toolbar__btn.is-active{border-color:var(--accent);background:#e7f3f7}.toolbar__action,.toolbar__primary,.panel__calc,.modal__actions button{border:1px solid var(--line);cursor:pointer;font:inherit;background:#fff;border-radius:8px;padding:.45rem .75rem}.toolbar__primary,.panel__calc,.modal__actions .toolbar__primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.toolbar__primary:disabled,.panel__calc:disabled{opacity:.45;cursor:not-allowed}.toolbar__action.danger{color:var(--danger);border-color:#e0b4b4}.tabs{background:0 0;align-items:center;gap:.25rem;padding:.35rem .5rem 0;display:flex;overflow-x:auto}.tabs__item{border:1px solid var(--line);background:#dfe7ee;border-bottom:none;border-radius:10px 10px 0 0;align-items:center;display:flex}.tabs__item.is-active{background:var(--surface);z-index:1;position:relative}.tabs__btn,.tabs__add,.tabs__close{cursor:pointer;font:inherit;background:0 0;border:none;padding:.4rem .65rem}.tabs__close{color:var(--ink-soft);padding:.2rem .45rem}.tabs__input{border:1px solid var(--accent);font:inherit;border-radius:4px;width:7rem;margin:.25rem;padding:.2rem .4rem}.tabs__add{color:#fff;background:#e53935;border-radius:6px;align-self:center;font-size:1.2rem}.tabs__add:hover{background:#c62828}.panel{background:var(--surface);border-right:1px solid var(--line);padding:.85rem .9rem;overflow:auto}.panel--summary{border-right:none;border-left:1px solid var(--line)}.panel__title{letter-spacing:-.02em;margin:0 0 .75rem;font-size:1rem}.panel__subtitle{margin:1rem 0 .5rem;font-size:.9rem}.field{flex-direction:column;gap:.25rem;margin-bottom:.7rem;font-size:.88rem;display:flex}.field span,.field legend{color:var(--ink-soft)}.field input,.field select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;padding:.4rem .5rem}.field--radio{border:none;flex-direction:column;gap:.35rem;margin:0 0 .7rem;padding:0;display:flex}.field--radio label{align-items:center;gap:.4rem;display:flex}.profile-info{color:var(--ink-soft);background:#eef3f7;border-radius:8px;gap:.2rem;margin-bottom:.75rem;padding:.55rem .65rem;font-size:.8rem;display:grid}.profile-info b{color:var(--ink);font-family:var(--mono);font-weight:600}.panel__calc{width:100%;margin-top:.35rem}.summary{gap:.45rem;margin:0;display:grid}.summary>div{justify-content:space-between;gap:.5rem;font-size:.88rem;display:flex}.summary dt{color:var(--ink-soft)}.summary dd{font-family:var(--mono);margin:0;font-weight:600}.summary-table{border-collapse:collapse;width:100%;font-size:.85rem;font-family:var(--mono)}.summary-table th,.summary-table td{text-align:left;border-bottom:1px solid var(--line);padding:.3rem .2rem}.sheet-editor{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.75rem}.sheet-editor__meta{color:var(--ink-soft);margin:0 0 .5rem;font-size:.8rem}.trim-swatch{vertical-align:middle;border:1px solid #00000026;border-radius:2px;width:.65rem;height:.65rem;margin-right:.35rem;display:inline-block}.trim-save{color:#2f6b4f;font-size:.78em}.workspace{background:#f2f6f9;min-width:0;min-height:0;position:relative;overflow:hidden}.workspace--touch-draw,.workspace--touch-draw .konvajs-content,.workspace--touch-draw canvas{touch-action:none}.workspace__hint{border:1px solid var(--line);color:var(--ink-soft);pointer-events:none;z-index:5;background:#ffffffe6;border-radius:8px;max-width:min(90%,28rem);padding:.35rem .6rem;font-size:.78rem;position:absolute;bottom:.65rem;left:.75rem}.canvas-rulers{pointer-events:none;z-index:8;position:absolute;inset:0}.canvas-rulers__corner{z-index:2;color:#1f6f8b;background:#d5dee7;border-bottom:1px solid #7a8fa3;border-right:1px solid #7a8fa3;place-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:grid;position:absolute;top:0;left:0}.canvas-rulers__top{background:#dce5ee;border-bottom:1px solid #7a8fa3;position:absolute;top:0;left:0;right:0;overflow:hidden;box-shadow:0 1px #1a23320f}.canvas-rulers__left{background:#dce5ee;border-right:1px solid #7a8fa3;position:absolute;top:0;bottom:0;left:0;overflow:hidden;box-shadow:1px 0 #1a23320f}.canvas-rulers__tick{color:#3d4f63;font-variant-numeric:tabular-nums;font-size:10px;font-weight:600;line-height:1;position:absolute}.canvas-rulers__tick--top{border-left:1px solid #9aabbc;width:0;height:100%;top:0;transform:translate(-.5px)}.canvas-rulers__tick--top.canvas-rulers__tick--major{border-left:2px solid #3d4f63}.canvas-rulers__tick--top span{white-space:nowrap;position:absolute;top:7px;left:4px}.canvas-rulers__tick--left{border-top:1px solid #9aabbc;width:100%;height:0;left:0;transform:translateY(-.5px)}.canvas-rulers__tick--left.canvas-rulers__tick--major{border-top:2px solid #3d4f63}.canvas-rulers__tick--left span{white-space:nowrap;position:absolute;top:3px;left:4px}.canvas-rulers__tick--zero{color:#1f6f8b;font-weight:800;border-color:#1f6f8b!important}.ctx-menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:8px;min-width:8.5rem;padding:.25rem;position:absolute;box-shadow:0 6px 20px #1a233224}.ctx-menu__item{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.45rem .7rem;font-size:.88rem;display:block}.ctx-menu__item:hover{color:#b42318;background:#f0f4f8}.modal-backdrop{z-index:50;background:#1a233259;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:min(100%,22rem);padding:1.1rem 1.2rem;box-shadow:0 24px 50px #1a233233}.modal--report{flex-direction:column;width:min(96vw,78rem);max-height:94vh;display:flex}.modal--pdf{flex-direction:column;width:min(100%,52rem);max-height:min(92vh,56rem);display:flex}.pdf-preview{background:#eef3f7;border-radius:10px;flex:1;place-items:center;min-height:12rem;max-height:min(62vh,36rem);margin-bottom:.75rem;padding:.75rem;display:grid;overflow:auto}.pdf-preview__img{object-fit:contain;background:#fff;max-width:100%;max-height:min(58vh,34rem);box-shadow:0 2px 10px #1a23321f}.pdf-preview__error{color:#b42318;text-align:center;margin:0;padding:1rem;font-size:.9rem}.report{flex:1;min-height:0;margin:.25rem 0 .75rem;padding-right:.25rem;overflow:auto}.report__section{margin-bottom:1rem}.report__section h3{margin:0 0 .45rem;font-size:.95rem}.report__block{background:#eef3f7;border-radius:8px;margin-bottom:.75rem;padding:.55rem .65rem}.report__block-title{margin-bottom:.35rem;font-size:.88rem;font-weight:600}.modal h2{margin:0 0 .25rem;font-size:1.15rem}.modal__hint{color:var(--ink-soft);margin:0 0 .9rem;font-size:.85rem}.modal__actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.modal--projects,.modal--org{flex-direction:column;width:min(100%,52rem);max-height:min(90vh,40rem);display:flex}.modal--login{width:min(100%,24rem)}.project-list{flex:1;min-height:0;margin-bottom:.5rem;overflow:auto}.project-list__table{border-collapse:collapse;width:100%;font-size:.85rem}.project-list__table th,.project-list__table td{text-align:left;border-bottom:1px solid var(--line);padding:.4rem .5rem}.project-list__table th{color:var(--ink-soft);font-weight:600}.project-list__row--current{background:#eef6fc}.project-list__actions{white-space:nowrap;text-align:right}.project-list__actions button+button{margin-left:.35rem}.org-section{margin-bottom:1rem}.org-section h3{margin:0 0 .45rem;font-size:.95rem}.menu__user{color:var(--ink);border-bottom:1px solid var(--line);pointer-events:none;padding:.45rem .75rem;font-size:.85rem}.menu__user span{color:var(--ink-soft);margin-top:.15rem;font-size:.78rem;display:block}.menubar__server{color:var(--accent);margin-left:.35rem;font-size:.85rem}.app__toast{z-index:40;color:#fff;background:#1a2332;border-radius:8px;padding:.45rem 1rem;font-size:.88rem;position:fixed;top:3.5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #1a233240}@media (width<=1100px){.app__body:not(.app__body--mobile-pane-draw):not(.app__body--mobile-pane-params):not(.app__body--mobile-pane-summary),.app:not(.app--phone) .app__body{grid-template-rows:auto 1fr auto;grid-template-columns:1fr}.app:not(.app--phone) .app__body--plan{grid-template-columns:1fr}.app:not(.app--phone) .panel,.app:not(.app--phone) .panel--summary{border:none;border-bottom:1px solid var(--line);max-height:220px}.app:not(.app--phone) .workspace{min-height:55vh}}@media (width<=768px){.app{height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden}.app--phone .app__body{flex:1;grid-template-rows:1fr;grid-template-columns:1fr;min-height:0}.app--phone .app__body--mobile-pane-draw .panel,.app--phone .app__body--mobile-pane-draw .panel--summary,.app--phone .app__body--mobile-pane-draw .panel--right,.app--phone .app__body--mobile-pane-params .workspace,.app--phone .app__body--mobile-pane-summary .workspace,.app--phone .app__body--mobile-pane-params .panel--summary,.app--phone .app__body--mobile-pane-params .panel--right,.app--phone .app__body--mobile-pane-summary .panel:not(.panel--summary):not(.panel--right){display:none}.app--phone .panel,.app--phone .panel--summary,.app--phone .panel--right{-webkit-overflow-scrolling:touch;height:100%;max-height:none;padding-bottom:.75rem;overflow:auto}.app--phone .workspace{height:100%;min-height:0}.menubar{padding:.4rem .55rem;padding-top:max(.4rem, env(safe-area-inset-top));flex-wrap:wrap;gap:.35rem .5rem}.menubar__name{white-space:nowrap;text-overflow:ellipsis;order:3;width:100%;margin-left:0;font-size:.78rem;overflow:hidden}.menubar__menus{flex-wrap:wrap;flex:1;gap:0;min-width:0}.menu__btn{min-height:2.5rem;padding:.45rem .55rem;font-size:.85rem}.menu__list{z-index:200;width:auto;min-width:0;max-height:min(70dvh,24rem);position:fixed;top:auto;left:.5rem;right:.5rem;overflow:auto}.menu__list button{min-height:2.75rem;padding:.7rem .75rem;font-size:.95rem}.app__mode-row{padding:.35rem .55rem}.mode-switch{width:100%}.mode-switch__btn{flex:1;min-height:2.6rem;padding:.45rem .5rem}.toolbar{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;gap:.45rem;padding:.4rem .5rem;overflow:auto hidden}.toolbar__group{flex-wrap:nowrap;flex-shrink:0;padding-right:.5rem}.toolbar__group--end{margin-left:0}.toolbar__btn{min-width:2.85rem;min-height:2.85rem;padding:.35rem .3rem}.toolbar__btn small{font-size:.62rem}.toolbar__primary,.toolbar__action{white-space:nowrap;min-height:2.75rem;padding:.45rem .7rem}.tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.workspace__hint{max-width:none;font-size:.7rem;bottom:.4rem;left:.4rem;right:.4rem}.plan-dim-input,.plan-dim-input--height{min-height:2rem;font-size:16px}.panel__calc{z-index:2;width:100%;min-height:2.85rem;position:sticky;bottom:0}.field input,.field select,.plan-edge-len{min-height:2.5rem;font-size:16px}.modal{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);margin:.5rem;overflow:auto}.modal--pdf{width:100%;max-height:92vh}.modal--report{width:calc(100% - 1rem);max-width:none}.mobile-nav{border-top:1px solid var(--line);padding:.25rem;padding-bottom:max(.25rem, env(safe-area-inset-bottom));z-index:50;background:#f7fafcfa;flex-shrink:0;gap:.25rem;display:flex}.mobile-nav__btn{min-height:3rem;font:inherit;color:var(--muted,#5a6a7e);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;flex:1;font-size:.82rem;font-weight:700}.mobile-nav__btn.is-active{background:var(--accent,#1f6f8b);color:#fff}.admin-page__body,.admin-form-grid{grid-template-columns:1fr}}@media (width>=769px){.mobile-nav{display:none}}.admin-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.admin-page__header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.admin-page__header h1{margin:0;font-size:1.15rem}.admin-page__header-actions{gap:.5rem;display:flex}.admin-page__body{flex:1;grid-template-columns:minmax(220px,320px) 1fr;gap:0;min-height:0;display:grid}.admin-page__list{border-right:1px solid var(--line);background:#fff;flex-direction:column;min-height:0;display:flex}.admin-page__list-toolbar{border-bottom:1px solid var(--line);gap:.5rem;padding:.75rem;display:flex}.admin-page__list-toolbar select{flex:1}.admin-profile-list{margin:0;padding:0;list-style:none;overflow:auto}.admin-profile-list__item{text-align:left;border:none;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;gap:.15rem;width:100%;padding:.65rem .85rem;display:flex}.admin-profile-list__item span{color:var(--muted);font-size:.78rem}.admin-profile-list__item--active{background:#1f6f8b1a}.admin-page__editor{padding:1rem 1.25rem;overflow:auto}.admin-form-grid{grid-template-columns:1fr 1fr;gap:.75rem 1rem;display:grid}.admin-form-grid__full{grid-column:1/-1}.admin-form-grid textarea{font-family:ui-monospace,monospace;font-size:.82rem}.admin-page__actions{gap:.5rem;margin-top:1rem;display:flex}.admin-page__status{color:var(--accent);margin-top:.75rem}.admin-page__error{color:#b33}.admin-login{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:22rem;margin:3rem auto;padding:1.5rem}.field--checkbox{flex-direction:row;align-items:center;gap:.5rem;display:flex}.modal--shapes{flex-direction:column;width:min(100%,44rem);max-height:min(92vh,52rem);padding:.85rem 1rem 1rem;display:flex}.modal--shapes-gallery{width:min(100%,40rem)}.modal--shapes-params{width:min(100%,36rem)}.modal__head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.modal__head h2{margin:0}.modal__close{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;padding:.15rem .4rem;font-size:1.4rem;line-height:1}.shape-pick{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;min-height:0;margin-bottom:.35rem;padding:.15rem .1rem .5rem;display:grid;overflow:auto}.shape-pick__btn{aspect-ratio:1;cursor:pointer;color:#1a2332;background:#fff;border:1px solid #cfd8e3;border-radius:6px;padding:.2rem}.shape-pick__btn:hover,.shape-pick__btn.is-selected{border-color:#3b82c4;box-shadow:inset 0 0 0 1px #3b82c4}.shape-pick__icon{width:100%;height:100%;display:block}.shape-params{flex:1;grid-template-columns:1.15fr .95fr;gap:.85rem;min-height:0;margin-bottom:.5rem;display:grid;overflow:auto}.shape-diagram{background:#f7fafc;border:1px solid #d5dee8;border-radius:8px;place-items:center;min-height:12rem;display:grid}.shape-diagram__svg{width:100%;height:auto;max-height:16rem}.shape-diagram--empty{color:var(--ink-soft);font-size:.9rem}.shape-params__form{flex-direction:column;gap:.4rem;display:flex}.shape-params__title{flex-direction:column;gap:.15rem;margin-bottom:.2rem;font-size:.95rem;font-weight:600;display:flex}.shape-params__name{color:var(--ink-soft);font-size:.8rem;font-weight:500}.field--inline{grid-template-columns:2rem 1fr;align-items:center;gap:.45rem;display:grid}.field--inline span{font-weight:600}.field--inline input:disabled{color:#5a6b7d;background:#e8eef3}.field--check{flex-direction:row;align-items:center;gap:.45rem;margin:.25rem 0 .1rem;display:flex}.modal__actions--split{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}.modal__actions-right{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=768px){.shape-pick{grid-template-columns:repeat(4,minmax(0,1fr))}.shape-params{grid-template-columns:1fr}.modal--shapes{width:100%}}.shape-pick__img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.shape-ed{color:#0f172a;background:#eef2f7;min-height:100dvh;font-family:Segoe UI,system-ui,sans-serif}.shape-ed__head{background:#fff;border-bottom:1px solid #dbe3ee;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;display:flex}.shape-ed__head h1{margin:0 0 .35rem;font-size:1.25rem}.shape-ed__head p{color:#475569;max-width:44rem;margin:0;font-size:.92rem;line-height:1.45}.shape-ed__actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.shape-ed__btn,.shape-ed__toolbar button{cursor:pointer;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.45rem .75rem}.shape-ed__btn--primary{color:#fff;background:#16a34a;border-color:#15803d;font-weight:600}.shape-ed__link{color:#2563eb;align-self:center;margin-right:.5rem}.shape-ed__status{color:#065f46;background:#ecfdf5;border-bottom:1px solid #a7f3d0;padding:.55rem 1.25rem;font-size:.9rem}.shape-ed__status.is-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.shape-ed__body{grid-template-columns:16rem 1fr;gap:0;min-height:calc(100dvh - 8rem);display:grid}.shape-ed__list{background:#fff;border-right:1px solid #dbe3ee;padding:.4rem;overflow:auto}.shape-ed__item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:2.4rem 1fr;align-items:center;gap:.45rem;width:100%;padding:.3rem;font-size:.8rem;display:grid}.shape-ed__item img{object-fit:contain;background:#f8fafc;border-radius:4px;width:2.4rem;height:2.4rem}.shape-ed__item.is-active{background:#eff6ff;border-color:#3b82f6}.shape-ed__item.is-dirty span:after{content:""}.shape-ed__canvas-wrap{padding:.75rem 1rem 1.25rem}.shape-ed__toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.shape-ed__toolbar button.is-on{color:#1e40af;background:#dbeafe;border-color:#3b82f6;font-weight:600}.shape-ed__opts{background:#fff;border:1px solid #dbe3ee;border-radius:8px;flex-wrap:wrap;gap:.65rem 1.25rem;margin:0 0 .75rem;padding:.55rem .7rem;font-size:.88rem;display:flex}.shape-ed__opts label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.35rem;display:inline-flex}.shape-ed__opts input:disabled+*{opacity:.5;cursor:not-allowed}.shape-ed__opts label:has(input:disabled){opacity:.5;cursor:not-allowed}.shape-ed__muted{color:#64748b;font-size:.85rem}.shape-ed__svg{touch-action:none;background:#fff;border:1px solid #cbd5e1;border-radius:12px;width:min(100%,34rem);height:auto}.shape-ed__hint{color:#64748b;max-width:36rem;margin:.65rem 0 0;font-size:.85rem}.shape-ed__hint p{margin:.35rem 0}.shape-ed__dims{max-width:36rem;margin:.75rem 0 0;padding:0;font-size:.88rem;list-style:none}.shape-ed__dims li{border-bottom:1px solid #e2e8f0;align-items:center;gap:.4rem;padding:.25rem 0;display:flex}.shape-ed__dims button{cursor:pointer;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:6px;margin-left:auto;padding:.15rem .5rem;font-size:.8rem}.shape-ed__login{background:#fff;border:1px solid #dbe3ee;border-radius:10px;gap:.75rem;max-width:22rem;margin:2rem 1.25rem;padding:1rem;display:grid}.shape-ed__login label{gap:.3rem;font-size:.9rem;display:grid}.shape-ed__login input{font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:.45rem .6rem}@media (width<=800px){.shape-ed__body{grid-template-columns:1fr}.shape-ed__list{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));max-height:12rem;display:grid}}.field input.is-invalid,.field--inline input.is-invalid{color:#dc2626;background:#fef2f2;border-color:#dc2626}.material-pick-btn{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:.55rem .7rem;font-size:.88rem;line-height:1.35;display:block}.material-pick-btn:hover:not(:disabled){background:#f5f9fc;border-color:#3b82c4}.material-pick-btn:disabled{opacity:.6;cursor:not-allowed}.modal--catalog{flex-direction:column;width:min(100%,40rem);max-height:min(90vh,44rem);display:flex}.catalog-crumb{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.2rem .15rem;margin:.15rem 0 .35rem;font-size:.82rem;display:flex}.catalog-crumb__sep{opacity:.6;margin:0 .2rem}.catalog-crumb__link{color:#1f6f8b;cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.catalog-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.55rem;min-height:12rem;padding:.1rem .05rem .5rem;display:grid;overflow:auto}.catalog-tile{text-align:left;cursor:pointer;min-height:4.2rem;color:var(--ink);font:inherit;background:#fff;border:1px solid #cfd8e3;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.65rem .7rem;display:flex}.catalog-tile:hover,.catalog-tile.is-selected{background:#f5f9fc;border-color:#3b82c4;box-shadow:inset 0 0 0 1px #3b82c4}.catalog-tile__title{font-size:.92rem;font-weight:600;line-height:1.25}.catalog-tile__meta{color:var(--ink-soft);font-size:.78rem;line-height:1.3}.catalog-grid--list{grid-template-columns:1fr;gap:.35rem}.catalog-tile--row{border-radius:8px;flex-direction:row;justify-content:space-between;align-items:baseline;gap:.75rem 1rem;min-height:0;padding:.55rem .75rem}.catalog-tile--row .catalog-tile__title{flex:auto;min-width:0}.catalog-tile--row .catalog-tile__meta{text-align:right;white-space:nowrap;flex:0 auto}@media (width<=768px){.catalog-grid--list{grid-template-columns:1fr}.catalog-tile--row{flex-direction:column;align-items:flex-start;gap:.2rem}.catalog-tile--row .catalog-tile__meta{text-align:left;white-space:normal}.catalog-grid:not(.catalog-grid--list){grid-template-columns:1fr 1fr}}.org-simple-list{margin:0 0 .75rem;padding-left:1.2rem;font-size:.88rem}.org-simple-list li+li{margin-top:.25rem}.sheet-pop{z-index:20;border:1px solid var(--line);background:#fffffff7;border-radius:10px;flex-direction:column;gap:.45rem;width:15.5rem;padding:.55rem .65rem .65rem;font-size:.82rem;display:flex;position:absolute;top:2rem;right:.75rem;box-shadow:0 6px 20px #1a233229}.sheet-pop__head{align-items:baseline;gap:.45rem;display:flex}.sheet-pop__head span{color:var(--ink-soft);font-size:.76rem}.sheet-pop__close{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;margin-left:auto;padding:0 .15rem;font-size:1.15rem;line-height:1}.sheet-pop__len{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.sheet-pop__len input{width:6rem;font:inherit;border:1px solid var(--line);border-radius:6px;padding:.25rem .4rem}.sheet-pop__edge{flex-direction:column;gap:.25rem;display:flex}.sheet-pop__edge>span{color:var(--ink-soft);font-size:.76rem}.sheet-pop__steps{gap:.25rem;display:flex}.sheet-pop__steps button{font:inherit;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;flex:1;padding:.3rem 0;font-size:.8rem}.sheet-pop__steps button:hover:not(:disabled){background:#eef4f8}.sheet-pop__steps button:disabled{opacity:.5;cursor:wait}.sheet-pop__note{color:var(--ink-soft);margin:0;font-size:.72rem;line-height:1.3}.sheet-pop__delete{align-self:flex-start}.modal--pdf-wide{width:min(100%,64rem)}.pdf-warn{color:#8a4b00;background:#fff4e5;border:1px solid #f5c37a;border-radius:8px;margin:0 0 .6rem;padding:.5rem .7rem;font-size:.85rem}.pdf-warn__tag{color:#b42318;margin-left:.5rem;font-size:.75rem;font-weight:600}.pdf-pages{background:#eef3f7;border-radius:10px;flex-direction:column;flex:1;gap:.75rem;min-height:12rem;max-height:min(66vh,44rem);padding:.75rem;display:flex;overflow:auto}.pdf-sheet{background:#fff;border-radius:4px;padding:.9rem 1rem;font-size:.84rem;box-shadow:0 2px 10px #1a23321f}.pdf-sheet h3{margin:0 0 .6rem;font-size:1rem}.pdf-sheet h4{margin:.9rem 0 .35rem;font-size:.9rem}.pdf-sheet__kv,.pdf-sheet__table{border-collapse:collapse;width:100%}.pdf-sheet__kv{max-width:34rem}.pdf-sheet__kv td,.pdf-sheet__table td,.pdf-sheet__table th{text-align:left;vertical-align:top;border-bottom:1px solid #dde4ea;padding:.25rem .4rem}.pdf-sheet__kv td:last-child{text-align:right;white-space:nowrap;font-weight:600}.pdf-sheet__table th{background:#eaf1f6;font-weight:600}.pdf-sheet__table tr.is-missing td{color:#b42318}.pdf-sheet__slope{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.pdf-sheet__slope img{border:1px solid #dde4ea;width:100%;height:auto}.pdf-sheet__mat{margin-top:.6rem}.pdf-sheet__mat div{color:#3d4b5c}@media (width<=768px){.pdf-sheet__slope{grid-template-columns:1fr}}.pdf-sheet__table--sheets{max-width:30rem;margin-top:.25rem}.pdf-sheet__table--sheets td:not(:first-child),.pdf-sheet__table--sheets th:not(:first-child){text-align:right}.pdf-sheet__table--sheets tr.is-total td{background:#f6f9fb;font-weight:600}.app__mode-row{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.project-title{border:1px solid var(--line);font:inherit;cursor:pointer;background:#fff;border-radius:8px;align-items:baseline;gap:.45rem;min-width:0;max-width:min(100%,36rem);padding:.3rem .7rem;display:inline-flex}.project-title:hover{border-color:var(--accent)}.project-title__label{color:var(--ink-soft);font-size:.8rem}.project-title__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1rem;font-weight:700;overflow:hidden}.project-title__cloud{color:#2e7d32;white-space:nowrap;font-size:.75rem}.project-title__local{color:var(--ink-soft);white-space:nowrap;font-size:.75rem}.project-title__edit{color:var(--ink-soft)}.menu__badge{color:#fff;text-align:center;background:#e53935;border-radius:999px;min-width:1.1rem;margin-left:.3rem;padding:0 .3rem;font-size:.7rem;line-height:1.1rem;display:inline-block}.support-fab{z-index:40;background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:.4rem;padding:.6rem 1rem;font-weight:600;display:inline-flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 6px 18px #1a233240}.support-fab:hover{filter:brightness(1.08)}.app--phone~.support-fab,.app--phone .support-fab{padding:.6rem .75rem;bottom:4.2rem;right:.75rem}.app--phone .support-fab__text{display:none}.modal--support{width:min(100%,32rem)}.support-form{flex-direction:column;gap:.6rem;display:flex}.support-form .field input,.support-form .field select,.support-form .field textarea{width:100%;font:inherit;box-sizing:border-box}.support-form__trap{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.support-form__attach{align-items:flex-start;gap:.5rem;font-size:.88rem;display:flex}.support-form__note{color:var(--ink-soft);margin:0;font-size:.78rem}.support-done{margin:.5rem 0 1rem;font-size:.95rem}.support-admin{box-sizing:border-box;background:#f2f6f9;min-height:100vh;padding:1rem}.support-admin__head{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.support-admin__head h1{margin:0 auto 0 0;font-size:1.2rem}.support-admin__badge{color:#b42318;font-size:.85rem;font-weight:600}.support-admin__body{grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.support-admin__list{flex-direction:column;gap:.4rem;max-height:calc(100vh - 6rem);margin:0;padding:0;list-style:none;display:flex;overflow:auto}.support-admin__empty{color:var(--ink-soft);padding:.5rem}.support-admin__item{text-align:left;border:1px solid var(--line);width:100%;font:inherit;cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;gap:.15rem;padding:.5rem .65rem;font-size:.82rem;display:flex}.support-admin__item.is-new{border-left:4px solid #e53935}.support-admin__item.is-active{border-color:var(--accent);box-shadow:0 0 0 2px #1f6f8b33}.support-admin__item span{color:var(--ink-soft)}.support-admin__preview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.support-admin__card{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;padding:1rem 1.1rem}.support-admin__card h2{margin:0 0 .2rem;font-size:1.05rem}.support-admin__card h3{margin:1rem 0 .35rem;font-size:.92rem}.support-admin__message{white-space:pre-wrap;background:#f6f9fb;border-radius:8px;margin:0;padding:.6rem .75rem}.support-admin__actions{flex-wrap:wrap;gap:.4rem;margin:.8rem 0;display:flex}.support-admin__actions .is-active{border-color:var(--accent);font-weight:600}.support-admin__shot{border:1px solid var(--line);border-radius:6px;max-width:100%}.support-admin__log{white-space:pre-wrap;word-break:break-word;color:#e6edf3;background:#1a2332;border-radius:8px;max-height:22rem;margin:0;padding:.6rem .75rem;font-size:.75rem;overflow:auto}@media (width<=768px){.support-admin__body{grid-template-columns:1fr}}.report__sheets td:not(:first-child),.report__sheets th:not(:first-child){text-align:right}.report__sheets tr.is-total td{background:#f6f9fb;font-weight:600}.edge-menu{z-index:30;min-width:13rem}.edge-menu__head{border-bottom:1px solid var(--line);margin-bottom:.2rem;padding:.35rem .6rem .4rem;font-size:.85rem;font-weight:600}.edge-menu__head span{color:var(--ink-soft);font-size:.74rem;font-weight:400;display:block}.edge-menu .ctx-menu__item{align-items:center;gap:.45rem;width:100%;display:flex}.edge-menu .ctx-menu__item i{border-radius:3px;flex:none;width:.75rem;height:.75rem}.edge-menu .ctx-menu__item.is-active{background:#eef4f8;font-weight:700}.tabs__copy{border:1px solid var(--line);cursor:pointer;font:inherit;color:var(--accent);background:#fff;border-radius:6px;align-self:center;margin-left:.3rem;padding:.3rem .55rem;font-size:1.05rem}.tabs__copy:hover{background:#eef4f8}.menu__list a{color:inherit;text-decoration:none;display:block}.plan-mismatch{background:#fff8ec;border:1px solid #f5c37a;border-radius:8px;margin-bottom:.75rem;padding:.5rem .65rem}.plan-mismatch h3{color:#8a4b00;margin-top:0}.plan-mismatch ul{flex-direction:column;gap:.3rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.plan-mismatch button{text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #f0d9b5;border-radius:6px;padding:.3rem .45rem;font-size:.8rem}.plan-mismatch button span{color:#b42318;font-size:.75rem;display:block}.edge-menu__warn{color:#b42318!important}.plan-legend{z-index:15;border:1px solid var(--line);background:#fffffff5;border-radius:8px;max-width:min(22rem,100% - 1.5rem);font-size:.76rem;position:absolute;bottom:.65rem;left:.75rem;box-shadow:0 2px 10px #1a23321f}.plan-legend__toggle{font:inherit;cursor:pointer;color:var(--accent);background:0 0;border:none;padding:.35rem .6rem;font-weight:600}.plan-legend__list{flex-direction:column;gap:.2rem;max-height:45vh;margin:0;padding:0 .6rem .5rem;list-style:none;display:flex;overflow:auto}.plan-legend__list li{align-items:center;gap:.45rem;line-height:1.25;display:flex}.plan-legend__list svg{flex:none}.plan-legend__badge{background:#fff;border:1.5px solid #1f6f8b;border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;margin:0 5px;font-size:.7rem;font-weight:700;display:inline-flex}.plan-legend__badge--num{border-color:#c5d0db;border-radius:4px;width:24px;margin:0 2px}.plan-legend__ne{text-align:center;color:#e53935;flex:none;width:28px;font-size:1rem;font-weight:700}.plan-legend__deg{text-align:center;color:#64748b;flex:none;width:28px;font-size:.72rem}.plan-legend__swatch{border-radius:3px;flex:none;width:24px;height:14px;margin:0 2px}.plan-legend__swatch--miss{background:#e5393514;border:1.5px dashed #e53935}.plan-legend__swatch--sel{background:#e07a3d38;border:2px solid #e07a3d}.join-dialog{width:min(100%,30rem)}.join-dialog h2{margin:0 0 .4rem;font-size:1.05rem}.join-dialog__choices{grid-template-columns:1fr 1fr;gap:.6rem;margin:.6rem 0;display:grid}.join-dialog__choices button{text-align:left;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.6rem .7rem;display:flex}.join-dialog__choices small{opacity:.9;font-size:.74rem;font-weight:400}.join-dialog__wall{background:#64748b!important}.edge-menu__join{border-top:1px solid var(--line);align-items:center;gap:.3rem;margin-top:.2rem;padding:.3rem .6rem .1rem;font-size:.8rem;display:flex}.edge-menu__join .ctx-menu__item{border:1px solid var(--line);border-radius:6px;padding:.2rem .5rem;width:auto!important}@media (width<=520px){.join-dialog__choices{grid-template-columns:1fr}}.edge-menu__side{border-top:1px solid var(--line);padding:.3rem .6rem .2rem;font-size:.8rem}.edge-menu__side-opts{grid-template-columns:1fr 1fr;gap:.1rem .3rem;margin-top:.2rem;display:grid}.edge-menu__side-opts .ctx-menu__item{padding:.2rem .3rem;font-size:.78rem}.edge-menu:has(.edge-menu__side){min-width:17rem}.ctx-menu__group{text-transform:uppercase;letter-spacing:.04em;color:#64748b;padding:.3rem .75rem .15rem;font-size:.7rem}.ctx-menu__dot{background:#dc2626;border-radius:50%;width:9px;height:9px;margin-right:.25rem;display:inline-block}.drain-menu{min-width:230px;max-width:290px}.drain-menu__row{justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.8rem;display:flex}.drain-menu__row input{border:1px solid var(--line);border-radius:5px;width:4.5rem;padding:.2rem .35rem;font-size:.85rem}.drain-menu__row select{max-width:11rem;font-size:.8rem}.drain-menu__calc{color:#475569;padding:.25rem .75rem .4rem;font-size:.74rem;line-height:1.35}.drain-hint{z-index:16;color:#fff;pointer-events:none;background:#0284c7;border-radius:6px;padding:.35rem .8rem;font-size:.82rem;position:absolute;top:.6rem;left:50%;transform:translate(-50%)}.drain-panel{z-index:15;background:#fffffff7;border:1px solid #7dd3fc;border-radius:8px;max-width:min(24rem,100% - 1.5rem);max-height:60%;font-size:.76rem;position:absolute;bottom:.65rem;right:.75rem;overflow:auto;box-shadow:0 2px 10px #1a23321f}.drain-panel__toggle{color:#075985;cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:.4rem .65rem;font-weight:600}.drain-panel__body{padding:0 .15rem .4rem}.drain-panel__warn{color:#b45309;margin:.15rem .6rem}.drain-panel__table{border-collapse:collapse;width:calc(100% - 1rem);margin:.2rem .5rem 0}.drain-panel__table td{border-top:1px solid #f1f5f9;padding:.12rem .2rem}.drain-panel__table td.num{text-align:right;white-space:nowrap;font-weight:600}.shape-params__error{white-space:pre-line;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:-.2rem 0 .4rem;padding:.4rem .55rem;font-size:.8rem;line-height:1.3}.drain-length{z-index:30;background:#fff;border:1px solid #7dd3fc;border-radius:8px;width:min(22rem,100% - 2rem);padding-bottom:.5rem;position:absolute;top:3rem;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #1a233233}.drain-length__btns{gap:.5rem;padding:.3rem .75rem 0;display:flex}.asm-var{width:min(980px,100vw - 2rem);max-height:calc(100vh - 3rem);overflow:auto}.asm-var__list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.75rem;margin-top:.6rem;display:grid}.asm-var__item{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.6rem;display:flex}.asm-var__item:hover{border-color:#1f6f8b;box-shadow:0 2px 10px #1f6f8b2e}.asm-var__svg{background:#f8fafc;border-radius:6px;width:100%;height:auto}.asm-var__text{flex-direction:column;gap:.15rem;font-size:.8rem;display:flex}.asm-var__text i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:.3rem;display:inline-block}.asm-var__rest{color:#b91c1c}.shape-report-btn{color:#b91c1c;cursor:pointer;background:#fff5f5;border:1px solid #fca5a5;border-radius:8px;padding:.45rem .8rem}.shape-report-btn:hover{background:#fee2e2}.orgs-error{color:#b91c1c;padding:0 1rem}.orgs-status{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;padding:.4rem .6rem}.orgs-new{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.35rem;padding:.5rem;display:flex}.orgs-new input{flex:10rem}.orgs-list{margin:0;padding:0;list-style:none}.orgs-list__item{text-align:left;border:none;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;width:100%;padding:.5rem .7rem;display:flex}.orgs-list__item span{color:#64748b;font-size:.78rem}.orgs-list__item.is-active{background:#e0f2fe}.orgs-list__item.is-off{opacity:.55}.orgs-editor{overflow:auto}.orgs-block{border:1px solid var(--line);border-radius:8px;flex-direction:column;align-items:flex-start;gap:.45rem;margin:.7rem 0;padding:.7rem .9rem;display:flex}.orgs-block h3{margin:0}.orgs-mf{width:100%;margin:0;padding:0;list-style:none}.orgs-mf__row{align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.orgs-mf__row span{color:#64748b;font-size:.8rem}.orgs-mf__more{margin-left:auto;font-size:.8rem}.orgs-mf__profiles{background:#f8fafc;border-radius:6px;max-height:22rem;margin:.2rem 0 .6rem 1.6rem;padding:.4rem .6rem;overflow:auto}.orgs-mf__bulk{gap:.4rem;margin-bottom:.4rem;display:flex}.orgs-mf__cat i{color:#475569;margin:.4rem 0 .15rem;display:block}.orgs-mf__profile{font-size:.85rem;display:block}.orgs-new-user{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.orgs-user-actions{gap:.3rem;display:flex}tr.is-off td{opacity:.5}.login-guest-btn{color:#075985;cursor:pointer;background:#f0f9ff;border:1px dashed #1f6f8b;border-radius:8px;width:100%;margin:.2rem 0 .8rem;padding:.6rem;font-weight:600}.login-guest-btn:hover{background:#e0f2fe}.menubar__guest{color:#92400e;cursor:pointer;white-space:nowrap;background:#fffbeb;border:1px solid #f59e0b;border-radius:999px;margin-left:.6rem;padding:.2rem .55rem;font-size:.78rem}.catalog-grid--list{flex-direction:column;align-items:stretch;display:flex}.catalog-grid--list .catalog-tile--row{flex:none;height:auto;overflow:visible}.catalog-tile--row .catalog-tile__title{overflow-wrap:anywhere}.siding-joints{flex-direction:column;gap:.3rem;margin:.3rem 0;padding:0;list-style:none;display:flex}.siding-joints li{background:#fff7ed;border:1px solid #f3c7a6;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:.85rem;display:flex}.siding-joints li small{color:var(--ink-soft)}.siding-joints__del{color:#b91c1c;cursor:pointer;background:0 0;border:none;padding:0 .3rem;font-size:1.1rem}.siding-joints__del:disabled{color:#cbd5e1;cursor:default}.siding-joints__actions{flex-wrap:wrap;gap:.4rem;margin-top:.3rem;display:flex}.shape-report-btn--row{margin-right:auto}.toolbar__hint{color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.3rem .55rem;font-size:.82rem}.widget-bar{background:var(--surface);border-bottom:3px solid var(--widget-color,var(--accent));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1rem;min-height:2.2rem;padding:.45rem .9rem;font-size:.92rem;display:flex}.widget-bar--error{color:var(--danger)}.widget-bar__title{color:var(--ink)}.widget-bar__contacts{flex-wrap:wrap;align-items:center;gap:.4rem .9rem;display:flex}.widget-bar__contacts a{color:var(--ink);font-weight:600;text-decoration:none}.widget-bar__lead{background:var(--widget-color,var(--accent));color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;padding:.4rem .9rem;font-weight:600}.widget-bar__lead:hover{filter:brightness(1.08)}.widget-powered{z-index:30;color:var(--ink-soft);opacity:.8;font-size:.72rem;text-decoration:none;position:fixed;bottom:.4rem;right:.6rem}.app--phone .widget-powered{bottom:3.6rem}@media (width<=768px){.widget-bar{padding:.35rem .6rem;font-size:.85rem}}.widget-settings{margin:0 1rem 1rem}.widget-settings__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.2rem 1rem;display:grid}.widget-settings__code{white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all}.widget-settings__table td{vertical-align:top;padding:.35rem .6rem}.orgs-list__admins{background:#fffbeb;width:100%;margin-bottom:.5rem;border-color:#f59e0b!important}.zone-areas{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.report-mat{border-left:5px solid #1f6f8b;padding-left:.7rem}.report-mat__tag{color:#fff;background:#1f6f8b;border-radius:999px;margin-right:.35rem;padding:.05rem .45rem;font-size:.78rem;display:inline-block}.report-mat__nums td{font-weight:600}.report-mat--zone{border-left-color:#16a34a}.report-mat--zone .report-mat__tag{background:#16a34a}.toolbar__eaves small{color:var(--ink-soft);margin-right:.3rem;font-size:.78rem}.report-spec__item{border-bottom:1px solid var(--line,#e2e8f0);padding:.35rem 0}.report-spec__item:last-child{border-bottom:none}.pdf-sheet__spec{margin:.2rem 0 .5rem;font-size:.85rem}.soffit-panel{border-color:#c4b5fd;top:.65rem;bottom:auto}.landing{--landing-dark:#0f1a28;--landing-mid:#1a3344;min-height:100vh;color:var(--ink);background:#f4f7fa}.landing-header{z-index:100;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;align-items:center;gap:1.5rem;padding:.75rem clamp(1rem,4vw,3rem);display:flex;position:sticky;top:0}.landing-logo{color:var(--ink);letter-spacing:-.03em;align-items:center;gap:.45rem;font-size:1.15rem;font-weight:800;text-decoration:none;display:flex}.landing-logo span{color:var(--accent-2)}.landing-logo__mark{background:linear-gradient(135deg, var(--accent), #2a9ab8);color:#fff;border-radius:8px;place-items:center;width:2rem;height:2rem;font-size:.85rem;display:grid}.landing-nav{flex-wrap:wrap;gap:.25rem 1.25rem;margin-right:auto;display:flex}.landing-header__phone{color:var(--ink);white-space:nowrap;align-items:center;gap:.4rem;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.landing-header__phone svg,.landing-header__phone:hover{color:var(--accent)}.landing-nav a{color:var(--ink-soft);font-size:.92rem;text-decoration:none;transition:color .15s}.landing-nav a:hover{color:var(--accent)}.landing-btn{font:inherit;cursor:pointer;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:.55rem 1.15rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.landing-btn:hover{transform:translateY(-1px)}.landing-btn--primary{background:linear-gradient(135deg, var(--accent-2), #d96530);color:#fff;box-shadow:0 8px 24px #e07a3d59}.landing-btn--ghost{color:#fff;background:#ffffff1f;border-color:#ffffff59}.landing-btn--outline{border-color:var(--line);color:var(--ink);background:#fff}.landing-btn--lg{padding:.75rem 1.5rem;font-size:1rem}.landing-hero{background:radial-gradient(900px 500px at 0% 0%, #1f6f8b40, transparent), radial-gradient(700px 400px at 100% 20%, #e07a3d2e, transparent), linear-gradient(160deg, var(--landing-dark) 0%, var(--landing-mid) 55%, #1f4a5c 100%);color:#eef4f8;grid-template-columns:1fr 1fr;align-items:center;gap:2rem;min-height:min(92vh,820px);padding:clamp(2.5rem,6vw,5rem) clamp(1rem,4vw,3rem);display:grid}.landing-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#ffffffa6;margin:0 0 .75rem;font-size:.85rem}.landing-hero h1{letter-spacing:-.03em;margin:0 0 1rem;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:800;line-height:1.12}.landing-hero h1 em{color:#ffb88a;font-style:normal}.landing-lead{color:#ffffffc7;max-width:34rem;margin:0 0 1.75rem;font-size:1.05rem;line-height:1.6}.landing-hero__actions{flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem;display:flex}.landing-hero__stats{flex-wrap:wrap;gap:1.5rem 2.5rem;margin:0;padding:0;list-style:none;display:flex}.landing-hero__stats strong{color:#fff;font-size:1.75rem;font-weight:800;display:block}.landing-hero__stats span{color:#fff9;font-size:.85rem}.landing-shot{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;margin:0;padding:.65rem;overflow:hidden;box-shadow:0 32px 64px #00000059}.landing-shot img{background:#eef4f8;border-radius:10px;width:100%;height:auto;display:block}.landing-shot figcaption{color:#ffffff8c;font-size:.78rem;font-family:var(--mono);margin-top:.65rem;padding:0 .25rem .15rem}.landing-audiences,.landing-features,.landing-steps,.landing-pricing,.landing-faq,.landing-cta{max-width:72rem;margin:0 auto;padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,3rem)}.landing-audiences h2,.landing-features h2,.landing-steps h2,.landing-pricing h2,.landing-faq h2,.landing-cta h2{letter-spacing:-.02em;text-align:center;margin:0 0 .5rem;font-size:clamp(1.6rem,3vw,2.1rem)}.landing-section-lead{text-align:center;max-width:36rem;color:var(--ink-soft);margin:0 auto 2.5rem;line-height:1.55}.landing-cards{gap:1.25rem;display:grid}.landing-cards--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.landing-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:1.5rem 1.4rem 1.35rem;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 12px 32px #1a23320f}.landing-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #1a23321a}.landing-card--accent{border-color:var(--accent-2);box-shadow:0 16px 40px #e07a3d1f}.landing-card__badge{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2);background:#e07a3d1f;border-radius:6px;padding:.25rem .5rem;font-size:.72rem;font-weight:700;position:absolute;top:1rem;right:1rem}.landing-card__icon{margin-bottom:.75rem;font-size:2rem}.landing-card h3{margin:0 0 .35rem;font-size:1.2rem}.landing-card__tagline{color:var(--ink-soft);margin:0 0 1rem;font-size:.92rem}.landing-card ul{color:var(--ink-soft);margin:0 0 1.25rem;padding-left:1.1rem;font-size:.9rem;line-height:1.55}.landing-card li+li{margin-top:.4rem}.landing-card__link{color:var(--accent);font-weight:600;text-decoration:none}.landing-card__link:hover{color:var(--accent-2)}.landing-features{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;max-width:none}.landing-features>h2{max-width:72rem;margin-left:auto;margin-right:auto}.landing-features__grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;max-width:72rem;margin:2rem auto 0;display:grid}.landing-feature{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.25rem}.landing-feature h3{color:var(--accent);margin:0 0 .4rem;font-size:1rem}.landing-feature p{color:var(--ink-soft);margin:0;font-size:.88rem;line-height:1.5}.landing-steps__list{gap:1.25rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.landing-steps__list li{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:flex-start;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.landing-steps__num{background:linear-gradient(135deg, var(--accent), #2a9ab8);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:2.5rem;height:2.5rem;font-size:1.1rem;font-weight:800;display:grid}.landing-steps__list h3{margin:0 0 .25rem;font-size:1.05rem}.landing-steps__list p{color:var(--ink-soft);margin:0;font-size:.92rem;line-height:1.5}.landing-pricing{background:linear-gradient(#eef3f7 0%,#f4f7fa 100%);max-width:none}.landing-pricing>h2,.landing-pricing>.landing-section-lead{max-width:72rem;margin-left:auto;margin-right:auto}.landing-pricing .landing-cards{max-width:72rem;margin:0 auto}.landing-price{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;flex-direction:column;padding:1.5rem;display:flex}.landing-price--featured{border-color:var(--accent);transform:scale(1.02);box-shadow:0 20px 48px #1f6f8b26}.landing-price h3{margin:0 0 .25rem;font-size:1.1rem}.landing-price__sum{color:var(--accent);margin:0 0 .35rem;font-size:2rem;font-weight:800}.landing-price>p{color:var(--ink-soft);margin:0 0 1rem;font-size:.88rem}.landing-price ul{text-align:left;color:var(--ink-soft);flex:1;margin:0 0 1.5rem;padding-left:1.1rem;font-size:.88rem}.landing-price .landing-btn{width:100%}.landing-faq__list{gap:1rem;margin:2rem 0 0;display:grid}.landing-faq__list>div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:1.1rem 1.25rem}.landing-faq__list dt{margin-bottom:.35rem;font-weight:700}.landing-faq__list dd{color:var(--ink-soft);margin:0;font-size:.92rem;line-height:1.5}.landing-cta{text-align:center;background:linear-gradient(135deg, var(--landing-dark), var(--landing-mid));color:#fff;border-radius:0;max-width:none}.landing-cta p{color:#ffffffbf;margin-bottom:1.5rem}.landing-footer{background:var(--landing-dark);color:#ffffffa6;text-align:center;padding:2rem clamp(1rem,4vw,3rem) 2.5rem}.landing-footer__brand{color:#fff;align-items:center;gap:.45rem;margin-bottom:.5rem;font-size:1.1rem;font-weight:800;display:inline-flex}.landing-footer__links{justify-content:center;gap:1.5rem;margin:1rem 0;display:flex}.landing-footer__links a{color:#ffffffbf;text-decoration:none}.landing-footer__links a:hover{color:#ffb88a}.landing-footer__copy{opacity:.5;margin:0;font-size:.8rem}.landing-nav a.is-active{color:var(--accent);font-weight:600}.landing-cards--4{grid-template-columns:repeat(4,1fr)}.landing-card--compact h3{margin:0 0 .35rem;font-size:1.05rem}.landing-card--compact h3 a{color:inherit;text-decoration:none}.landing-card--compact h3 a:hover{color:var(--accent)}.landing-materials,.landing-geo-teaser,.landing-geo-cities,.landing-geo-grid{padding:clamp(2rem,4vw,3.5rem) clamp(1rem,4vw,3rem)}.landing-materials--page{padding-top:0}.landing-seo-hero{background:linear-gradient(160deg,#f0f6f9,#fff);padding:clamp(2rem,5vw,3.5rem) clamp(1rem,4vw,3rem) 1.5rem}.landing-seo-hero h1{letter-spacing:-.02em;margin:.5rem 0 1rem;font-size:clamp(1.6rem,3.5vw,2.4rem)}.landing-seo-hero .landing-lead{color:var(--ink-soft)}.landing-breadcrumbs{color:var(--ink-soft);flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.landing-breadcrumbs a{color:var(--accent);text-decoration:none}.landing-chips{flex-wrap:wrap;gap:.5rem;display:flex}.landing-chips--wrap{max-width:72rem}.landing-chip{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:.4rem .75rem;font-size:.88rem;text-decoration:none;display:inline-flex}.landing-chip:hover{border-color:var(--accent);color:var(--accent)}.landing-chip--accent{border-color:var(--accent);color:var(--accent);background:#1f6f8b1a;font-weight:600}.landing-geo-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.65rem;max-width:72rem;margin:0 auto;padding-top:0;display:grid}.landing-geo-item{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;flex-direction:column;gap:.2rem;padding:.75rem .9rem;text-decoration:none;display:flex}.landing-geo-item:hover{border-color:var(--accent);box-shadow:0 6px 18px #0f1a280f}.landing-geo-item span{color:var(--ink-soft);font-size:.8rem}.landing-article-date{color:var(--ink-soft);margin:0 0 .5rem;font-size:.85rem}.landing-article{max-width:42rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem) 2rem;line-height:1.65}.landing-article h2{letter-spacing:-.02em;margin:2rem 0 .75rem;font-size:1.35rem}.landing-article h3{margin:1.5rem 0 .5rem;font-size:1.1rem}.landing-article p,.landing-article li{color:var(--ink)}.landing-article a{color:var(--accent)}.landing-article ul,.landing-article ol{padding-left:1.25rem}.landing-article blockquote{border-left:3px solid var(--accent);background:#fff;margin:1rem 0;padding:.75rem 1rem}.landing-article table{border-collapse:collapse;background:#fff;width:100%;margin:1rem 0 1.5rem;font-size:.92rem}.landing-article th,.landing-article td{border:1px solid var(--line);text-align:left;padding:.45rem .6rem}.landing-article th{background:#f0f6f9}.landing-article code{font-family:var(--mono,ui-monospace, monospace);background:#eef3f6;border-radius:4px;padding:.1em .35em;font-size:.88em}.landing-footer__materials{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;max-width:48rem;margin:.75rem auto 1rem;display:flex}.landing-footer__materials a{color:#ffffff8c;font-size:.8rem;text-decoration:none}.landing-footer__materials a:hover{color:#ffb88a}@media (width<=900px){.landing-header{flex-wrap:wrap}.landing-header__phone{margin-left:auto}.landing-nav{border-top:1px solid var(--line);order:3;width:100%;padding-top:.5rem}.landing-hero{grid-template-columns:1fr;min-height:auto}.landing-hero__visual{order:-1;max-width:320px;margin:0 auto}.landing-price--featured{transform:none}.landing-cards--4{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.landing-header .landing-btn--primary{order:2;width:100%}.landing-cards--4{grid-template-columns:1fr}}.landing-contact-line{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:1rem 0 0;font-size:.92rem;display:flex}.landing-contact-line a{color:var(--accent);white-space:nowrap;align-items:center;gap:.35rem;font-weight:700;text-decoration:none;display:inline-flex}.landing-contact-line a:hover{color:var(--accent-2)}.landing-contact-line__hours{opacity:.8;font-size:.82rem}.landing-hero .landing-contact-line,.landing-cta .landing-contact-line{color:#ffffffbf}.landing-hero .landing-contact-line a,.landing-cta .landing-contact-line a{color:#ffb88a}.landing-hero .landing-contact-line a:hover,.landing-cta .landing-contact-line a:hover{color:#fff}.landing-cta .landing-contact-line{justify-content:center;margin-top:1.25rem}.landing-card__phone{width:fit-content;color:var(--ink-soft);align-items:center;gap:.35rem;margin-top:.75rem;font-size:.88rem;font-weight:600;text-decoration:none;display:flex}.landing-card__phone svg,.landing-card__phone:hover{color:var(--accent)}.landing-footer__links{flex-wrap:wrap;gap:.6rem 1.5rem}.landing-contacts{max-width:72rem;margin:0 auto;padding:clamp(2rem,4vw,3rem) clamp(1rem,4vw,3rem)}.landing-contacts__big{color:var(--accent);align-items:center;gap:.45rem;font-size:1.25rem;font-weight:800;text-decoration:none;display:inline-flex}.landing-mobile-bar{display:none}@media (width<=900px){.landing-mobile-bar{z-index:120;padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;gap:.5rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #0f1a2814}.landing-mobile-bar a{border:1px solid var(--accent);color:var(--accent);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.7rem .5rem;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.landing-mobile-bar a.landing-mobile-bar__call{background:linear-gradient(135deg, var(--accent-2), #d96530);color:#fff;border-color:#0000;flex:1.3}.landing{padding-bottom:calc(4rem + env(safe-area-inset-bottom))}}.landing-hero .landing-contact-line{margin:1.1rem 0 1.75rem}.mini-calc{max-width:48rem;margin:0 auto;padding:clamp(1.5rem,4vw,2.5rem) clamp(1rem,4vw,3rem)}.mini-calc__tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.mini-calc__tabs button{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:.5rem 1rem}.mini-calc__tabs button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.mini-calc__grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.9rem 1.25rem;display:grid}.mini-calc__field{color:var(--ink-soft);flex-direction:column;gap:.3rem;font-size:.88rem;display:flex}.mini-calc__input{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;padding:0 .75rem;display:flex}.mini-calc__input input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:.65rem 0;font-size:1.05rem}.mini-calc__input em{color:var(--ink-soft);font-size:.85rem;font-style:normal}.mini-calc__results{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.75rem;margin:1.5rem 0 0;padding:1rem 1.25rem;display:grid;box-shadow:0 10px 30px #0f1a280f}.mini-calc__results div{margin:0}.mini-calc__results dt{color:var(--ink-soft);font-size:.82rem}.mini-calc__results dd{color:var(--accent);margin:.15rem 0 0;font-size:1.35rem;font-weight:800}.mini-calc__note{color:var(--ink-soft);margin-top:1rem;font-size:.88rem}.mini-calc-hero{background:linear-gradient(135deg, var(--landing-dark), var(--landing-mid));color:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:1.5rem;margin:0 0 2rem;padding:1.5rem 1.75rem;text-decoration:none;display:flex;box-shadow:0 16px 40px #0f1a282e}.mini-calc-hero__text{flex-direction:column;gap:.4rem;display:flex}.mini-calc-hero__text strong{font-size:1.35rem}.mini-calc-hero__text span{color:#fffc;font-size:.95rem;line-height:1.45}.mini-calc-hero .landing-btn{flex-shrink:0}.mini-calc-hero:hover .landing-btn{filter:brightness(1.08)}.mini-calc-hero__sub{margin:0 0 1rem;font-size:1.2rem}@media (width<=700px){.mini-calc-hero{text-align:left;flex-direction:column;align-items:stretch}}.landing-tariffs{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;max-width:72rem;margin:0 auto;display:grid}.landing-tariff{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:14px;flex-direction:column;gap:.35rem;padding:1.25rem 1.1rem;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.landing-tariff:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 14px 32px #1a233214}.landing-tariff--featured{border-color:var(--accent-2);box-shadow:0 16px 40px #e07a3d24}.landing-tariff__badge{text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--accent-2);border-radius:6px;padding:.2rem .5rem;font-size:.7rem;font-weight:700;position:absolute;top:-.7rem;left:1rem}.landing-tariff__name{font-size:1.05rem;font-weight:700}.landing-tariff__price{color:var(--accent);white-space:nowrap;font-size:1.35rem;font-weight:800}.landing-tariff__price small{color:var(--ink-soft);margin-left:.15rem;font-size:.8rem;font-weight:600}.landing-tariff__audience{color:var(--ink-soft);font-size:.85rem;line-height:1.4}.landing-tariffs__more{text-align:center;margin:2rem 0 0}@media (width<=1100px){.landing-tariffs{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1.4rem}}@media (width<=640px){.landing-tariffs{grid-template-columns:1fr;gap:.75rem}.landing-tariff{grid-template-columns:1fr auto;align-items:baseline;column-gap:.75rem;padding:.9rem 1rem;display:grid}.landing-tariff__audience{grid-column:1/-1}.landing-tariff--featured{margin-top:.4rem}}.tarify-plans,.tarify-compare{max-width:76rem;margin:0 auto;padding:clamp(1.5rem,4vw,2.5rem) clamp(1rem,4vw,3rem)}.tarify-billing{border:1px solid var(--line);background:#fff;border-radius:999px;gap:.25rem;width:fit-content;max-width:100%;margin:0 auto 2rem;padding:.25rem;display:flex}.tarify-billing button{color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:.55rem 1.1rem;font-size:.92rem;font-weight:600}.tarify-billing button.is-active{background:var(--accent);color:#fff}.tarify-billing__save{color:var(--accent-2);background:#e07a3d26;border-radius:6px;margin-left:.25rem;padding:.05rem .4rem;font-size:.78rem;display:inline-block}.tarify-billing button.is-active .tarify-billing__save{color:#fff;background:#fff3}.tarify-plans__grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:1rem;display:grid}.tarify-plan{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;min-width:0;padding:1.5rem 1.15rem 1.25rem;display:flex;position:relative;box-shadow:0 12px 32px #1a23320f}.tarify-plan--featured{border:2px solid var(--accent-2);box-shadow:0 20px 48px #e07a3d2e}.tarify-plan__badge{text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--accent-2);white-space:nowrap;border-radius:6px;padding:.25rem .6rem;font-size:.72rem;font-weight:700;position:absolute;top:-.75rem;left:50%;transform:translate(-50%)}.tarify-plan h3{margin:0 0 .2rem;font-size:1.15rem}.tarify-plan__audience{color:var(--ink-soft);min-height:2.4em;margin:0 0 .9rem;font-size:.86rem}.tarify-plan__price{flex-wrap:wrap;align-items:baseline;gap:.2rem;margin:0;display:flex}.tarify-plan__price strong{color:var(--accent);letter-spacing:-.02em;white-space:nowrap;font-size:1.6rem;font-weight:800}.tarify-plan__price span{color:var(--ink-soft);font-size:.88rem;font-weight:600}.tarify-plan__note{color:var(--ink-soft);min-height:2.4em;margin:.2rem 0 1rem;font-size:.8rem}.tarify-plan ul{color:var(--ink);flex:1;margin:0 0 1.25rem;padding-left:1.05rem;font-size:.86rem;line-height:1.5}.tarify-plan li+li{margin-top:.4rem}.tarify-plan .landing-btn{text-align:center;width:100%}.tarify-billing-note{text-align:center;max-width:44rem;color:var(--ink-soft);margin:1.75rem auto 0;font-size:.92rem;line-height:1.55}.tarify-muted{color:var(--ink-soft)}.tarify-soon{vertical-align:.1em;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);border:1px solid var(--line);white-space:nowrap;background:#e9eef3;border-radius:5px;padding:.05rem .4rem;font-size:.68rem;font-weight:700;line-height:1.4;display:inline-block}.tarify-yes{width:1.6rem;height:1.6rem;color:var(--accent);background:#1f6f8b1f;border-radius:50%;place-items:center;display:inline-grid}.tarify-no{color:#a9b5c2;font-weight:600}.tarify-compare h2{letter-spacing:-.02em;text-align:center;margin:0 0 1.25rem;font-size:clamp(1.6rem,3vw,2.1rem)}.tarify-compare__hint-mobile{color:var(--ink-soft);text-align:right;margin:-.5rem 0 .6rem;font-size:.82rem;display:none}.tarify-compare__wrap{border:1px solid var(--line);background:#fff;border-radius:14px}.tarify-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.9rem}.tarify-table th,.tarify-table td{text-align:center;vertical-align:middle;border-bottom:1px solid #e3e9ef;padding:.7rem .75rem;line-height:1.4}.tarify-table tbody th[scope=row]{text-align:left;background:#fff;font-weight:600}.tarify-table__hint{color:var(--ink-soft);margin-top:.15rem;font-size:.76rem;font-weight:400;display:block}.tarify-table thead th{top:var(--tarify-sticky-top,64px);z-index:3;border-bottom:1px solid var(--line);vertical-align:bottom;background:#f0f6f9;position:sticky}.tarify-table thead th:first-child{border-top-left-radius:14px}.tarify-table thead th:last-child{border-top-right-radius:14px}.tarify-table__corner{color:var(--ink-soft);width:26%;font-size:.8rem;font-weight:600;text-align:left!important}.tarify-table__plan{font-size:.95rem;font-weight:700;display:block}.tarify-table__price{color:var(--accent);white-space:nowrap;margin-top:.15rem;font-size:.8rem;font-weight:600;display:block}.tarify-table thead th.is-featured{box-shadow:inset 0 3px 0 var(--accent-2);background:#fdeee4}.tarify-table td.is-featured{background:#fff8f3}.tarify-table__group th{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:#f7fafc;padding:.95rem .75rem .45rem;font-size:.78rem;font-weight:700;text-align:left!important}.tarify-table__group th span{position:sticky;left:.75rem}.tarify-table tbody:last-child tr:last-child th,.tarify-table tbody:last-child tr:last-child td{border-bottom:0}.tarify-faq__list{gap:.75rem;max-width:48rem;margin:2rem auto 0;display:grid}.tarify-faq__list details{border:1px solid var(--line);background:#fff;border-radius:12px;padding:0 1.25rem}.tarify-faq__list summary{cursor:pointer;padding:1rem 1.5rem 1rem 0;font-weight:700;list-style:none;position:relative}.tarify-faq__list summary::-webkit-details-marker{display:none}.tarify-faq__list summary:after{content:"+";color:var(--accent);font-size:1.3rem;font-weight:400;position:absolute;top:50%;right:0;transform:translateY(-50%)}.tarify-faq__list details[open] summary:after{content:"−"}.tarify-faq__list details p{color:var(--ink-soft);margin:0 0 1rem;font-size:.94rem;line-height:1.55}.tarify-cta__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}@media (width<=1180px){.tarify-plans__grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1.6rem}}@media (width<=1023px){.tarify-compare__hint-mobile{display:block}.tarify-compare__wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}.tarify-table{min-width:46rem}.tarify-table thead th{position:static}.tarify-table thead th:first-child,.tarify-table tbody th[scope=row]{z-index:2;position:sticky;left:0;box-shadow:1px 0 #e3e9ef}.tarify-table thead th:first-child{background:#f0f6f9;top:auto}}@media (width<=720px){.tarify-plans__grid{grid-template-columns:1fr;gap:1.4rem}.tarify-plan__audience,.tarify-plan__note{min-height:0}.tarify-table{min-width:40rem;font-size:.84rem}.tarify-table th,.tarify-table td{padding:.6rem .5rem}.tarify-table tbody th[scope=row],.tarify-table__corner{width:9.5rem;min-width:9.5rem;max-width:9.5rem}.tarify-cta__actions .landing-btn{width:100%}}.tarify-modules{max-width:76rem;margin:0 auto;padding:clamp(1rem,3vw,1.5rem) clamp(1rem,4vw,3rem)}.tarify-modules h2{margin:0 0 8px}.tarify-modules__lead{color:#475569;max-width:760px;margin:0 0 20px;line-height:1.55}.tarify-modules__grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.tarify-module{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px 18px}.tarify-module h3{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 4px;font-size:1.05rem;display:flex}.tarify-module__price{color:var(--accent);margin:0 0 8px;font-weight:700}.tarify-module p:last-child{color:#475569;margin:0;font-size:.92rem;line-height:1.5}.tarify-module--bundle{border-color:var(--accent-2);background:#fff7f1}.tarify-module--bundle .tarify-module__price{color:var(--accent-2)}:root{--ink:#1a2332;--ink-soft:#5a6a7e;--paper:#e8eef3;--surface:#f7fafc;--line:#c5d0db;--accent:#1f6f8b;--accent-2:#e07a3d;--danger:#b33a3a;--font:"Segoe UI", "Candara", "Gill Sans", sans-serif;--mono:"Cascadia Mono", "Consolas", monospace}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}@supports (height:100dvh){html,body,#root{height:100dvh}}body{font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
