html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}@font-face{font-family:Geist Sans;src:url(/assets/Geist-Sans-Variable-Bj2R_7yk.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Geist Sans;src:url(/assets/Geist-Sans-Italic-Variable-B73BBqMU.woff2) format("woff2");font-style:italic;font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/Geist-Mono-Variable-Dispecij.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/Geist-Mono-Italic-Variable-mwDa1Tu8.woff2) format("woff2");font-style:italic;font-weight:100 900;font-display:swap}:root{--background: #F8FAFB;--foreground: #1E293B;--card: #FFFFFF;--card-foreground: #1E293B;--popover: #FFFFFF;--popover-foreground: #1E293B;--primary: #0D9488;--primary-foreground: #FFFFFF;--secondary: #F0FDFA;--secondary-foreground: #0F766E;--muted: #F1F5F9;--muted-foreground: #64748B;--accent: #CCFBF1;--accent-foreground: #0F766E;--destructive: #F43F5E;--destructive-solid: #F43F5E;--destructive-hover: #E11D48;--destructive-active: #BE123C;--destructive-foreground: #FFFFFF;--destructive-muted: #E11D48;--destructive-muted-border: rgba(225, 29, 72, .72);--success: #10B981;--success-foreground: #FFFFFF;--warning: #F59E0B;--warning-foreground: #FFFFFF;--info: #06B6D4;--info-foreground: #FFFFFF;--border: #E2E8F0;--input: #E2E8F0;--ring: #0D9488;--ring-shadow: rgba(13, 148, 136, .5);--chart-1: #0D9488;--chart-2: #F59E0B;--chart-3: #10B981;--chart-4: #F43F5E;--chart-5: #06B6D4;--radius: .5rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--flat-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--flat-shadow-lg: 0 4px 6px rgba(0, 0, 0, .05), 0 2px 4px rgba(0, 0, 0, .03);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1);font-family:Geist Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;color:var(--foreground);background:var(--background);transition:background-color .2s ease,border-color .2s ease,color .15s ease}.dark{--background: #2C3E50;--foreground: #ECF0F1;--card: #34495E;--card-foreground: #ECF0F1;--popover: #34495E;--popover-foreground: #ECF0F1;--primary: #1ABC9C;--primary-foreground: #2C3E50;--secondary: #34495E;--secondary-foreground: #ECF0F1;--muted: #34495E;--muted-foreground: #BDC3C7;--accent: #2C3E50;--accent-foreground: #1ABC9C;--destructive: #E74C3C;--destructive-solid: #D33F31;--destructive-hover: #C0392B;--destructive-active: #A93226;--destructive-foreground: #FFFFFF;--destructive-muted: #FF9B92;--destructive-muted-border: rgba(255, 155, 146, .72);--success: #2ECC71;--success-foreground: #2C3E50;--warning: #F1C40F;--warning-foreground: #2C3E50;--info: #3498DB;--info-foreground: #ECF0F1;--border: rgba(236, 240, 241, .16);--input: rgba(236, 240, 241, .18);--ring: #1ABC9C;--ring-shadow: rgba(26, 188, 156, .24);--chart-1: #1ABC9C;--chart-2: #F1C40F;--chart-3: #2ECC71;--chart-4: #E74C3C;--chart-5: #3498DB;--flat-shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--flat-shadow-lg: 0 4px 6px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.3), 0 2px 4px -2px rgba(0,0,0,.2);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.3)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}html.landing-scrollbar-hidden{scrollbar-width:none;-ms-overflow-style:none}html.landing-scrollbar-hidden::-webkit-scrollbar{display:none}.skip-link{position:fixed;z-index:10000;top:10px;left:10px;padding:10px 14px;border-radius:8px;background:var(--foreground);color:var(--card);font-weight:700;text-decoration:none;transform:translateY(-160%);transition:transform .16s ease}.skip-link:focus{color:var(--card);transform:translateY(0)}#root{min-height:100vh}button,input,textarea,select{font:inherit}::selection{background:var(--primary);color:var(--primary-foreground)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--muted-foreground);border-radius:3px;opacity:.3}::-webkit-scrollbar-thumb:hover{opacity:.5}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(2);opacity:0}}.page-shell{display:flex;min-height:100vh;flex-direction:column;background:var(--background);padding:24px}.page-shell-public{gap:48px}.public-header{display:flex;align-items:center;justify-content:space-between;width:min(100%,1120px);margin:0 auto;gap:12px}.public-header .ant-btn{max-width:min(240px,62vw)}.public-header .ant-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-mark{width:44px;height:44px;flex:0 0 auto;display:block;border-radius:12px;box-shadow:0 8px 18px #0d948838}.organization-brand-logo{width:44px;height:44px;flex:0 0 auto;display:block;border:1px solid var(--border);border-radius:8px;background:var(--card);object-fit:contain}.placeholder-view{display:flex;width:min(100%,760px);min-height:420px;flex:1;flex-direction:column;align-items:flex-start;justify-content:center;margin:0 auto;padding:48px 0}.public-view{display:grid;width:min(100%,1120px);flex:1;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:48px;align-items:center;margin:0 auto}.public-view .placeholder-view{width:100%;min-height:420px;margin:0}.project-share-feedback{border:1px solid var(--border);border-radius:8px;background:var(--muted);padding:12px}.project-share-feedback-item{display:grid;gap:6px;border-top:1px solid var(--border);padding-top:10px}.project-share-feedback-item:first-of-type{border-top:0;padding-top:0}.project-share-feedback-meta,.project-share-feedback-controls{display:grid;gap:8px}.project-share-feedback-meta .ant-typography{white-space:pre-wrap}.project-share-feedback-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-top:4px}.project-share-feedback-controls .ant-select,.project-share-feedback-controls .ant-input-textarea{width:100%}.project-share-feedback-controls .ant-input-textarea{grid-column:1 / -1}.project-share-feedback-controls .ant-btn{grid-column:2;justify-self:end}@media(max-width:560px){.project-share-feedback-controls{grid-template-columns:minmax(0,1fr)}.project-share-feedback-controls .ant-btn{grid-column:1}}.login-card.ant-card{border-color:var(--border);background:var(--card);box-shadow:var(--shadow-lg)}.login-card .ant-card-body{padding:32px}.login-card .ant-typography{margin-top:0}.login-alert{margin-bottom:20px}.login-card .ant-checkbox-wrapper{align-items:flex-start;color:var(--muted-foreground);line-height:1.45}.section-label.ant-typography{color:var(--primary);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.page-title.ant-typography{margin:16px 0;color:var(--foreground);font-size:clamp(3rem,8vw,5.25rem);line-height:.98;letter-spacing:-.025em}.page-copy.ant-typography{display:block;max-width:620px;color:var(--muted-foreground);font-size:.875rem;line-height:1.7}.private-layout{min-height:100vh;background:var(--background)}.private-header-title.ant-typography{display:block;color:var(--foreground);line-height:1.2;font-weight:700;font-size:.875rem}.private-header-subtitle.ant-typography{display:block;color:var(--muted-foreground);font-size:.75rem;line-height:1.3}.app-body{min-height:100vh;background:var(--background)}.app-mobile-bar{display:none}.app-mobile-actions{display:inline-flex;align-items:center;gap:8px}.app-sider.ant-layout-sider{border-right:1px solid var(--border);background:var(--card)}.app-sider .ant-layout-sider-children{height:100vh;position:sticky;top:0}.app-sider .ant-layout-sider-zero-width-trigger{top:12px;background:var(--primary)}.app-sidebar-shell{display:flex;min-height:100%;flex-direction:column}.app-sidebar-brand{display:grid;gap:10px;padding:18px 18px 14px;border-bottom:1px solid var(--border)}.app-sidebar-brand-row,.app-sidebar-brand-actions{display:flex;min-width:0;align-items:center}.app-sidebar-brand-row{justify-content:space-between;gap:16px}.app-sidebar-brand-actions{flex:0 0 auto;gap:2px}.app-sidebar-organization{display:grid;min-width:0;gap:6px}.app-sidebar-organization .private-header-title.ant-typography{display:-webkit-box;overflow:hidden;min-width:0;line-height:1.35;overflow-wrap:anywhere;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.app-sidebar-organization .ant-tag{width:max-content;max-width:100%;margin:0;justify-self:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-mode-button.ant-btn{width:32px;min-width:32px;height:32px;padding:0;flex:0 0 auto;border:0;border-radius:999px;background:transparent;color:var(--muted-foreground);box-shadow:none;transition:color .2s ease,transform .2s ease}.theme-mode-button.ant-btn:hover,.theme-mode-button.ant-btn:focus-visible{background:transparent;color:var(--primary);box-shadow:none}.theme-mode-button.ant-btn:active{transform:scale(.9)}.theme-mode-button.ant-btn .anticon{font-size:18px;transition:opacity .2s ease,transform .28s cubic-bezier(.2,.9,.2,1)}.theme-mode-button.ant-btn:hover .anticon,.theme-mode-button.ant-btn:focus-visible .anticon{transform:rotate(14deg) scale(1.06)}@media(prefers-reduced-motion:reduce){.theme-mode-button.ant-btn,.theme-mode-button.ant-btn .anticon{transition:none}}.app-menu.ant-menu{flex:1;border-inline-end:0;background:transparent;padding:8px 10px}.app-menu.ant-menu-inline>.ant-menu-item,.app-menu.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title{height:40px;margin-inline:0;margin-block:2px;padding-inline:16px 12px!important;color:var(--muted-foreground);font-weight:500;border-radius:6px}.app-menu.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title{width:auto}.app-menu .ant-menu-item-selected,.app-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{background:var(--primary)!important;color:var(--primary-foreground)!important;font-weight:500}.app-menu .ant-menu-item-selected:after{display:none}.app-menu .ant-menu-item:hover,.app-menu .ant-menu-submenu-title:hover{color:var(--foreground)!important}.app-menu .ant-menu-submenu .ant-menu-item{padding-inline:24px 12px!important}.app-menu .ant-menu-submenu .ant-menu-item-selected{background:var(--accent)!important;color:var(--accent-foreground)!important}.app-sidebar-user{display:flex;align-items:center;gap:10px;margin:8px 10px 16px;width:calc(100% - 20px);padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--muted);cursor:pointer;color:inherit;font:inherit;text-align:left;transition:background-color .15s}.app-sidebar-user:hover,.app-sidebar-user:focus-visible{background:var(--accent)}.app-sidebar-user:focus-visible{outline:3px solid var(--ring-shadow);outline-offset:1px}.app-sidebar-user-name.ant-typography{display:block;color:var(--foreground);font-weight:600;line-height:1.25;font-size:.875rem}.app-sidebar-user-meta.ant-typography{display:block;color:var(--muted-foreground);font-size:.75rem;line-height:1.2}.app-drawer .ant-drawer-body{background:var(--card);padding:0}.app-mobile-profile-button.ant-btn{width:34px;min-width:34px;height:34px;padding:0;border-radius:999px}.app-mobile-profile-button.ant-btn .ant-btn-icon{display:inline-flex}.private-content{min-width:0;padding:24px}.tariff-expiry-warning-wrap{position:fixed;z-index:60;top:14px;left:calc(248px + (100vw - 248px)/2);display:flex;justify-content:center;width:max-content;max-width:calc(100vw - 296px);margin:0;pointer-events:none;transform:translate(-50%)}.tariff-expiry-warning.ant-alert{width:max-content;max-width:100%;min-height:34px;align-items:center;padding:6px 12px;border-color:#ff7875;border-radius:8px;background:#fff1f0;box-shadow:0 8px 22px #8200141f;pointer-events:auto}.tariff-expiry-warning.ant-alert .ant-alert-icon{margin-top:0;margin-inline-end:8px}.tariff-expiry-warning .ant-alert-content{min-width:0}.tariff-expiry-warning .ant-alert-message{overflow:hidden;margin-bottom:0;color:#a8071a;font-size:.8125rem;font-weight:700;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.auth-check{display:flex;align-items:center;gap:18px;margin-top:24px}.auth-content{display:grid;min-height:100vh;place-items:center}.organization-choice-list{display:grid;gap:10px;margin-top:16px}.organization-choice-button.ant-btn{height:auto;min-height:44px;justify-content:flex-start;padding-block:9px;white-space:normal;text-align:left}.organization-choice-button.ant-btn>span:last-child{min-width:0;overflow-wrap:anywhere}.invite-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:var(--background)}.invite-card.ant-card{width:min(100%,480px);border-color:var(--border);box-shadow:var(--flat-shadow)}.invite-card-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}.invite-card-header .ant-typography{overflow-wrap:anywhere}.work-page{width:min(100%,1180px);max-width:100%;min-width:0}.admin-page{display:grid;min-width:0;gap:24px}.admin-page>*{min-width:0}.admin-page>.page-heading h1.ant-typography,.admin-page>.page-heading h2.ant-typography,.admin-page>.page-heading h3.ant-typography{margin:2px 0 0}.admin-organization-mobile-card,.admin-audit-mobile-card,.admin-usage-mobile-card,.admin-tariff-mobile-card,.admin-feature-mobile-card,.admin-promo-mobile-card{display:grid;min-width:0;gap:12px}.admin-organization-mobile-card .ant-select,.admin-organization-mobile-card .ant-btn{width:100%}.admin-organization-mobile-card .mobile-tile-grid>div,.admin-audit-mobile-card .mobile-tile-grid>div,.admin-tariff-mobile-card .mobile-tile-grid>div{display:grid;min-width:0;align-content:start;gap:3px}.mobile-card-action-hint.ant-typography{color:var(--primary);font-size:.78rem;font-weight:700}.notification-empty{display:grid;justify-items:center;gap:10px;padding:48px 16px;text-align:center}.notification-empty>.anticon{color:var(--muted-foreground);font-size:1.75rem}.notification-list{display:grid;gap:6px}.notification-item{display:grid;width:100%;min-width:0;gap:4px;padding:12px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.notification-item:hover{background:var(--muted)}.notification-item:focus-visible{outline:3px solid var(--ring-shadow);outline-offset:1px}.notification-item-unread{background:var(--muted)}.notification-item-title.ant-typography,.notification-item-body.ant-typography,.notification-item-date.ant-typography{min-width:0;overflow-wrap:anywhere}.notification-item-title.ant-typography{font-size:.82rem}.notification-item-body.ant-typography{font-size:.76rem}.notification-item-date.ant-typography{font-size:.7rem}.admin-audit-details{border-top:1px solid var(--border);padding-top:10px}.admin-audit-details summary{color:var(--primary);font-weight:650;cursor:pointer}.admin-audit-details pre,.admin-audit-details-pre{max-width:100%;overflow:auto;margin:10px 0 0;padding:10px;border-radius:6px;background:var(--muted);font-size:.75rem;white-space:pre-wrap;overflow-wrap:anywhere}.page-heading{display:grid;gap:10px}.page-heading h1.ant-typography{margin:8px 0 0;color:var(--foreground);font-size:1.5rem;font-weight:700;letter-spacing:-.025em;line-height:1.1}.page-heading-copy.ant-typography{display:block;max-width:620px;color:var(--muted-foreground);font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}.page-heading-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}.work-page .ant-card{border-color:var(--border);box-shadow:var(--flat-shadow)}.work-page .ant-card-head{border-bottom-color:var(--border);padding:20px}.field-page{display:grid;gap:18px}.field-page-header,.field-project-summary,.field-work-card-header,.field-note-header,.field-list-item{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:12px}.field-date-control{justify-content:flex-end}.field-project-summary{border:1px solid var(--border);border-radius:8px;background:var(--card);padding:18px;box-shadow:var(--flat-shadow)}.field-project-summary h2.ant-typography{margin:0 0 6px;font-size:1.35rem;letter-spacing:0;line-height:1.2;overflow-wrap:anywhere}.field-tabs .ant-tabs-nav{margin-bottom:12px}.field-tabs .ant-tabs-tab{min-height:40px}.field-section{width:100%}.field-room-select.ant-select{width:min(100%,460px)}.field-room-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.field-room-summary>div,.field-panel,.field-work-card,.field-list-item,.field-note{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--card)}.field-room-summary>div{display:grid;min-height:64px;align-content:center;gap:4px;background:var(--muted);padding:10px 12px}.field-room-summary span,.field-work-meta span{color:var(--muted-foreground);font-size:.75rem;font-weight:600}.field-panel{display:grid;gap:12px;padding:14px}.field-panel-title{display:inline-flex;align-items:center;gap:8px}.field-work-card{display:grid;gap:12px;padding:14px}.field-work-card.is-overdue{border-color:#f43f5e6b}.field-work-card .ant-typography,.field-list-item .ant-typography,.field-note .ant-typography{min-width:0;overflow-wrap:anywhere}.field-work-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.field-work-meta>div{display:grid;gap:4px}.field-work-controls{display:grid;grid-template-columns:minmax(150px,180px) minmax(110px,140px) minmax(0,1fr);gap:8px}.field-work-controls .ant-select,.field-work-controls .ant-input-number,.field-work-controls .ant-input{width:100%}.field-list,.field-notes-list{display:grid;gap:10px}.field-list-item,.field-note{padding:12px}.field-status-select.ant-select{width:150px;flex:0 0 auto}.field-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.field-note{display:grid;gap:10px}.organization-settings-top-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,auto);align-items:start;gap:20px}.organization-settings-name-field.ant-form-item{margin-bottom:0}.organization-settings-logo-row{display:flex;align-items:center;gap:20px}.organization-settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.organization-settings-form-grid-wide{grid-template-columns:1fr}.organization-settings-logo-preview{width:96px;height:96px;display:grid;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--muted);color:var(--muted-foreground);font-size:36px;overflow:hidden}.organization-settings-logo-preview img{width:100%;height:100%;display:block;object-fit:contain}.organization-settings-logo-name.ant-typography{display:block;margin-top:4px;overflow-wrap:anywhere}.desktop-data-view{display:block}.mobile-data-view{display:none}.project-heading-actions{justify-content:flex-end}.project-link-button.ant-btn{height:auto;max-width:360px;padding:0;color:var(--foreground);font-weight:600;text-align:left;white-space:normal}.clickable-data-row,.project-clickable-row{cursor:pointer}.ant-table-tbody>tr.clickable-data-row>td,.ant-table-tbody>tr.project-clickable-row>td{min-height:64px;padding:16px 14px}.ant-table-tbody>tr.clickable-data-row .ant-typography,.ant-table-tbody>tr.project-clickable-row .ant-typography{line-height:1.45}.project-mobile-card{display:grid;gap:14px;cursor:pointer;outline:none}.project-mobile-card:focus-visible{border-radius:8px;box-shadow:0 0 0 2px var(--ring)}.project-director-dashboard{display:grid;gap:16px;border:1px solid var(--border);border-radius:8px;background:var(--card);padding:20px;box-shadow:var(--flat-shadow)}.director-dashboard-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:16px;align-items:end}.director-dashboard-health{min-width:0}.director-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.director-stat-tile{display:grid;min-width:0;gap:6px;border:1px solid var(--border);border-radius:8px;background:var(--background);padding:14px}.director-stat-tile--danger{border-color:#f43f5e52;background:#f43f5e0f}.director-stat-tile--warning{border-color:#f59e0b57;background:#f59e0b14}.director-stat-icon{color:var(--primary);font-size:1.1rem}.director-stat-label.ant-typography,.director-stat-detail.ant-typography{color:var(--muted-foreground);font-size:.75rem;line-height:1.35}.director-stat-value.ant-typography{color:var(--foreground);font-size:1.25rem;font-weight:700;line-height:1.15;overflow-wrap:anywhere}.director-feature-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:14px;align-items:start;border-top:1px solid var(--border);padding-top:14px}.director-operations-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:14px;border-top:1px solid var(--border);padding-top:14px}.director-pipeline-summary,.director-finance-summary{min-width:0}.director-pipeline-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.director-finance-rows{display:grid;gap:6px;margin-top:8px}.director-finance-row{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:8px;padding:8px 10px}.director-activity-panel{display:grid;gap:10px}.director-dashboard-tabs{border-top:1px solid var(--border);padding-top:6px}.director-dashboard-tabs .ant-tabs-content-holder{min-height:180px}.director-dashboard-tabs .ant-pagination{display:flex;justify-content:flex-end;margin-top:12px}.app-main-column{min-width:0;background:var(--background)}.app-desktop-bar{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);background:var(--card);padding:0 24px}.app-desktop-actions{display:flex;align-items:center;gap:4px}@media(max-width:1120px){.app-desktop-bar{display:none}}.director-activity-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px}.director-activity-list{display:grid;gap:8px}.director-activity-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:12px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:9px 10px}.director-activity-item>div:first-child{display:flex;min-width:0;flex-wrap:wrap;gap:6px;align-items:center}.director-activity-item .ant-typography{overflow-wrap:anywhere}.director-activity-meta{display:flex;min-width:0;justify-content:flex-end;gap:10px}.director-feature-tags{display:flex;margin-top:8px}.director-feature-usage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.director-feature-usage-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;border:1px solid var(--border);border-radius:8px;padding:8px 10px}.director-feature-usage-item .ant-typography{min-width:0;overflow-wrap:anywhere}.director-risk-note{display:flex;grid-column:1 / -1;gap:8px;align-items:flex-start;border:1px solid rgba(245,158,11,.32);border-radius:8px;background:#f59e0b14;padding:10px 12px}.director-risk-note .anticon{margin-top:3px;color:var(--warning)}.project-list-controls{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,190px) minmax(150px,190px) auto;gap:10px;align-items:center;margin-bottom:16px}.project-list-controls>.ant-typography{grid-column:1 / -1;font-size:.8125rem}.project-health-cell{width:100%}.project-health-reasons.ant-typography{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-technical-info.ant-collapse{width:100%;border-radius:8px;background:var(--background)}.project-technical-info .ant-collapse-header{padding-inline:12px}.project-form-alert{margin-bottom:16px}.project-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.project-card-actions .ant-btn{flex:0 0 auto}.project-object-cell{width:100%}.project-object-address.ant-typography{display:flex;min-width:0;align-items:flex-start;gap:6px;line-height:1.35}.project-period-cell .ant-typography{line-height:1.25}.project-period-cell .ant-typography:nth-child(3){margin-top:5px}.modal-footer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.modal-footer-actions>div:first-child{min-width:0}.project-page-state{display:grid;min-height:180px;place-items:center}.project-back-button.ant-btn{margin-bottom:16px;padding-inline:0}.project-details{width:100%}.project-details-card-title{display:grid;min-width:0;gap:6px}.project-details-card-title .section-label.ant-typography{display:block}.project-details-card-title-row.ant-space{min-width:0}.project-details-card-title-row h4.ant-typography{min-width:0;margin:0;line-height:1.25;overflow-wrap:anywhere}.billing-result-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:20px;border:1px solid var(--border);border-radius:8px;background:var(--card)}.billing-result-success{border-color:color-mix(in srgb,var(--success) 55%,var(--border))}.billing-result-error{border-color:color-mix(in srgb,var(--destructive) 55%,var(--border))}.billing-result-copy{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.billing-result-copy>.anticon{margin-top:3px;color:var(--success);font-size:1.15rem}.billing-result-error .billing-result-copy>.anticon{color:var(--destructive)}.billing-result-copy h4.ant-typography{margin:0 0 4px}.billing-result-copy .ant-typography{overflow-wrap:anywhere}.project-sections{width:100%}.project-details-title.ant-typography{margin:8px 0 4px;color:var(--foreground);font-size:1.125rem;font-weight:600;line-height:1.2}.mobile-data-loading{display:grid;min-height:180px;place-items:center}.scheme-editor-page{width:min(100%,1320px)}.scheme-editor-project-title.ant-typography{display:block;margin:6px 0;color:var(--primary);font-weight:600;overflow-wrap:anywhere}.scheme-editor-save-indicator{margin-top:8px}.scheme-editor-save-indicator .ant-typography{font-size:.8125rem;line-height:1.4}.estimate-editor-page{width:min(100%,1360px)}.estimate-form-grid,.estimate-form-grid label{width:100%}.estimate-form-grid label{display:grid;gap:8px}.estimate-title-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto);gap:16px;align-items:end}.estimate-version-grid,.estimate-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.estimate-version-grid label{display:grid;min-width:0;gap:8px}.estimate-total-box{display:grid;min-height:56px;align-content:center;border:1px solid var(--border);border-radius:8px;background:var(--muted);padding:8px 14px}.estimate-room-title.ant-input{max-width:420px;border:0;padding-inline:0;color:var(--foreground);font-weight:700;box-shadow:none}.estimate-lines-table .ant-input-number,.estimate-lines-table .ant-select{width:100%}.estimate-lines-table .ant-table-cell{vertical-align:top}.estimate-cell-stack{display:grid;min-width:0;gap:8px}.estimate-date-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.estimate-number-control.ant-input-number{min-width:132px}.estimate-plan-summary{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.estimate-plan-summary-item{display:grid;min-height:64px;align-content:center;gap:4px;border:1px solid var(--border);border-radius:8px;background:var(--muted);padding:10px 12px}.estimate-status-strip{display:flex;flex-wrap:wrap;gap:6px}.estimate-sticky-actions{position:fixed;z-index:20;right:24px;bottom:16px;display:flex;width:min(720px,calc(100vw - 48px));align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--card) 94%,transparent);padding:10px 14px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.organization-settings-section{margin:16px 0;border:1px solid var(--border);border-radius:10px;background:var(--card)}.organization-settings-section>summary{min-height:48px;padding:13px 16px;cursor:pointer;font-weight:600}.organization-settings-section[open]>summary{border-bottom:1px solid var(--border)}.organization-settings-section>div{padding:16px 16px 0}.estimate-lines-mobile{display:none}.estimate-lines-card-list{display:grid;min-width:0;gap:12px}.estimate-lines-card-list .ant-pagination{justify-self:end}.estimate-line-card{display:grid;min-width:0;overflow:hidden;gap:14px;border:1px solid var(--border);border-radius:8px;background:var(--card);padding:14px}.estimate-line-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;gap:12px}.estimate-line-card-field{display:grid;min-width:0;gap:6px}.estimate-line-card-field .ant-input-number,.estimate-line-card-field .ant-select{width:100%}.estimate-line-card-field .ant-input,.estimate-line-card-field .ant-input-number,.estimate-line-card-field .ant-select,.estimate-line-card-field .ant-select-selector,.estimate-lines-table .ant-select,.estimate-lines-table .ant-select-selector{min-width:0}.estimate-line-card-field .ant-select-selection-item,.estimate-lines-table .ant-select-selection-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimate-line-card-total{align-content:center;border-radius:8px;background:var(--muted);padding:8px 10px}.estimate-line-card-wide{grid-column:1 / -1}.estimate-line-card-details{min-width:0;border-top:1px solid var(--border);padding-top:10px}.estimate-line-card-details>summary{min-height:42px;cursor:pointer;color:var(--primary);font-weight:600;line-height:42px}.estimate-line-card-details[open]>summary{margin-bottom:12px}.estimate-line-mobile-total{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:8px;background:var(--muted);padding:12px 14px}.scheme-editor-page-body,.full-width-control{width:100%}.scheme-sheets-select.ant-select{min-width:220px}.sheet-form-grid,.sheet-form-grid .ant-space-item,.sheet-form-grid .ant-form-item,.sheet-form-row,.sheet-form-row .ant-space-item{width:100%}.sheet-layer-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;width:100%}.scheme-editor{display:grid;gap:12px}.scheme-editor-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;align-items:start}.scheme-editor-sidepanel{display:grid;gap:16px;border:1px solid var(--border);border-radius:8px;background:var(--card);padding:14px;box-shadow:var(--flat-shadow)}.scheme-workflow-checklist{display:flex;flex-wrap:wrap;gap:6px}.scheme-workflow-step{display:inline-flex;align-items:center;min-height:28px;gap:6px;border:1px solid var(--border);border-radius:6px;background:#1e293b08;padding:4px 8px}.scheme-workflow-step.done{border-color:#10b9815c;background:#10b98114;color:#047857}.scheme-sidepanel-section{display:grid;gap:10px}.scheme-sidepanel-section .ant-select{width:100%}.scheme-tool-list.ant-radio-group{display:grid;gap:8px}.scheme-tool-list .ant-radio-button-wrapper{width:100%;border-inline-start-width:1px;border-radius:6px;text-align:left}.scheme-tool-list .ant-radio-button-wrapper:before{display:none}.scheme-editor-main{min-width:0}.scheme-editor-toolbar{position:static;display:flex;justify-content:flex-end;max-width:none;width:max-content;max-width:calc(100% - 16px);margin:8px 8px 0 auto;border:1px solid var(--border);border-radius:8px;background-color:#fffffff0;padding:6px;box-shadow:var(--flat-shadow)}.scheme-sheet-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px}.scheme-sheet-info-grid>div{display:grid;min-width:0;align-content:start;gap:3px}.scheme-sheet-info-grid>div:nth-child(2),.scheme-sheet-info-grid>div:nth-child(6){grid-column:span 2}.scheme-sheet-info-grid .ant-typography{overflow-wrap:anywhere}.scheme-info-button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted-foreground);cursor:pointer}.scheme-info-button:hover,.scheme-info-button:focus-visible{background:var(--accent);color:var(--primary)}@media(max-width:760px){.scheme-sheet-info-grid{grid-template-columns:1fr}.scheme-sheet-info-grid>div:nth-child(2),.scheme-sheet-info-grid>div:nth-child(6){grid-column:auto}}.scheme-editor-toolbar .ant-space{row-gap:4px}.scheme-canvas-wrap{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:var(--flat-shadow)}.scheme-canvas{display:block;width:100%;cursor:crosshair;touch-action:none}.scheme-mobile-tool-dock{position:absolute;top:8px;left:8px;z-index:6;display:none;max-width:calc(100% - 16px);gap:4px;overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:#fffffff2;padding:6px;box-shadow:var(--flat-shadow)}.scheme-mobile-tool-dock .ant-btn{flex:0 0 auto}.scheme-snap-overlay{position:absolute;left:10px;bottom:10px;z-index:4;display:flex;flex-wrap:wrap;max-width:calc(100% - 20px);gap:6px;pointer-events:none}.scheme-snap-overlay span{border:1px solid rgba(30,41,59,.12);border-radius:6px;background:#ffffffe6;color:var(--muted-foreground);font-size:.78rem;line-height:1.2;padding:4px 7px}.scheme-canvas-notice{position:absolute;left:12px;top:58px;z-index:7;display:grid;width:min(360px,calc(100% - 24px));gap:4px;border:1px solid rgba(217,119,6,.32);border-radius:8px;background:#fffbebf5;color:#92400e;padding:10px 12px;box-shadow:var(--flat-shadow)}.scheme-canvas-notice span{font-size:.86rem;line-height:1.35}.scheme-model-issues{display:grid;gap:8px}.scheme-model-issues.empty{display:flex;align-items:center;gap:8px;color:#047857}.scheme-model-issue{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;border:1px solid var(--border);border-radius:8px;background:#1e293b08;padding:8px}.scheme-model-issue>div{display:grid;min-width:0;gap:2px}.scheme-model-issue .ant-typography{min-width:0;overflow-wrap:anywhere}.scheme-model-issue.error{border-color:#dc262647;background:#fef2f2d6;color:#b91c1c}.scheme-model-issue.warning{border-color:#d9770647;background:#fffbebe6;color:#92400e}.scheme-model-issue.info{border-color:#2563eb38;background:#eff6ffd6;color:#1d4ed8}.scheme-coverings-room-title{max-width:min(100%,520px);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.scheme-covering-chip-list{width:100%}.scheme-covering-layer-row{align-items:stretch;padding-left:0}.scheme-covering-chip{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;width:100%;min-height:48px;gap:8px;border:1px solid var(--border);border-radius:8px;background:#f8fafcb8;padding:6px 8px}.scheme-covering-chip-image,.scheme-covering-chip-swatch{width:40px;height:40px;border:1px solid rgba(30,41,59,.1);border-radius:6px}.scheme-covering-chip-image{object-fit:cover}.scheme-covering-chip-swatch{display:grid;place-items:center;color:var(--muted-foreground)}.scheme-covering-chip-body{display:grid;min-width:0;gap:2px}.scheme-covering-chip-body .ant-typography{min-width:0}.scheme-covering-chip-unit{margin-inline-end:0;white-space:nowrap}.scheme-editor-status{display:flex;flex-wrap:wrap;gap:8px 16px;min-height:24px}.opening-popover,.plan-object-popover,.room-popover,.heated-floor-popover,.electrical-point-popover{position:absolute;z-index:5;display:grid;width:264px;gap:10px;border:1px solid var(--border);border-radius:8px;background:var(--popover);box-shadow:var(--shadow-lg);padding:12px}.opening-popover{z-index:5}.room-popover,.plan-object-popover,.heated-floor-popover,.electrical-point-popover{right:12px;top:12px;z-index:6;max-height:calc(100% - 24px);overflow:auto}.opening-popover-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.opening-popover label,.plan-object-popover label,.room-popover label,.heated-floor-popover label,.electrical-point-popover label{display:grid;gap:4px}.opening-popover label span,.plan-object-popover label span,.room-popover label span,.heated-floor-popover label span,.electrical-point-popover label span{color:var(--muted-foreground);font-size:.75rem;font-weight:600}.opening-popover .ant-select,.opening-popover .ant-input,.opening-popover .ant-input-number,.plan-object-popover .ant-select,.plan-object-popover .ant-input,.plan-object-popover .ant-input-number,.room-popover .ant-select,.room-popover .ant-input,.room-popover .ant-input-number,.heated-floor-popover .ant-select,.heated-floor-popover .ant-input,.heated-floor-popover .ant-input-number,.electrical-point-popover .ant-select,.electrical-point-popover .ant-input,.electrical-point-popover .ant-input-number{width:100%}.plan-object-popover{width:360px}.plan-object-popover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.plan-object-popover-dimensions{border:1px solid var(--border);border-radius:8px;background:var(--muted);grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.plan-object-popover-position{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-object-popover-quantity{grid-template-columns:minmax(0,1fr) repeat(2,minmax(0,1fr))}.plan-object-popover-label{grid-template-columns:1fr}.scheme-sheet-mode-panel{width:100%}.scheme-sheet-mode-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.scheme-sheet-legend{display:flex;flex-wrap:wrap;gap:10px 18px}.scheme-legend-item{display:inline-flex;align-items:center;gap:8px;color:var(--muted-foreground);font-size:.875rem;font-weight:500}.scheme-legend-line{display:inline-block;width:36px;height:0;border-top:3px solid var(--foreground)}.scheme-legend-line.demolition{border-top-color:var(--destructive);border-top-style:dashed}.scheme-legend-line.construction{border-top-color:var(--success);border-top-style:dashed}.scheme-legend-line.infill{border-top-color:var(--info);border-top-style:dashed}.scheme-legend-line.dimension{border-top-width:1px}.scheme-legend-line.door{border-top-color:var(--success)}.scheme-legend-line.fixture{border-top-color:#6f7478;border-top-width:8px;opacity:.45}.scheme-legend-line.flooring{border-top-color:#9b7448;border-top-width:8px;opacity:.55}.scheme-legend-line.ceiling{border-top-color:#d9a441;border-top-width:8px;opacity:.45}.scheme-legend-line.heated{border-top-color:var(--destructive);border-top-style:dashed}.scheme-legend-line.electrical{border-top-color:var(--destructive)}.scheme-legend-line.control{border-top-color:#4f5cc4;border-top-style:dashed}.scheme-editor-tabs.ant-tabs{width:100%}.scheme-editor-mobile-tab-select.ant-select{display:none;width:100%;margin-bottom:16px}.scheme-tab-stack{width:100%}.scheme-sheets-workspace{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr) minmax(240px,300px);gap:16px;align-items:stretch}.scheme-sheets-sidebar,.scheme-sheets-inspector,.scheme-sheets-canvas-panel{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--card);box-shadow:var(--flat-shadow)}.scheme-sheets-sidebar,.scheme-sheets-inspector{padding:14px}.scheme-sheets-canvas-panel{overflow:auto;background:var(--muted);padding:18px}.scheme-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.scheme-panel-heading>.ant-space{flex-wrap:wrap;justify-content:flex-end}.scheme-sheet-list-item-active{border-radius:8px;background:var(--accent)}.scheme-sheets-sidebar .ant-list-item{cursor:pointer;padding-inline:8px}.scheme-sheet-stage{display:grid;min-height:680px;place-items:start center}.scheme-sheet-paper{position:relative;width:min(100%,940px);min-width:720px;overflow:hidden;border:1px solid var(--border);background:var(--card);box-shadow:var(--flat-shadow-lg)}.scheme-sheet-frame{position:absolute;inset:4.8% 3.8%;border:2px solid var(--foreground);pointer-events:none}.scheme-sheet-meta{position:absolute;top:3.2%;left:4.8%;display:grid;gap:2px;max-width:44%;line-height:1.2}.scheme-sheet-viewport,.scheme-sheet-title-block,.scheme-sheet-table,.scheme-sheet-legend-block,.scheme-sheet-note-block{position:absolute;display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);background:var(--card);color:var(--foreground);font:inherit;overflow:hidden;text-align:left}.scheme-sheet-viewport{padding:0}.scheme-sheet-object-selected{outline:3px solid var(--primary);outline-offset:2px;opacity:.55}.scheme-sheet-plan-svg{width:100%;height:100%;background:linear-gradient(var(--primary) 1px,transparent 1px),linear-gradient(90deg,var(--primary) 1px,transparent 1px),var(--card);background-size:24px 24px;opacity:.12}.scheme-sheet-viewport-scale{position:absolute;right:8px;bottom:6px;border:1px solid var(--border);background:var(--popover);padding:2px 6px;font-size:.75rem;font-weight:700}.scheme-sheet-title-block{justify-content:center;gap:3px;padding:8px 10px;font-size:.75rem}.scheme-sheet-title-block strong{font-size:.875rem}.scheme-sheet-table{gap:2px;padding:8px;font-size:.68rem;line-height:1.25}.scheme-sheet-room-table{right:4.8%;top:29%;width:27%;height:19%}.scheme-sheet-door-table{right:4.8%;top:50%;width:27%;height:14%}.scheme-sheet-legend-block,.scheme-sheet-note-block{gap:3px;padding:7px;font-size:.7rem;line-height:1.25}.scheme-inspector-block{width:100%}.scheme-inspector-grid{display:grid;gap:8px}.scheme-inspector-grid div{display:grid;gap:2px}.scheme-inspector-grid span{color:var(--muted-foreground);font-size:.75rem;font-weight:600;text-transform:uppercase}.scheme-layer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.scheme-layer-row button{border:0;background:transparent;color:var(--foreground);cursor:pointer;padding:0;text-align:left}.scheme-print-preview{overflow:auto;display:grid;gap:24px}.scheme-print-sheet{width:min(100%,1120px);aspect-ratio:420 / 297;margin:0 auto;background:var(--card);color:var(--foreground);box-shadow:var(--shadow-lg)}.scheme-print-frame{display:grid;height:100%;grid-template-columns:minmax(0,1fr) 220px;grid-template-rows:minmax(0,1fr) 58px;gap:8px;border:2px solid var(--foreground);padding:10px}.scheme-print-frame-table{grid-template-columns:minmax(0,1fr) 260px}.scheme-print-main{min-width:0;min-height:0;border:1px solid var(--foreground)}.scheme-print-table-main{min-width:0;min-height:0;border:1px solid var(--foreground);padding:12px}.scheme-print-table-main h2{margin:6px 0 14px;color:var(--foreground);font-size:1.2rem}.scheme-print-aside{display:grid;align-content:start;gap:12px;border:1px solid var(--foreground);padding:8px}.scheme-print-plan{display:block;width:100%;height:100%;background:var(--card)}.finish-3d-sheet-body{position:relative;width:100%;height:100%;overflow:hidden;background:var(--card)}.finish-3d-preview-image{display:block;width:100%;height:100%;object-fit:contain}.finish-3d-axonometric{display:block;width:100%;height:100%;background:var(--card)}.finish-3d-canvas-bg{fill:var(--card)}.finish-3d-room-floor{fill:var(--muted);stroke:var(--border);stroke-width:3}.finish-3d-wall-surface{fill:var(--secondary);stroke:var(--muted-foreground);stroke-width:3}.finish-3d-callout polyline{fill:none;stroke:var(--primary);stroke-width:2}.finish-3d-callout rect{fill:var(--card);stroke:var(--primary);stroke-width:2}.finish-3d-callout text{fill:var(--primary);font-family:Geist Sans,system-ui,sans-serif;font-size:13px;font-weight:700}.finish-3d-room-table,.finish-3d-material-table{margin-top:8px}.finish-3d-room-table th,.finish-3d-room-table td,.finish-3d-material-table td{padding:4px 5px}.finish-3d-material-swatch{display:inline-block;width:12px;height:12px;border:1px solid var(--foreground)}.print-room{fill:#10b98114;stroke:#10b98173;stroke-width:20}.print-room-floor-plank,.print-room-floor-herringbone{fill:#d8bd8661}.print-room-floor-tile{fill:#c9cbc77a}.print-room-ceiling{fill:#f4f1e8b8}.print-room-ceiling-light{fill:#fff2b8ad;stroke:#d9a441b8}.print-heated-floor-zone rect{fill:#f43f5e3d;stroke:var(--destructive);stroke-dasharray:120 80;stroke-width:28}.print-heated-floor-zone text{fill:var(--foreground);font-family:Geist Sans,system-ui,sans-serif;font-size:130px;font-weight:700;text-anchor:middle}.print-wall{fill:none;stroke:var(--foreground);stroke-linecap:round;stroke-width:70;vector-effect:non-scaling-stroke}.print-wall-DEMOLISHED{stroke:var(--destructive);stroke-dasharray:160 100}.print-wall-NEW{stroke:var(--success);stroke-dasharray:80 80}.print-opening{stroke:var(--card);stroke-linecap:butt;stroke-width:110;vector-effect:non-scaling-stroke}.print-opening-DEMOLISHED{stroke:var(--destructive);stroke-dasharray:120 80}.print-opening-NEW{stroke:var(--success)}.print-opening-INFILL{stroke:var(--info);stroke-dasharray:80 60}.print-construction-mark{fill:var(--foreground);font-family:Geist Sans,system-ui,sans-serif;font-size:145px;font-weight:700;paint-order:stroke;stroke:var(--card);stroke-linejoin:round;stroke-width:44px;text-anchor:middle}.print-construction-mark-DEMOLISH{fill:var(--destructive)}.print-construction-mark-BUILD{fill:var(--success)}.print-construction-mark-INFILL{fill:var(--info)}.print-door-mark,.print-dimension{fill:var(--foreground);font-family:Geist Sans,system-ui,sans-serif;font-size:180px;font-weight:700;text-anchor:middle}.print-dimension{font-size:150px;font-weight:500}.print-plan-object rect{fill:#64748b47;stroke:var(--muted-foreground);stroke-width:24}.print-plan-object line{stroke:color-mix(in srgb,var(--muted-foreground) 62%,transparent);stroke-width:12}.print-control-link{stroke:var(--info);stroke-dasharray:110 90;stroke-width:16}.print-electrical-cable-route{stroke:#2563eb;stroke-linecap:round;stroke-linejoin:round;stroke-width:20}.print-electrical-point rect,.print-electrical-point circle{fill:#f43f5e14;stroke:var(--destructive);stroke-width:18}.print-electrical-point line{stroke:var(--destructive);stroke-width:12}.print-electrical-point text{fill:var(--foreground);font-family:Geist Sans,system-ui,sans-serif;font-weight:700;text-anchor:middle}.print-electrical-panel rect{fill:#faad141f;stroke:var(--warning);stroke-width:22}.print-electrical-panel.detailed .panel-body{fill:#faad141f;stroke:var(--warning);stroke-width:22}.print-electrical-panel.detailed .panel-meter,.print-electrical-panel.detailed .panel-breaker{fill:#ffffffeb;stroke:#92400e;stroke-width:14}.print-electrical-panel.detailed .panel-rail,.print-electrical-panel.detailed .panel-breaker-switch{stroke:#b45309;stroke-width:16}.print-electrical-panel line{stroke:var(--warning);stroke-width:16}.print-electrical-panel text{fill:var(--warning);font-family:Geist Sans,system-ui,sans-serif;font-size:150px;font-weight:700;text-anchor:middle}.print-electrical-panel.detailed .panel-meter-text,.print-electrical-panel.detailed .panel-note,.print-electrical-panel.detailed .panel-breaker-label{fill:#92400e;font-size:90px}.print-electrical-panel.detailed .panel-note{font-size:76px}.print-height-label{fill:var(--foreground);font-family:Geist Sans,system-ui,sans-serif;font-size:120px;font-weight:600;text-anchor:start}.print-object-mark{fill:var(--foreground);font-family:Geist Sans,system-ui,sans-serif;font-size:160px;font-weight:700;text-anchor:middle}.print-object-dimension line{stroke:#1111119e;stroke-dasharray:90 70;stroke-width:12}.print-object-dimension text{fill:var(--foreground);font-family:Geist Sans,system-ui,sans-serif;font-size:130px;font-weight:600;text-anchor:middle}.scheme-print-notes{margin:8px 0 0;padding-left:18px;font-size:.75rem}.scheme-print-door-table{width:100%;border-collapse:collapse;font-size:.68rem}.scheme-print-door-table th,.scheme-print-door-table td{border:1px solid var(--foreground);padding:3px 4px;text-align:left}.scheme-print-schedule-table{width:100%;border-collapse:collapse;font-size:.75rem}.scheme-print-schedule-table th,.scheme-print-schedule-table td{border:1px solid var(--foreground);padding:6px 8px;text-align:left;vertical-align:top}.scheme-print-schedule-table th{background:var(--muted);font-weight:700}.scheme-title-block{display:grid;grid-column:1 / -1;grid-template-columns:2fr 2fr 1fr;border:1px solid var(--foreground)}.scheme-title-block>div{display:grid;gap:2px;border-right:1px solid var(--foreground);padding:6px 8px}.scheme-title-block>div:last-child{border-right:0}.scheme-title-block strong,.scheme-title-block span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheme-title-block span{font-size:.75rem}@page{size:A3 landscape;margin:0}@media print{body{background:var(--card)}body *{visibility:hidden}.scheme-print-preview,.scheme-print-preview *{visibility:visible}.scheme-print-preview{position:absolute;inset:0;overflow:visible;display:block}.scheme-print-sheet{width:420mm;height:297mm;box-shadow:none}.scheme-print-sheet-break{break-before:page;page-break-before:always}}@media(max-width:1120px){.page-shell,.private-content{padding:18px}.brand-mark{width:38px;height:38px;border-radius:10px}.private-header-subtitle.ant-typography{display:none}.app-mobile-brand .private-header-title.ant-typography{max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-mobile-bar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--card)}.tariff-expiry-warning-wrap{top:64px;left:50%;width:max-content;max-width:calc(100vw - 36px)}.tariff-expiry-warning.ant-alert{min-height:32px;padding:5px 10px}.tariff-expiry-warning .ant-alert-message{font-size:.75rem;line-height:18px}.app-mobile-brand{display:flex;min-width:0;align-items:center;justify-content:center;gap:10px}.app-sider.ant-layout-sider{display:none}.app-body{min-height:calc(100vh - 59px)}.public-view{grid-template-columns:1fr;gap:24px}.public-view .placeholder-view{min-height:auto;padding:32px 0 8px}.login-card .ant-card-body{padding:24px}.page-heading-row{grid-template-columns:1fr;align-items:start}.page-heading-row>.ant-btn{width:100%}.billing-result-panel{grid-template-columns:1fr;gap:16px;padding:16px}.billing-result-panel>.ant-btn{width:100%}.project-heading-actions{width:100%}.project-heading-actions.ant-space{display:grid;grid-template-columns:1fr 1fr}.project-heading-actions .ant-space-item,.project-heading-actions .ant-btn{width:100%}.scheme-editor-layout{display:flex;flex-direction:column}.scheme-editor-main{position:sticky;top:8px;z-index:12;order:-1}.scheme-editor-sidepanel{grid-template-columns:1fr;gap:10px;padding:10px}.scheme-sidepanel-tools{display:none}.scheme-mobile-tool-dock{display:flex}.scheme-editor-toolbar{position:absolute;top:auto;right:8px;bottom:8px;max-width:calc(100% - 140px)}.scheme-editor-toolbar .ant-space{flex-wrap:nowrap;overflow-x:auto}.scheme-snap-overlay{bottom:58px}.scheme-canvas-notice{top:56px;font-size:.86rem}.scheme-covering-chip{grid-template-columns:40px minmax(0,1fr) auto}.scheme-covering-chip-unit{grid-column:2 / 3;justify-self:start}.scheme-editor-mobile-tab-select.ant-select{display:block}.scheme-editor-tabs.ant-tabs>.ant-tabs-nav{display:none}.scheme-sheets-workspace{grid-template-columns:1fr}.scheme-sheets-sidebar,.scheme-sheets-inspector,.scheme-sheets-canvas-panel{width:100%}.scheme-sheet-stage{min-height:480px;justify-content:start;overflow-x:auto}.scheme-sheet-paper{min-width:680px}.opening-popover,.plan-object-popover,.room-popover,.heated-floor-popover,.electrical-point-popover{position:static;width:auto;margin:12px}.plan-object-popover-grid,.plan-object-popover-dimensions,.plan-object-popover-position,.plan-object-popover-quantity{grid-template-columns:1fr}.page-heading h1.ant-typography{font-size:1.5rem}.work-page{width:100%}.work-page .ant-card-body{padding:16px}.work-page .ant-card-head{padding:20px 16px}.work-page .ant-card-head-wrapper{align-items:stretch;flex-direction:column;gap:12px}.work-page .ant-card-head-title{min-width:0;overflow:visible;padding:0;white-space:normal}.work-page .ant-card-head-title .ant-typography{white-space:normal;overflow-wrap:anywhere}.work-page .ant-card-extra{width:100%;margin-inline-start:0;padding:0}.work-page .ant-card-extra>.ant-space{display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.work-page .ant-card-extra>.ant-space>.ant-space-item,.work-page .ant-card-extra .ant-btn{width:100%}.field-page-header,.field-project-summary,.field-work-card-header,.field-list-item{flex-direction:column;align-items:stretch}.field-date-control,.field-date-control .ant-picker,.field-date-control .ant-btn,.field-project-summary .ant-space,.field-project-summary .ant-space-item,.field-project-summary .ant-tag,.field-room-select.ant-select{width:100%}.field-project-summary{padding:14px}.field-room-summary,.field-work-meta,.field-work-controls{grid-template-columns:1fr}.field-work-card,.field-panel{padding:12px}.field-status-select.ant-select{width:100%}.field-inline-form{grid-template-columns:1fr}.field-inline-form .ant-btn,.field-work-card .ant-btn,.field-panel .ant-upload-wrapper,.field-panel .ant-upload,.field-panel .ant-upload .ant-btn{width:100%}.project-director-dashboard{padding:16px}.director-dashboard-header,.director-activity-item,.director-operations-panel,.director-feature-panel,.project-list-controls{grid-template-columns:1fr}.director-stat-grid,.director-feature-usage{grid-template-columns:repeat(2,minmax(0,1fr))}.director-feature-usage-item{grid-template-columns:auto minmax(0,1fr)}.director-feature-usage-item .ant-typography:last-child{grid-column:2}.project-list-controls .ant-segmented{max-width:100%;overflow-x:auto}.organization-settings-top-row{grid-template-columns:1fr}.organization-settings-logo-row{align-items:flex-start;flex-direction:column}.organization-settings-form-grid,.estimate-title-row{grid-template-columns:1fr}.estimate-version-grid,.estimate-filter-grid,.estimate-plan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-lines-desktop{display:none}.estimate-lines-mobile{display:grid;gap:12px}.estimate-line-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-line-card-grid>:nth-child(1),.estimate-line-card-grid>:nth-child(2){grid-column:1 / -1}.estimate-sticky-actions{align-items:stretch;flex-direction:column;right:8px;bottom:8px;width:calc(100vw - 16px)}.estimate-sticky-actions>.ant-space,.estimate-sticky-actions .ant-btn{width:100%}.desktop-data-view{display:none}.mobile-data-view{display:grid;gap:12px}.mobile-data-pagination{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;margin-top:4px}.mobile-data-tile{display:grid;width:100%;max-width:100%;min-width:0;overflow:hidden;gap:14px;border:1px solid var(--border);border-radius:12px;background:var(--card);padding:14px;box-shadow:var(--flat-shadow)}.mobile-tile-header{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:12px}.mobile-tile-header .ant-space{min-width:0}.mobile-tile-header .ant-space-item,.mobile-tile-header .ant-typography{min-width:0;overflow-wrap:anywhere}.mobile-tile-header .ant-tag{margin-inline-end:0;flex-shrink:0}.mobile-tile-meta,.mobile-tile-grid{display:grid;min-width:0;gap:4px}.mobile-data-tile .ant-space,.mobile-data-tile .ant-space-item,.mobile-data-tile .ant-typography,.mobile-data-tile .ant-tag{min-width:0;max-width:100%}.mobile-data-tile .ant-tag{height:auto;white-space:normal;overflow-wrap:anywhere}.mobile-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mobile-tile-grid>div{display:grid;min-width:0;gap:4px}.mobile-tile-grid>div>span:first-child{color:var(--muted-foreground);font-size:.75rem;font-weight:600}.mobile-tile-meta>.ant-typography,.mobile-tile-grid>.ant-typography{display:block;color:var(--muted-foreground);font-size:.75rem;font-weight:600}.admin-user-mobile-admin{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-check{align-items:flex-start}}@media(max-width:420px){.page-shell,.private-content{padding:14px}.tariff-expiry-warning-wrap{max-width:calc(100vw - 28px)}.page-title.ant-typography{font-size:2.55rem}.page-copy.ant-typography{font-size:1rem}.public-header .ant-btn{max-width:66vw}.login-card .ant-card-body{padding:18px}.work-page .ant-card-extra>.ant-space{grid-template-columns:1fr}.public-mobile-fields{grid-template-columns:1fr}}.estimate-room-dims{margin-bottom:12px}.estimate-dim-label{display:inline-flex;flex-direction:column;gap:2px}.estimate-dim-label .ant-input-number{width:120px}.estimate-room-areas{display:inline-flex;flex-direction:column;gap:2px;padding:4px 12px;background:var(--muted);border-radius:6px}.page-shell-landing{gap:0;padding:0;background:var(--background)}.landing-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.landing-header-inner{display:flex;width:min(100%,1120px);align-items:center;justify-content:space-between;margin:0 auto;padding:12px 24px;gap:16px}.landing-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.landing-brand-name{font-size:1.1rem;font-weight:700;color:var(--foreground)}.brand-mark--small{width:32px;height:32px;font-size:.85rem;border-radius:8px}.landing-nav{display:flex;gap:24px}.landing-nav-link{color:var(--muted-foreground);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s}.landing-nav-link:hover{color:var(--foreground)}.landing-header-actions{display:flex;gap:8px;flex-shrink:0}.landing-hero{display:flex;width:min(100%,1120px);min-height:60vh;align-items:center;margin:0 auto;padding:80px 24px 60px;position:relative}.landing-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom right,rgba(13,148,136,.05),transparent,rgba(16,185,129,.05));pointer-events:none}.landing-hero-content{max-width:720px;position:relative}.landing-hero-status{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.05em}.landing-hero-status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary);animation:pulse-ring 2s infinite}.landing-hero-title.ant-typography{margin:16px 0;font-size:clamp(2.5rem,6vw,4rem);line-height:1.05;letter-spacing:-.02em}.landing-hero-title .highlight-primary{color:var(--primary)}.landing-hero-subtitle.ant-typography{display:block;max-width:620px;margin-top:16px;color:var(--muted-foreground);font-size:1.15rem;line-height:1.7}.landing-hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.landing-hero-pill{display:inline-flex;align-items:center;font-size:.75rem;padding:4px 10px;border-radius:9999px;font-weight:500;white-space:nowrap}.landing-hero-pill--primary{background:#0d94881a;color:var(--primary)}.landing-hero-pill--success{background:#10b9811a;color:var(--success)}.landing-hero-pill--warning{background:#f59e0b1a;color:var(--warning)}.landing-hero-pill--info{background:#06b6d41a;color:var(--info)}.landing-hero-actions{margin-top:32px}.landing-section{padding:80px 24px}.landing-section-inner{width:min(100%,1120px);margin:0 auto}.landing-section-title.ant-typography{margin:8px 0 24px;color:var(--foreground);font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;letter-spacing:-.025em;font-weight:700}.landing-section-subtitle.ant-typography{display:block;max-width:660px;margin-bottom:40px;color:var(--muted-foreground);font-size:1.05rem;line-height:1.6}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.feature-card{padding:28px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--flat-shadow);transition:box-shadow .2s,transform .2s}.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.feature-icon{font-size:2rem;margin-bottom:12px;line-height:1}.feature-title.ant-typography{margin:0 0 8px;color:var(--foreground);font-size:1.15rem;font-weight:700}.feature-description.ant-typography{display:block;color:var(--muted-foreground);font-size:.875rem;line-height:1.6}.landing-how-it-works{background:var(--muted)}.how-it-works-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;margin-top:40px}.how-it-works-step{text-align:center;padding:24px 16px}.step-number{display:grid;width:48px;height:48px;place-items:center;margin:0 auto 16px;border-radius:50%;background:var(--primary);color:var(--primary-foreground);font-size:1.25rem;font-weight:800}.step-title.ant-typography{margin:0 0 8px;color:var(--foreground);font-size:1.1rem;font-weight:700}.step-description.ant-typography{display:block;color:var(--muted-foreground);font-size:.875rem;line-height:1.6}.tariffs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;align-items:start}.tariff-card.ant-card{border:1px solid var(--border);border-radius:12px;background:var(--card);overflow:visible;position:relative;box-shadow:var(--flat-shadow);transition:box-shadow .2s,transform .2s}.tariff-card.ant-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.tariff-card--standard.ant-card{border-color:var(--primary);border-width:2px}.tariff-card--premium.ant-card{border-color:var(--warning);border-width:2px}.tariff-card:not(.tariff-card--standard):not(.tariff-card--premium).ant-card{border-color:var(--border)}.tariff-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:4px 16px;border-radius:20px;background:var(--primary);color:var(--primary-foreground);font-size:.75rem;font-weight:700;white-space:nowrap}.tariff-badge--premium{background:var(--warning)}.tariff-badge--basic{background:var(--muted-foreground)}.tariff-name.ant-typography{margin-top:0;margin-bottom:8px;font-size:1.3rem;text-align:center}.tariff-price{text-align:center;font-size:1.6rem;font-weight:800;color:var(--foreground);margin-bottom:8px}.tariff-description.ant-typography{display:block;text-align:center;color:var(--muted-foreground);font-size:.875rem;margin-bottom:20px}.tariff-features-list{margin-bottom:24px}.tariff-feature{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:.875rem}.tariff-feature--active span{color:var(--foreground)}.tariffs-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;grid-column:1 / -1;padding:64px 0}.tariffs-error{display:flex;flex-direction:column;align-items:center;justify-content:center;grid-column:1 / -1;padding:64px 0;text-align:center}.tariffs-note{margin-top:32px;padding:16px 24px;background:var(--muted);border-radius:12px;text-align:center}.tariffs-note .ant-typography{font-size:.875rem}.landing-faq{background:var(--muted)}.faq-list{max-width:720px;margin:0 auto}.faq-collapse.ant-collapse{background:transparent}.faq-collapse .ant-collapse-item{margin-bottom:8px;border:1px solid var(--border)!important;border-radius:12px!important;background:var(--card);overflow:hidden}.faq-collapse .ant-collapse-header{padding:16px 20px!important;font-weight:600;font-size:.875rem}.faq-collapse .ant-collapse-content-box{padding:0 20px 16px!important;color:var(--muted-foreground);font-size:.875rem;line-height:1.6}.landing-cta{text-align:center}.landing-cta-inner{display:flex;flex-direction:column;align-items:center}.landing-cta-title.ant-typography{margin:0 0 12px;color:var(--foreground);font-size:clamp(1.8rem,3.5vw,2.4rem)}.landing-cta-subtitle.ant-typography{display:block;color:var(--muted-foreground);font-size:1.05rem;margin-bottom:24px}.landing-footer{border-top:1px solid var(--border);background:var(--card)}.landing-footer-inner{display:flex;width:min(100%,1120px);align-items:center;justify-content:space-between;margin:0 auto;padding:24px;gap:16px}.landing-footer-brand{display:flex;align-items:center;gap:10px}.landing-footer-name.ant-typography{font-size:.875rem;font-weight:600;color:var(--muted-foreground)}.landing-footer-copy.ant-typography{font-size:.75rem;color:var(--muted-foreground)}.landing-footer-copy a{color:inherit;text-decoration:underline}.landing-footer-legal{display:flex;min-width:0;flex:1;flex-wrap:wrap;justify-content:center;gap:8px 16px}.landing-footer-legal a{color:var(--muted-foreground);font-size:.75rem}.landing-footer-legal a:hover,.landing-footer-legal a:focus-visible{color:var(--primary)}.landing-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:24px}.landing-modal{width:100%;max-width:440px;margin:auto 0;animation:scaleIn .2s ease-out}.landing-modal .login-card{max-height:calc(100dvh - 48px);overflow-y:auto}.login-card-header{display:flex;align-items:center;justify-content:space-between}.login-card-header .ant-typography{margin:0}.login-card-close{font-size:1.2rem;color:var(--muted-foreground);cursor:pointer}.login-card-close:hover{color:var(--foreground)}@media(max-width:820px){.landing-nav{display:none}.landing-hero{min-height:50vh;padding:60px 24px 40px}.landing-section{padding:60px 24px}.features-grid{grid-template-columns:1fr}.how-it-works-steps{grid-template-columns:1fr 1fr}.tariffs-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}.landing-footer-inner{flex-direction:column;text-align:center}}@media(max-width:560px){.landing-overlay{padding:12px}.landing-modal .login-card{max-height:calc(100dvh - 24px)}.landing-modal .login-card .ant-card-body{padding:24px 20px}.landing-header-actions .ant-btn:not(:last-child){display:none}.how-it-works-steps{grid-template-columns:1fr}.landing-hero-title.ant-typography{font-size:2rem}}.page-shell-landing{--landing-bg: #f5f7f6;--landing-ink: #16222c;--landing-muted: #61717c;--landing-subtle: #eef3f1;--landing-line: rgba(22, 34, 44, .12);--landing-panel: #ffffff;--landing-charcoal: #101820;--landing-charcoal-soft: #172430;--landing-teal: var(--primary);--landing-teal-dark: #0f766e;--landing-teal-soft: #ccfbf1;--landing-success: var(--success);--landing-shadow: 0 24px 70px rgba(15, 23, 42, .14);--landing-shadow-soft: 0 12px 34px rgba(15, 23, 42, .08);gap:0;padding:0;overflow-x:hidden;color:var(--landing-ink);background:var(--landing-bg)}.page-shell-landing .section-label.ant-typography{display:inline-flex;align-items:center;color:var(--landing-teal-dark);font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.landing-header{border-bottom:1px solid rgba(226,232,240,.82);background:#f8fafbe6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.landing-header-inner,.landing-section-inner,.landing-footer-inner{width:min(100%,1180px)}.landing-header-inner{padding:12px 28px}.landing-brand-name{color:var(--landing-ink);font-size:1rem;font-weight:700;letter-spacing:0}.landing-nav{gap:22px}.landing-nav-link{color:var(--landing-muted);transition:color .15s ease}.landing-nav-link:hover{color:var(--landing-ink)}.landing-mobile-nav{display:none}.page-shell-landing #workspace,.page-shell-landing #workflow,.page-shell-landing #scheme,.page-shell-landing #execution,.page-shell-landing #client,.page-shell-landing #team,.page-shell-landing #tariffs{scroll-margin-top:76px}.landing-hero{position:relative;width:auto;min-height:0;margin:0;overflow:hidden;padding:62px 28px 70px;color:#fff;background-color:var(--landing-charcoal);background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px}.landing-hero:before{content:none}.landing-hero-inner{display:flex;flex-direction:column;gap:36px;position:relative;z-index:1}.landing-hero-copy{max-width:900px}.landing-hero .section-label.ant-typography{color:#6ee7dc}.landing-hero-title.ant-typography{max-width:920px;margin:16px 0 0;color:#fff;font-size:3.45rem;font-weight:760;letter-spacing:0;line-height:1.02}.landing-hero-subtitle.ant-typography{display:block;max-width:780px;margin:20px 0 0;color:#ffffffbd;font-size:1.1rem;line-height:1.65}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.landing-hero-actions .ant-btn{box-shadow:none!important}.landing-hero-actions .ant-btn-default{color:#fff;border-color:#ffffff57;background:#ffffff0f}.landing-hero-actions .ant-btn-default:hover{color:#fff!important;border-color:#ffffff75!important;background:#ffffff1a!important}.landing-hero-actions .ant-btn-default:focus-visible{color:#fff!important;border-color:#ffffff85!important;background:#ffffff1a!important}.landing-hero-metrics{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.landing-hero-metrics span{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;color:#ffffffc7;font-size:.82rem;font-weight:600;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:#ffffff0b}.landing-product-preview{overflow:hidden;color:var(--landing-ink);border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#f8fafb;box-shadow:0 34px 90px #0000005c}.landing-preview-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:16px 18px;border-bottom:1px solid var(--landing-line);background:#fff}.landing-preview-topbar strong{display:block;margin-top:3px;color:var(--landing-ink);font-size:.98rem;line-height:1.35}.landing-preview-kicker.ant-typography{display:block;color:var(--landing-muted);font-size:.75rem}.landing-preview-layout{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:0;min-height:520px}.landing-preview-plan{display:flex;min-width:0;flex-direction:column;padding:18px;background:#fff}.landing-scheme-board-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--landing-muted);font-size:.82rem}.landing-scheme-board-header strong{color:var(--landing-teal-dark);font-size:.82rem}.landing-plan-svg{display:block;width:100%;height:auto;min-width:0}.landing-plan-labels text{font-size:18px;font-weight:760;letter-spacing:0}.landing-preview-panels{display:flex;min-width:0;flex-direction:column;gap:12px;padding:18px;border-left:1px solid var(--landing-line);background:#f5f7f6}.landing-preview-panel{padding:14px;border:1px solid rgba(22,34,44,.1);border-radius:8px;background:#fff}.landing-preview-panel>.ant-typography{display:block;margin-bottom:10px;color:var(--landing-muted);font-size:.78rem}.landing-preview-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;color:var(--landing-muted);font-size:.82rem;border-top:1px solid rgba(22,34,44,.08)}.landing-preview-row strong{color:var(--landing-ink)}.landing-section{padding:88px 28px}.landing-section-title.ant-typography{max-width:820px;margin:10px 0 0;color:var(--landing-ink);font-size:2.38rem;font-weight:740;letter-spacing:0;line-height:1.12}.landing-section-subtitle.ant-typography{display:block;max-width:720px;margin:18px 0 0;color:var(--landing-muted);font-size:1rem;line-height:1.68}.landing-section-heading{margin-bottom:34px}.landing-workspace{background:var(--landing-bg)}.landing-workspace-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.landing-workspace-card{min-height:256px;padding:22px;border:1px solid var(--landing-line);border-radius:8px;background:var(--landing-panel);box-shadow:var(--landing-shadow-soft)}.landing-workflow-section{background:#fff}.landing-workflow-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.landing-workflow-stage{min-height:244px;padding:20px;border:1px solid var(--landing-line);border-top:3px solid var(--landing-teal);border-radius:8px;background:var(--landing-panel)}.landing-workflow-stage>span{display:inline-flex;margin-bottom:34px;color:var(--landing-teal-dark);font-size:.8rem;font-weight:800}.landing-workflow-stage h4.ant-typography{margin:0 0 10px;color:var(--landing-ink);font-size:1rem;line-height:1.34}.landing-workflow-stage>.ant-typography{color:var(--landing-muted);font-size:.88rem;line-height:1.55}.landing-card-icon{display:grid;width:42px;height:42px;place-items:center;margin-bottom:20px;color:var(--landing-teal-dark);font-size:1.15rem;border:1px solid rgba(13,148,136,.18);border-radius:8px;background:var(--landing-teal-soft)}.landing-card-note.ant-typography{display:block;margin-bottom:8px;color:var(--landing-muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:0}.landing-card-title.ant-typography{margin:0 0 10px;color:var(--landing-ink);font-size:1.08rem;font-weight:720;line-height:1.3}.landing-card-description.ant-typography{display:block;color:var(--landing-muted);font-size:.9rem;line-height:1.58}.landing-scheme-section{background:#eef3f1}.landing-scheme-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:42px}.landing-layer-list{display:grid;gap:12px;margin-top:28px}.landing-layer-row{display:grid;grid-template-columns:12px minmax(0,1fr);gap:12px;align-items:start;padding:14px 0;border-top:1px solid rgba(22,34,44,.12)}.landing-layer-row>span{width:9px;height:9px;margin-top:8px;border-radius:50%;background:var(--landing-teal)}.landing-layer-row strong{display:block;margin-bottom:3px;color:var(--landing-ink);font-size:.95rem}.landing-layer-row .ant-typography{color:var(--landing-muted);font-size:.9rem}.landing-scheme-board{overflow:hidden;padding:18px;border:1px solid rgba(22,34,44,.12);border-radius:8px;background:#fff;box-shadow:var(--landing-shadow)}.landing-execution-section{background:var(--landing-bg)}.landing-execution-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.landing-execution-card{min-height:238px;padding:22px;border:1px solid var(--landing-line);border-radius:8px;background:var(--landing-panel);box-shadow:var(--landing-shadow-soft)}.landing-execution-card h4.ant-typography{margin:0 0 10px;color:var(--landing-ink);font-size:1.04rem;line-height:1.35}.landing-execution-card>.ant-typography{color:var(--landing-muted);font-size:.9rem;line-height:1.58}.landing-client-section{color:#fff;background:var(--landing-charcoal)}.landing-client-inner{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:42px;align-items:start}.landing-client-section .section-label.ant-typography{color:#6ee7dc}.landing-client-section .landing-section-title.ant-typography{color:#fff}.landing-client-section .landing-section-subtitle.ant-typography{color:#ffffffb8}.landing-client-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.landing-client-step{min-height:250px;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0b}.landing-client-step>span{display:inline-flex;margin-bottom:38px;color:#6ee7dc;font-size:.82rem;font-weight:800}.landing-client-step h4.ant-typography{margin:0 0 10px;color:#fff;font-size:1.05rem;line-height:1.32}.landing-client-step .ant-typography{color:#ffffffb8;font-size:.9rem;line-height:1.56}.landing-control-section{background:#fff}.landing-control-intro{margin-bottom:34px}.landing-control-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}.landing-control-list{display:grid;gap:14px}.landing-control-item{display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;padding:18px;border:1px solid var(--landing-line);border-radius:8px;background:#fff}.landing-control-icon{display:grid;width:46px;height:46px;place-items:center;color:var(--landing-teal-dark);font-size:1.1rem;border-radius:8px;background:var(--landing-teal-soft)}.landing-control-item h4.ant-typography{margin:0 0 7px;color:var(--landing-ink);font-size:1rem;line-height:1.3}.landing-control-item .ant-typography{color:var(--landing-muted);font-size:.9rem;line-height:1.55}.landing-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.landing-role-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;min-height:178px;padding:20px;border:1px solid var(--landing-line);border-radius:8px;background:#fff}.landing-role-index.ant-typography{display:block;margin-bottom:6px;color:var(--landing-teal-dark);font-size:.72rem;font-weight:700;text-transform:uppercase}.landing-role-card h4.ant-typography{margin:0 0 7px;color:var(--landing-ink);font-size:1rem;line-height:1.3}.landing-role-card div>.ant-typography:last-child{color:var(--landing-muted);font-size:.88rem;line-height:1.55}.landing-tariffs{background:var(--landing-bg)}.tariffs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.tariff-card.ant-card{height:100%;overflow:visible;position:relative;border:1px solid var(--landing-line);border-radius:8px;background:#fff;box-shadow:var(--landing-shadow-soft);transition:box-shadow .18s ease,transform .18s ease}.tariff-card .ant-card-body{display:flex;min-height:100%;flex-direction:column;padding:28px 24px 24px}.tariff-card.ant-card:hover{box-shadow:var(--landing-shadow);transform:translateY(-2px)}.tariff-card--standard.ant-card{border-color:#0d948885;border-width:2px}.tariff-card--premium.ant-card{border-color:#f59e0b80;border-width:2px}.tariff-card:not(.tariff-card--standard):not(.tariff-card--premium).ant-card{border-color:var(--landing-line)}.tariff-badge{position:absolute;top:14px;right:14px;left:auto;transform:none;padding:5px 9px;color:var(--landing-teal-dark);font-size:.72rem;font-weight:700;line-height:1;white-space:nowrap;border:1px solid rgba(13,148,136,.2);border-radius:999px;background:var(--landing-teal-soft)}.tariff-badge--premium{color:#8a5a07;border-color:#f59e0b42;background:#fef3c7}.tariff-badge--basic{color:var(--landing-muted);border-color:#16222c1f;background:#f1f5f9}.tariff-name.ant-typography{max-width:calc(100% - 92px);margin:0 0 12px;color:var(--landing-ink);font-size:1.28rem;font-weight:740;line-height:1.25;text-align:left}.tariff-price{margin-bottom:12px;color:var(--landing-ink);font-size:1.65rem;font-weight:800;line-height:1.15;text-align:left}.tariff-annual-price{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;color:var(--landing-muted);font-size:.9rem;line-height:1.35}.tariff-annual-price span{font-weight:700;color:var(--landing-ink)}.tariff-promo{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;padding:9px 10px;color:#7a4a04;font-size:.86rem;line-height:1.35;border:1px solid rgba(245,158,11,.28);border-radius:8px;background:#fffbeb}.tariff-promo .anticon{margin-top:2px;color:#b77905}.tariff-value.ant-typography{display:block;min-height:62px;margin-bottom:12px;color:var(--landing-muted);font-size:.92rem;line-height:1.5}.tariff-description.ant-typography{display:block;margin-bottom:18px;color:var(--landing-muted);font-size:.86rem;line-height:1.5;text-align:left}.tariff-features-list{display:grid;gap:8px;margin:4px 0 24px}.tariff-feature-label.ant-typography{display:block;margin-bottom:3px;color:var(--landing-ink);font-size:.78rem;font-weight:700}.tariff-feature-inheritance{display:flex;align-items:flex-start;gap:8px;margin-bottom:4px;padding:9px 10px;color:var(--landing-teal-dark);font-size:.86rem;font-weight:650;line-height:1.35;border:1px solid rgba(13,148,136,.22);border-radius:8px;background:#ccfbf185}.tariff-feature-inheritance .anticon{flex:0 0 auto;margin-top:2px;color:var(--landing-teal-dark)}.tariff-feature{display:flex;align-items:flex-start;gap:8px;padding:0;color:var(--landing-muted);font-size:.86rem;line-height:1.35}.tariff-feature--active span{color:var(--landing-ink)}.tariff-cta{margin-top:auto}.tariffs-loading,.tariffs-error{min-height:220px;padding:48px 0}.tariffs-note{max-width:760px;margin:24px auto 0;padding:14px 18px;color:var(--landing-muted);text-align:center;border:1px solid var(--landing-line);border-radius:8px;background:#ffffff9e}.tariffs-note .ant-typography{color:var(--landing-muted);font-size:.86rem}.landing-final-cta{text-align:center;background:#fff}.landing-final-cta-inner{display:flex;flex-direction:column;align-items:center}.landing-final-cta .landing-section-title.ant-typography{max-width:780px}.landing-cta-subtitle.ant-typography{display:block;max-width:640px;margin:18px 0 24px;color:var(--landing-muted);font-size:1rem;line-height:1.6}.landing-footer{border-top:1px solid var(--landing-line);background:#fff}.landing-footer-inner{padding:24px 28px}.landing-footer-name.ant-typography,.landing-footer-copy.ant-typography{color:var(--landing-muted)}.landing-overlay{padding:24px;background:#101820ad;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overscroll-behavior:contain}.landing-modal:focus-visible{outline:3px solid rgba(13,148,136,.45);outline-offset:4px}.login-card-close{color:var(--landing-muted)}.login-card-close:hover{color:var(--landing-ink)}@media(max-width:1120px){.landing-preview-layout{grid-template-columns:minmax(0,1fr)}.landing-preview-panels{grid-column:1 / -1;display:block;border-top:1px solid var(--landing-line);border-left:0}.landing-workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-workflow-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-execution-grid,.landing-role-grid,.tariffs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.landing-header-inner{padding:10px 18px}.landing-header-actions .ant-btn{max-width:190px;overflow:hidden;text-overflow:ellipsis}.landing-mobile-nav{display:flex;width:100%;gap:8px;overflow-x:auto;padding:9px 18px 10px;border-bottom:1px solid var(--landing-line);background:#f8fafbf5;scrollbar-width:none}.landing-mobile-nav::-webkit-scrollbar{display:none}.landing-mobile-nav a{flex:0 0 auto;padding:6px 10px;color:var(--landing-muted);font-size:.8rem;font-weight:650;text-decoration:none;border:1px solid var(--landing-line);border-radius:999px;background:#fff}.landing-hero{padding:46px 18px 56px}.landing-hero-title.ant-typography{font-size:2.45rem}.landing-section{padding:64px 18px}.landing-section-title.ant-typography{font-size:2rem}.landing-preview-layout,.landing-workflow-steps,.landing-execution-grid,.landing-role-grid{grid-template-columns:1fr}.landing-workflow-stage,.landing-execution-card,.landing-role-card{min-height:0}.landing-scheme-grid,.landing-client-inner,.landing-control-grid{grid-template-columns:1fr;gap:30px}.landing-client-flow{grid-template-columns:1fr}.landing-client-step{min-height:0}.landing-client-step>span{margin-bottom:24px}.tariffs-grid{grid-template-columns:1fr;max-width:460px;margin:0 auto}}@media(max-width:560px){.landing-brand-name{display:none}.landing-header-actions .ant-btn:not(:last-child){display:inline-flex}.landing-header-actions .ant-btn{max-width:142px;padding-inline:12px}.landing-hero-title.ant-typography{font-size:2rem}.landing-hero-subtitle.ant-typography,.landing-section-subtitle.ant-typography,.landing-cta-subtitle.ant-typography{font-size:.95rem}.landing-hero-actions,.landing-hero-actions .ant-btn{width:100%}.landing-hero-metrics{display:grid;grid-template-columns:1fr}.landing-preview-panels,.landing-workspace-grid{grid-template-columns:1fr}.landing-preview-plan,.landing-preview-panels{padding:12px}.landing-plan-labels text{font-size:20px}.landing-workspace-card,.landing-control-item,.landing-client-step{padding:18px}.landing-control-item{grid-template-columns:40px minmax(0,1fr);gap:12px}.landing-control-icon{width:40px;height:40px}}.deferred-visualization{min-width:0}.deferred-visualization-placeholder{display:flex;min-height:420px;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:28px;color:var(--muted-foreground);text-align:center;border:1px dashed var(--border);border-radius:8px;background:color-mix(in srgb,var(--muted) 56%,transparent)}.deferred-visualization-placeholder>.anticon{color:var(--primary);font-size:1.5rem}.deferred-visualization-placeholder>.ant-typography{max-width:360px;color:inherit;line-height:1.55}.landing-visualization-board .deferred-visualization-placeholder{min-height:520px;color:var(--landing-muted);border-color:var(--landing-line);background:#f6f3ed}.public-visualization-section .deferred-visualization-placeholder{color:var(--public-muted);border-color:var(--public-line-strong);background:var(--public-surface-strong)}@media(max-width:820px){.landing-visualization-board .deferred-visualization-placeholder{min-height:430px}}@media(max-width:560px){.landing-role-card{grid-template-columns:40px minmax(0,1fr);gap:12px}.landing-visualization-board .deferred-visualization-placeholder,.deferred-visualization-placeholder{min-height:320px}}@media(prefers-reduced-motion:reduce){.page-shell-landing,.public-page{scroll-behavior:auto}.landing-modal,.tariff-card.ant-card{animation:none;transition:none}}.landing-real-plan-frame{display:block;min-height:350px;overflow:hidden;border:1px solid rgba(22,34,44,.08);border-radius:8px;background:#fff;box-shadow:none}.landing-preview-plan .landing-real-plan-frame{flex:1}.landing-real-plan-frame .scheme-print-plan{width:100%;height:100%;background:#fff}.landing-scheme-canvas{cursor:default;pointer-events:none}.landing-real-plan-frame .print-room{fill:#0d948814;stroke:#0d948842}.landing-real-plan-frame .print-room-floor-plank,.landing-real-plan-frame .print-room-floor-herringbone{fill:#d8bd866b}.landing-real-plan-frame .print-room-floor-tile{fill:#b7c7cc80}.landing-real-plan-frame .print-wall{stroke:#25313d}.landing-real-plan-frame .print-opening{stroke:#fff}.landing-real-plan-frame .print-plan-object rect{fill:#64748b38;stroke:#566371b8}.landing-real-plan-frame .print-control-link{stroke:var(--landing-teal)}.landing-real-plan-frame .print-electrical-cable-route{stroke:#2563eb}.landing-real-plan-frame .print-electrical-point rect,.landing-real-plan-frame .print-electrical-point circle{fill:#0d948814;stroke:var(--landing-teal)}.landing-real-plan-frame .print-electrical-point line{stroke:var(--landing-teal)}.landing-real-plan-frame .print-object-mark,.landing-real-plan-frame .print-electrical-point text,.landing-real-plan-frame .print-height-label{fill:#25313d}.landing-visualization-board{overflow:hidden;padding:18px;border:1px solid rgba(22,34,44,.12);border-radius:8px;background:#fff;box-shadow:var(--landing-shadow)}.landing-visualization-board .interior-visualization{gap:10px}.landing-visualization-board .viz-controls-card.ant-card{border-color:#16222c1a;border-radius:8px;background:#f8fafb}.landing-visualization-board .viz-controls-card .ant-card-body{padding:10px 12px}.landing-visualization-board .viz-3d-container{height:520px;min-height:420px;border-color:#16222c1f;background:#f6f3ed;box-shadow:inset 0 0 0 1px #fff6}.landing-visualization-board .viz-room-select{min-width:220px}@media(max-width:820px){.landing-real-plan-frame{min-height:310px}.landing-visualization-board .viz-3d-container{height:430px;min-height:360px}}@media(max-width:560px){.landing-real-plan-frame{min-height:250px}.landing-visualization-board{padding:12px}.landing-visualization-board .viz-control-group{align-items:flex-start;flex-direction:column}.landing-visualization-board .viz-room-select{min-width:0;width:100%}.landing-visualization-board .viz-3d-container{height:360px;min-height:320px}}.public-page{--public-bg: #f5f1ea;--public-surface: #fffdf8;--public-surface-strong: #ffffff;--public-ink: #191714;--public-muted: #6f6a61;--public-line: rgba(25, 23, 20, .13);--public-line-strong: rgba(25, 23, 20, .22);--public-charcoal: #121315;--public-charcoal-soft: #23201b;--public-gold: #b98745;--public-teal: #16766f;--public-rose: #8f3d4b;width:100%;max-width:none;margin:0;padding:0 0 80px;min-height:100vh;color:var(--public-ink);background:var(--public-bg);scroll-behavior:smooth}.public-loading{display:flex;justify-content:center;align-items:center;min-height:100vh;color:#fff}.public-error{width:min(100% - 32px,640px);margin:0 auto;text-align:center;padding:120px 0 64px}.public-project-header{position:relative;z-index:0;width:min(100% - 32px,1180px);margin:0 auto;padding:22px 0 34px;color:#fff}.public-project-header:before{position:absolute;z-index:-1;top:0;bottom:-18px;left:50%;width:100vw;transform:translate(-50%);background:linear-gradient(135deg,rgba(185,135,69,.16),rgba(22,118,111,.09) 42%,transparent 42%),linear-gradient(180deg,var(--public-charcoal) 0%,var(--public-charcoal-soft) 100%);content:""}.public-project-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;margin-bottom:44px}.public-project-brand{display:inline-flex;min-width:0;align-items:center;gap:12px;color:#fff;text-decoration:none}.public-project-logo.brand-mark{width:42px;height:42px;border-radius:10px;box-shadow:0 14px 30px #0000003d}.public-project-organization-logo{width:42px;height:42px;flex:0 0 auto;display:block;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#ffffff14;object-fit:contain;box-shadow:0 14px 30px #0000003d}.public-project-brand-name.ant-typography{display:inline-block;min-width:0;color:inherit;overflow-wrap:anywhere}.public-project-brand-name.ant-typography{font-size:.94rem;font-weight:700;line-height:1.2}.public-readonly-badge{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#ffffff14;padding:9px 13px;color:#ffffffc7;font-size:.82rem;font-weight:600}.public-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,430px);gap:56px;align-items:center}.public-hero-copy{display:grid;gap:18px;min-width:0}.public-eyebrow.ant-typography,.public-section-kicker.ant-typography{color:var(--public-gold);font-size:.78rem;font-weight:700;text-transform:uppercase}.public-hero-title.ant-typography{max-width:820px;margin:0;color:#fff;font-size:clamp(2.45rem,5.1vw,4.8rem);font-weight:760;line-height:1;letter-spacing:0;overflow-wrap:anywhere;text-wrap:balance}.public-hero-title-long.ant-typography{max-width:900px;font-size:clamp(2.1rem,4.2vw,3.7rem);line-height:1.05}.public-issue-meta{display:flex;flex-wrap:wrap;gap:10px}.public-issue-meta span{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#ffffff12;padding:8px 11px;color:#ffffffbd;font-size:.82rem;font-weight:700}.public-issue-meta .ant-typography{color:inherit}.public-project-header .public-address{display:inline-flex;min-width:0;align-items:flex-start;gap:10px;color:#ffffffc2;font-size:1rem;line-height:1.55}.public-project-header .public-address .ant-typography{color:inherit;overflow-wrap:anywhere}.public-project-header .public-address .anticon{margin-top:4px;color:var(--public-gold)}.public-project-header .public-description{display:block;max-width:720px;color:#ffffffb3;font-size:1rem;line-height:1.72}.public-issue-note.ant-typography{display:block;max-width:720px;color:#ffffffb8;font-size:.94rem;line-height:1.6}.public-hero-actions{display:flex;flex-wrap:wrap;gap:10px}.public-hero-actions .ant-btn{font-weight:800}.public-hero-actions .ant-btn-default{border-color:#ffffff47;background:#ffffff1a;color:#fff}.public-hero-actions .ant-btn-default:hover,.public-hero-actions .ant-btn-default:focus-visible{border-color:#b98745b3;background:#b987452e;color:#fff}.public-section-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.public-section-nav a{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff14;padding:10px 14px;color:#ffffffd6;font-size:.86rem;font-weight:600;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.public-section-nav a:hover{border-color:#b987459e;background:#b9874529;color:#fff;transform:translateY(-1px)}.public-hero-visual{position:relative;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:linear-gradient(145deg,#ffffff24,#ffffff08),#1a1815;box-shadow:0 24px 60px #00000057}.public-hero-image,.public-plan-preview{display:block;width:100%;aspect-ratio:4 / 3}.public-hero-image{height:auto;object-fit:cover}.public-plan-preview{position:relative;min-height:320px;background:linear-gradient(135deg,#b987452e,#16766f26),#191714}.public-plan-preview-grid{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);background-size:28px 28px}.public-plan-preview-room{position:absolute;border:2px solid rgba(255,255,255,.78);background:#ffffff0f;box-shadow:inset 0 0 0 1px #b9874561}.public-plan-preview-room-main{left:15%;top:18%;width:49%;height:50%}.public-plan-preview-room-side{left:64%;top:18%;width:21%;height:32%}.public-plan-preview-room-entry{left:40%;top:68%;width:45%;height:16%}.public-plan-preview-axis{position:absolute;background:var(--public-gold)}.public-plan-preview-axis-x{left:15%;bottom:16%;width:70%;height:2px}.public-plan-preview-axis-y{left:15%;top:18%;width:2px;height:66%}.public-hero-visual-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.12);padding:16px 18px;color:#ffffffad}.public-hero-visual-caption .ant-typography{color:inherit}.public-hero-visual-caption strong{color:#fff;font-size:1.05rem}.public-hero-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:40px}.public-hero-metric{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;min-width:0;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff14;padding:16px}.public-hero-metric-icon{display:inline-grid;width:38px;height:38px;place-items:center;border-radius:8px;background:#b9874533;color:var(--public-gold);font-size:1.1rem}.public-hero-metric .ant-typography{display:block;color:#ffffff94;font-size:.78rem;line-height:1.3}.public-hero-metric strong{display:block;min-width:0;margin-top:3px;color:#fff;font-size:1.04rem;line-height:1.25;overflow-wrap:anywhere}.public-mobile-section-actions{display:none}.public-project-workflow{display:flex;flex-wrap:wrap;align-items:center;gap:9px 14px;margin-top:16px}.public-project-workflow .ant-tag{margin-inline-end:0;font-weight:700}.public-project-workflow>span:not(.ant-tag){display:inline-flex;align-items:center;gap:6px}.public-project-workflow>span:not(.ant-tag) .anticon{color:var(--public-gold)}.public-project-workflow .ant-typography{color:#ffffffc7}.public-section-stack{width:min(100% - 32px,1180px);margin:0 auto;padding-top:28px}.public-section{padding:54px 0;border-top:1px solid var(--public-line);scroll-margin-top:20px}.public-section:first-child{border-top:0}.landing-scheme-legend-note.ant-typography{display:block;margin-bottom:18px;color:var(--muted-foreground);font-size:13px;line-height:1.5}.public-section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:24px}.public-section-title-group{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;min-width:0}.public-section-icon{display:inline-grid;width:46px;height:46px;place-items:center;border:1px solid rgba(185,135,69,.28);border-radius:8px;background:#b987451f;color:var(--public-gold);font-size:1.15rem}.public-section-heading h2.ant-typography{margin:4px 0 0;color:var(--public-ink);font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.08;letter-spacing:0}.public-section-summary.ant-typography{display:block;max-width:680px;margin-top:10px;color:var(--public-muted);font-size:.98rem;line-height:1.65}.public-section-aside{min-width:0}.public-section-body{display:grid;gap:18px}.public-metric-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.public-metric-pill{display:grid;min-width:112px;gap:3px;border:1px solid var(--public-line);border-radius:8px;background:#ffffff8a;padding:10px 12px}.public-metric-pill .ant-typography{color:var(--public-muted);font-size:.74rem;font-weight:700;text-transform:uppercase}.public-metric-pill strong{color:var(--public-ink);font-size:1rem;line-height:1.2;overflow-wrap:anywhere}.public-update-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.public-update-panel>div,.public-hidden-section-list>div{display:grid;min-width:0;gap:4px;border:1px solid var(--public-line);border-radius:8px;background:#ffffff94;padding:14px}.public-update-panel .ant-typography,.public-hidden-section-list .ant-typography:last-child{color:var(--public-muted);line-height:1.45}.public-update-panel strong{color:var(--public-ink);overflow-wrap:anywhere}.public-change-list,.public-hidden-section-list{display:grid;gap:10px}.public-change-list article{display:grid;gap:5px;border-left:3px solid rgba(22,118,111,.35);padding:4px 0 4px 12px}.public-context-alert.ant-alert{border-color:#16766f2e;background:#16766f12}.public-schedule-progress{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(260px,1fr);gap:24px;align-items:center;border:1px solid var(--public-line);border-radius:8px;background:#ffffff94;padding:16px 18px}.public-schedule-progress>div:first-child{display:grid;gap:4px}.public-schedule-progress>div:first-child .ant-typography:last-child{color:var(--public-muted)}.public-feedback-panel{display:grid;min-width:0;gap:16px;border:1px solid var(--public-line);border-radius:8px;background:var(--public-surface-strong);padding:18px;box-shadow:0 12px 28px #1917140d}.public-feedback-panel>*,.public-feedback-panel .ant-form,.public-feedback-panel .ant-segmented{min-width:0;max-width:100%}.public-feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-feedback-consent-notice{margin-bottom:18px}.public-feedback-consent-field .ant-checkbox-wrapper{align-items:flex-start}.public-doc-item{display:flex;align-items:center;padding:4px 0}.public-pdf-icon{color:var(--destructive);font-size:18px;margin-right:8px}.public-doc-grid,.public-render-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.public-doc-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;min-width:0;border:1px solid var(--public-line);border-radius:8px;background:var(--public-surface);padding:16px;color:var(--public-ink);text-decoration:none;box-shadow:0 10px 26px #1917140f;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.public-doc-card:hover{border-color:#b9874575;color:var(--public-ink);box-shadow:0 16px 34px #1917141a;transform:translateY(-1px)}.public-doc-icon{display:inline-grid;width:44px;height:44px;place-items:center;border-radius:8px;background:#8f3d4b1a;color:var(--public-rose);font-size:1.2rem}.public-doc-content{display:grid;min-width:0;gap:4px}.public-doc-content strong{overflow:hidden;color:var(--public-ink);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.public-doc-content .ant-typography{color:var(--public-muted);font-size:.82rem}.public-doc-action{color:var(--public-teal);font-size:.82rem;font-weight:700}.public-split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.public-split-grid-drawings{grid-template-columns:minmax(300px,.75fr) minmax(560px,1.25fr)}.public-panel-stack{display:grid;gap:18px}.public-data-panel{min-width:0;overflow:hidden;border:1px solid var(--public-line);border-radius:8px;background:var(--public-surface-strong);box-shadow:0 12px 28px #1917140d}.public-data-panel-heading{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid var(--public-line);padding:16px 18px}.public-data-panel-heading .ant-typography:first-child{color:var(--public-ink);font-size:1rem}.public-data-panel-heading .ant-typography:last-child{color:var(--public-muted);font-size:.84rem;text-align:right}.public-responsive-table{min-width:0}.public-collection-more{display:grid;width:100%;gap:8px;justify-items:center;border-top:1px solid var(--public-line);padding:14px 18px 16px}.public-collection-more .ant-alert{width:100%}.public-load-more-button.ant-btn{min-height:42px;border-color:#16766f47;color:var(--public-teal);font-weight:700}.public-load-more-button.ant-btn:hover{border-color:var(--public-teal);color:#0f5f59}.public-collection-more>.ant-typography{color:var(--public-muted);font-size:.78rem}.public-responsive-table .ant-table-wrapper{color:var(--public-ink)}.public-responsive-table .ant-table{background:transparent}.public-responsive-table .ant-table-thead>tr>th{background:#f8f2e9;color:var(--public-muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.public-responsive-table .ant-table-tbody>tr>td{color:var(--public-ink);border-bottom-color:#19171414}.public-responsive-table .ant-table-tbody>tr:hover>td{background:#16766f0f}.public-inline-action{display:inline-flex;align-items:center;gap:6px;color:var(--public-teal);font-weight:700;text-decoration:none;white-space:nowrap}.public-inline-action:hover{color:#0f5f59}.public-thumb-image{overflow:hidden;border-radius:8px;object-fit:cover}.public-descriptions{padding:4px 18px 18px}.public-estimate-room{display:grid;gap:12px}.public-estimate-collapse.ant-collapse{border:1px solid var(--public-line);border-radius:8px;background:var(--public-surface-strong);box-shadow:0 12px 28px #1917140d}.public-estimate-collapse .ant-collapse-item{border-bottom-color:var(--public-line)}.public-estimate-collapse .ant-collapse-header{align-items:center;padding:16px 18px!important}.public-estimate-collapse .ant-collapse-content{border-top-color:var(--public-line)}.public-estimate-collapse .ant-collapse-content-box{padding:18px!important}.public-collapse-label{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:14px;width:100%}.public-collapse-label span{min-width:0;color:var(--public-ink);font-weight:700;overflow-wrap:anywhere}.public-collapse-label small{display:block;margin-top:4px;color:var(--public-muted);font-size:.78rem;font-weight:700}.public-collapse-label strong{flex:0 0 auto;color:var(--public-teal)}.public-estimate-rooms{display:grid;gap:18px}.public-estimate-note.ant-typography{display:block;color:var(--public-muted);line-height:1.55}.public-estimate-room-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.public-estimate-room-heading .ant-tag{margin-inline-end:0;border-color:#b9874542;background:#b987451f;color:#7a5525}.public-mobile-list{width:100%}.public-mobile-tile{box-shadow:none}.public-mobile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-mobile-field{display:grid;min-width:0;gap:3px}.public-mobile-field .ant-typography{color:var(--public-muted);font-size:.74rem;font-weight:700;text-transform:uppercase}.public-mobile-field div{min-width:0;overflow-wrap:anywhere}.public-mobile-thumb{min-width:0}.public-render-asset{display:grid;gap:10px;min-width:0;margin:0;overflow:hidden;border:1px solid var(--public-line);border-radius:8px;background:var(--public-surface-strong);box-shadow:0 12px 28px #1917140d}.public-render-asset .ant-image{width:100%}.public-render-image{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.public-render-asset figcaption{color:var(--public-muted);font-size:.84rem;line-height:1.45;margin:0;padding:0 14px 14px;overflow-wrap:anywhere}.public-visualization-section .interior-visualization{gap:10px}.public-visualization-section .viz-3d-container{border-color:var(--public-line-strong);background:var(--public-surface-strong);box-shadow:0 16px 38px #19171414}@media(max-width:980px){.public-hero{grid-template-columns:1fr;gap:32px}.public-hero-visual{width:min(100%,620px)}.public-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.public-update-panel{grid-template-columns:1fr}.public-schedule-progress{grid-template-columns:1fr;gap:12px}.public-section-heading{grid-template-columns:1fr;align-items:start}.public-section-aside .public-metric-row{justify-content:flex-start}.public-split-grid,.public-split-grid-drawings{grid-template-columns:1fr}}@media(max-width:720px){.public-page{padding-bottom:52px}.public-project-header,.public-section-stack{width:min(100% - 24px,1180px)}.public-project-header{padding-top:14px}.public-project-topbar{margin-bottom:30px}.public-readonly-badge{padding:8px 10px;font-size:.76rem}.public-hero-title.ant-typography{font-size:2.25rem;line-height:1}.public-hero-title-long.ant-typography{font-size:1.85rem}.public-section-nav{display:none}.public-hero-actions{display:grid;grid-template-columns:1fr}.public-mobile-section-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.public-mobile-section-actions .ant-btn{justify-content:center;min-width:0;border-color:#ffffff2e;background:#ffffff14;color:#fff;font-weight:700}.public-mobile-section-actions .ant-btn:hover{border-color:#b987459e;background:#b9874529;color:#fff}.public-plan-preview{min-height:250px}.public-hero-metrics{grid-template-columns:1fr;margin-top:24px}.public-section-stack{padding-top:10px}.public-section{padding:38px 0}.public-section-title-group{grid-template-columns:1fr;gap:12px}.public-section-heading{gap:16px;margin-bottom:18px}.public-section-heading h2.ant-typography{font-size:1.65rem}.public-metric-row{justify-content:flex-start}.public-data-panel-heading{display:grid;justify-content:stretch;gap:6px}.public-data-panel-heading .ant-typography:last-child{text-align:left}.public-doc-card{grid-template-columns:auto minmax(0,1fr)}.public-feedback-grid{grid-template-columns:1fr}.public-doc-action{grid-column:2}.public-mobile-tile{border-color:var(--public-line);border-radius:8px;background:var(--public-surface-strong)}.public-collapse-label{display:grid}.public-collection-more{padding-inline:12px}.public-load-more-button.ant-btn{min-height:44px}}.constructed-furniture-tab{width:100%;min-width:0}.constructed-furniture-tab .ant-card,.constructed-furniture-tab .ant-card-body,.constructed-furniture-config,.constructed-furniture-materials{min-width:0}.constructed-furniture-config{margin:18px 0 0;padding:16px;border:1px solid var(--border);border-radius:10px}.constructed-furniture-config legend{padding:0 8px;font-weight:700}.constructed-furniture-config label{display:flex;flex-direction:column;gap:5px;color:var(--muted-foreground);font-size:12px}.constructed-furniture-config .ant-input-number,.constructed-furniture-config .ant-select{width:100%}.constructed-furniture-placement-form{margin-bottom:14px}.constructed-furniture-placement-form label{display:block;margin-bottom:5px;color:var(--muted-foreground);font-size:12px}.constructed-furniture-placement-form .ant-input-number,.constructed-furniture-placement-form .ant-select{width:100%}.constructed-furniture-state-summary{margin-top:12px}.constructed-furniture-dirty-alert,.constructed-furniture-error-summary{margin-bottom:14px}.constructed-furniture-error-summary ul{margin:6px 0 0;padding-inline-start:20px}.constructed-furniture-field-error{display:block;margin-top:4px;line-height:1.3}.constructed-furniture-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px}.constructed-furniture-element{align-items:end;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.constructed-furniture-rebalance{margin-top:12px}.constructed-furniture-materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.constructed-furniture-hardware{width:100%;margin-bottom:18px}.constructed-furniture-hardware-row{align-items:end;padding:10px;border:1px solid var(--border);border-radius:8px}.constructed-furniture-delete-cell{display:flex;align-items:flex-end}.constructed-furniture-elevation{margin:0}.constructed-furniture-elevation svg{display:block;width:100%;height:min(48vw,420px);min-height:260px;color:var(--foreground);background:#fffdf8;border:1px solid var(--border);border-radius:8px}.constructed-furniture-elevation rect,.constructed-furniture-elevation line{vector-effect:non-scaling-stroke;fill:#b453090f;stroke:#78350f;stroke-width:2}.constructed-furniture-elevation .elevation-section{fill:transparent;stroke:#64748b;stroke-dasharray:6 4}.constructed-furniture-elevation .elevation-facade{fill:#b453091f}.constructed-furniture-elevation .elevation-dimension{fill:none;stroke:#0f766e;stroke-width:1}.constructed-furniture-elevation .elevation-dimension-text{fill:#0f172a;font-size:54px;text-anchor:middle}.constructed-furniture-elevation figcaption{margin-top:8px;color:var(--muted-foreground)}.constructed-furniture-elevation-description{margin:6px 0 0;padding-inline-start:20px}.constructed-furniture-3d{width:100%;height:min(48vw,420px);min-height:260px;overflow:hidden;background:#f5f1e8;border:1px solid var(--border);border-radius:8px}.constructed-furniture-sync-preview{margin-top:16px}.constructed-furniture-inspector-heading{display:flex;flex-direction:column;gap:3px;margin:20px 0 12px;padding-top:16px;border-top:1px solid var(--border)}.constructed-furniture-exact-inspector{margin-top:16px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.constructed-furniture-exact-inspector>summary{display:flex;position:relative;align-items:flex-start;padding:14px 42px 14px 16px;cursor:pointer;flex-direction:column;gap:2px;list-style:none}.constructed-furniture-exact-inspector>summary::-webkit-details-marker{display:none}.constructed-furniture-exact-inspector>summary:after{position:absolute;top:18px;right:17px;content:"⌄";color:var(--muted-foreground);font-size:20px;line-height:1;transition:transform .16s ease}.constructed-furniture-exact-inspector[open]>summary:after{transform:rotate(180deg)}.constructed-furniture-exact-inspector>summary:hover,.constructed-furniture-exact-inspector>summary:focus-visible{background:var(--accent);outline:none}.constructed-furniture-exact-inspector>summary span{font-weight:700}.constructed-furniture-exact-inspector>summary small{color:var(--muted-foreground)}.constructed-furniture-exact-inspector>.constructed-furniture-placement-form,.constructed-furniture-exact-inspector>.constructed-furniture-config{margin-right:14px;margin-left:14px}.constructed-furniture-exact-inspector>.constructed-furniture-placement-form{margin-top:8px}.constructed-furniture-exact-inspector>.constructed-furniture-config{margin-bottom:14px}.constructed-visual-editor{min-width:0;margin:12px 0 18px;padding:14px;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--card);background:color-mix(in srgb,var(--card) 94%,var(--primary) 6%)}.constructed-visual-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.constructed-visual-header>div:first-child{display:flex;min-width:220px;flex:1;flex-direction:column;gap:3px}.constructed-visual-canvas{display:block;width:100%;max-height:680px;min-height:360px;overflow:visible;border:1px solid var(--border);border-radius:10px;background:#faf8f2;touch-action:pan-y;-webkit-user-select:none;user-select:none}.constructed-visual-stage{fill:#faf8f2}.constructed-visual-axis-label{fill:#475569;font-size:17px;font-weight:700}.constructed-visual-body,.constructed-visual-side{fill:#fffdf8;stroke:#643f27;stroke-width:3}.constructed-visual-plinth{fill:#d8c3a7;stroke:#7c5c3e;stroke-width:2}.constructed-visual-section{fill:#ffffff3d;stroke:#94a3b8;stroke-width:1.5;cursor:pointer;outline:none}.constructed-visual-section:hover,.constructed-visual-section:focus,.constructed-visual-section.is-selected{fill:#0d94881f;stroke:#0f766e;stroke-width:3}.constructed-visual-section-label{fill:#334155;font-size:14px;font-weight:700;pointer-events:none;text-anchor:middle}.constructed-visual-shelf,.constructed-visual-drawer{fill:#d8b48b;stroke:#6b4423;stroke-width:1.5}.constructed-visual-drawer{fill:#c79c70}.constructed-visual-rod{stroke:#64748b;stroke-linecap:round;stroke-width:7}.constructed-visual-rod-end{fill:#475569}.constructed-visual-element{cursor:ns-resize;outline:none}.constructed-visual-element:hover>:not(.constructed-visual-hit-target),.constructed-visual-element:focus>:not(.constructed-visual-hit-target),.constructed-visual-element.is-selected>:not(.constructed-visual-hit-target){filter:drop-shadow(0 0 4px rgb(13 148 136 / .8));stroke:#0f766e;stroke-width:3}.constructed-visual-boundary{cursor:ew-resize;outline:none}.constructed-visual-boundary line:not(.constructed-visual-hit-target){stroke:#475569;stroke-dasharray:7 5;stroke-width:2}.constructed-visual-boundary rect{fill:#0f766e;stroke:#fff;stroke-width:2}.constructed-visual-boundary:hover rect,.constructed-visual-boundary:focus rect{fill:#115e59;filter:drop-shadow(0 0 5px rgb(15 118 110 / .55))}.constructed-visual-facade-leaf{stroke:#78350f80;stroke-width:1.5;pointer-events:none}.constructed-visual-resize-handle,.constructed-visual-offset-handle{cursor:ew-resize;outline:none}.constructed-visual-element,.constructed-visual-boundary,.constructed-visual-resize-handle,.constructed-visual-offset-handle,.constructed-visual-wall-placement>rect{touch-action:none}.constructed-visual-hit-target{fill:transparent!important;stroke:transparent!important;stroke-width:44px!important;pointer-events:stroke;filter:none!important}.constructed-visual-resize-handle circle:not(.constructed-visual-hit-target),.constructed-visual-offset-handle circle:not(.constructed-visual-hit-target){fill:#fff;stroke:#0f766e;stroke-width:5}.constructed-visual-resize-handle:hover circle:not(.constructed-visual-hit-target),.constructed-visual-resize-handle:focus circle:not(.constructed-visual-hit-target),.constructed-visual-offset-handle:hover circle:not(.constructed-visual-hit-target),.constructed-visual-offset-handle:focus circle:not(.constructed-visual-hit-target){fill:#ccfbf1;filter:drop-shadow(0 0 5px rgb(15 118 110 / .55))}.constructed-visual-side-back{stroke:#64748b;stroke-dasharray:5 4;stroke-width:2}.constructed-visual-side-label,.constructed-visual-wall-label{fill:#475569;font-size:15px;font-weight:600;text-anchor:middle}.constructed-visual-wall-placement line{stroke:#64748b;stroke-width:7}.constructed-visual-wall-placement>rect{fill:#d8b48b;stroke:#78350f;stroke-width:2;cursor:grab}.constructed-visual-wall-placement>rect.is-overflow{fill:#fecaca;stroke:#b91c1c}.constructed-visual-editor [aria-disabled=true]{cursor:default}.constructed-visual-wall-placement .constructed-visual-wall-label{text-anchor:start}.constructed-visual-ranges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.constructed-visual-ranges label{display:flex;min-width:0;flex-direction:column;gap:5px;color:var(--muted-foreground);font-size:12px}.constructed-visual-ranges input[type=range]{width:100%;min-height:28px;accent-color:#0f766e}.constructed-visual-ranges .ant-input-number-group-wrapper,.constructed-visual-ranges .ant-input-number{width:100%}.constructed-visual-status{min-height:20px;margin-top:8px;color:var(--muted-foreground);font-size:12px}.selected-data-row,.mobile-data-tile.selected-data-row{background:#0d948817;box-shadow:inset 3px 0 #0d9488}@media(max-width:768px){.constructed-furniture-config{padding:10px}.constructed-furniture-materials{grid-template-columns:1fr}.constructed-furniture-section-heading{align-items:stretch;flex-direction:column}.constructed-furniture-elevation svg,.constructed-furniture-3d{height:300px;min-height:240px}.constructed-furniture-tab .ant-card-extra{width:100%;margin-top:10px;margin-inline-start:0}.constructed-furniture-tab .ant-card-head-wrapper{align-items:flex-start;flex-direction:column}.constructed-visual-header{align-items:stretch;flex-direction:column}.constructed-visual-canvas{min-height:300px}.constructed-visual-ranges{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.constructed-furniture-config>.ant-row>.ant-col,.constructed-furniture-config .constructed-furniture-element>.ant-col,.constructed-furniture-config .constructed-furniture-hardware-row>.ant-col,.constructed-furniture-config .ant-card-body>.ant-row>.ant-col,.constructed-furniture-placement-form .ant-row>.ant-col,.constructed-furniture-create-form .ant-row>.ant-col{flex:0 0 100%!important;max-width:100%!important}.constructed-furniture-delete-cell .ant-btn{width:100%}.constructed-furniture-config .ant-card-extra .ant-space{flex-wrap:wrap}.constructed-visual-editor{margin-inline:-2px;padding:8px}.constructed-visual-canvas{min-height:260px}.constructed-visual-ranges{grid-template-columns:1fr}}@media(max-width:420px){.public-readonly-badge{max-width:132px;white-space:normal}.public-hero-title.ant-typography{font-size:1.9rem}.public-hero-title-long.ant-typography{font-size:1.55rem}.public-mobile-section-actions{grid-template-columns:1fr}.public-hero-metric{padding:14px}.public-mobile-fields{grid-template-columns:1fr}}.interior-visualization{display:flex;flex-direction:column;gap:12px}.visualization-lazy-fallback{display:grid;min-height:360px;place-items:center}.viz-controls-card{flex-shrink:0}.viz-controls-card .ant-card-body{padding:10px 14px}.viz-control-group{display:inline-flex;align-items:center;gap:6px}.viz-control-group .ant-switch{margin:0}.viz-room-select{min-width:230px}.viz-cutaway-select{min-width:120px}.viz-camera-select{min-width:132px}.viz-3d-container{position:relative;background:linear-gradient(180deg,#ffffff80,#00000005),var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;height:clamp(440px,62vh,760px);min-height:380px}.viz-3d-container canvas{width:100%;height:100%;display:block}.viz-geometry-error{min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--destructive)}.viz-3d-empty{display:grid;place-items:center}.public-visualization-card{width:100%}.public-visualization-card .interior-visualization{gap:8px}@media(max-width:720px){.viz-room-select{width:min(70vw,320px);min-width:0}.viz-camera-select,.viz-cutaway-select{min-width:0;width:min(52vw,180px)}.viz-3d-container{height:420px;min-height:320px}}.route-loading{min-height:100vh;display:grid;place-items:center}.ant-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:background-color .2s,border-color .2s,color .15s,box-shadow .2s;line-height:1;outline:none}.ant-btn svg{pointer-events:none;width:16px;height:16px;flex-shrink:0}.ant-btn.ant-btn-loading:before{opacity:0}.ant-btn.ant-btn-loading .ant-btn-icon{animation:ant-spin 1s linear infinite}.ant-btn-dangerous,.ant-btn-color-dangerous{box-shadow:none}.ant-btn-dangerous.ant-btn-primary,.ant-btn-color-dangerous.ant-btn-variant-solid{background:var(--destructive-solid);border-color:var(--destructive-solid);color:var(--destructive-foreground);box-shadow:none}.ant-btn-dangerous.ant-btn-primary:hover,.ant-btn-color-dangerous.ant-btn-variant-solid:hover{background:var(--destructive-hover);border-color:var(--destructive-hover);color:var(--destructive-foreground)}.ant-btn-dangerous.ant-btn-primary:active,.ant-btn-color-dangerous.ant-btn-variant-solid:active{background:var(--destructive-active);border-color:var(--destructive-active);color:var(--destructive-foreground)}.dark .ant-btn-dangerous.ant-btn-default,.dark .ant-btn-color-dangerous.ant-btn-variant-outlined{color:var(--destructive-muted);border-color:var(--destructive-muted-border);box-shadow:none}.dark .ant-btn-dangerous.ant-btn-default:hover,.dark .ant-btn-color-dangerous.ant-btn-variant-outlined:hover{color:#ffc7c2;background:#ff9b921f;border-color:var(--destructive-muted)}.dark .ant-btn-dangerous.ant-btn-default:active,.dark .ant-btn-color-dangerous.ant-btn-variant-outlined:active{color:#ffdad7;background:#ff9b922e;border-color:#ffc7c2}.ant-btn-background-ghost.ant-btn-primary{background:transparent;color:var(--primary);border:1px solid var(--primary)}.ant-btn-background-ghost.ant-btn-primary:hover{background:var(--accent)}.ant-btn>.anticon+span,.ant-btn>span+.anticon{margin-inline-start:8px}.ant-input{transition:color .2s,box-shadow .2s}.ant-input:focus,.ant-input-focused{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-shadow)}.ant-input[aria-invalid=true]{border-color:var(--destructive);box-shadow:0 0 0 3px #f43f5e33}.ant-input-disabled,.ant-input[disabled]{opacity:.5;cursor:not-allowed}.ant-input::selection{background:var(--primary);color:var(--primary-foreground)}.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-shadow)}.ant-select-item-option-active:not(.ant-select-item-option-disabled){background:var(--accent)}.ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:var(--accent);color:var(--accent-foreground);font-weight:500}.ant-select-focused .ant-select-selector,.ant-select-selector:focus{border-color:var(--ring)!important;box-shadow:0 0 0 3px var(--ring-shadow)!important}.ant-table-thead>tr>th{border-bottom:1px solid var(--border);background:transparent!important}.ant-table-thead>tr>th:before{display:none}.ant-table-tbody>tr>td{border-bottom:1px solid var(--border);padding:8px}.ant-table-tbody>tr:last-child>td{border-bottom:none}.ant-table-tbody>tr.ant-table-row:hover>td{background:var(--muted)}.ant-table-tbody>tr.ant-table-row-selected>td{background:var(--muted)}.ant-table-wrapper{width:100%}.ant-table.ant-table-small .ant-table-thead>tr>th,.ant-table.ant-table-small .ant-table-tbody>tr>td{padding:6px 8px}.ant-card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);box-shadow:var(--flat-shadow)}.ant-card-hoverable:hover{box-shadow:var(--shadow-md)}.ant-card-head{border-bottom:1px solid var(--border);border-radius:0}.ant-modal-content{padding:24px;background:var(--background);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.ant-modal-header{padding:0 0 8px;border-bottom:none;margin-bottom:0}.ant-modal .ant-modal-body{padding:8px 0;padding-left:0!important;padding-right:0!important}.ant-modal-footer{padding:16px 0 0;border-top:none}.ant-modal-close{top:16px;right:16px;border-radius:4px;opacity:.7;transition:opacity .15s}.ant-modal-close:hover{opacity:1}.ant-tabs-top>.ant-tabs-nav:before{border-bottom:1px solid var(--border)}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--primary);font-weight:500}.ant-tabs-ink-bar{background:var(--primary);border-radius:1px}.ant-tabs-tab:hover{color:var(--primary)}.ant-tag{display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;font-weight:500;border-radius:6px}.ant-tag.ant-tag-has-color{border-color:transparent}.ant-alert{border-radius:8px;border-left-width:4px;border-left-style:solid;border:1px solid var(--border);padding:16px;background:var(--card)}.ant-alert.ant-alert-success{border-left-color:var(--success)}.ant-alert.ant-alert-warning{border-left-color:var(--warning)}.ant-alert.ant-alert-error{border-left-color:var(--destructive)}.ant-alert.ant-alert-info{border-left-color:var(--info)}.ant-alert-message{font-weight:600;font-size:14px;color:var(--foreground)}.ant-alert-description{font-size:14px;color:var(--muted-foreground)}.ant-progress{line-height:1}.ant-progress-outer{display:flex;align-items:center}.ant-progress-inner{border-radius:9999px;background:var(--muted);overflow:hidden}.ant-progress-bg{border-radius:9999px;background:var(--primary);transition:all .3s ease;height:100%}.ant-progress-show-info .ant-progress-outer{margin-inline-end:0;padding-inline-end:0}.ant-progress-text{font-size:12px;color:var(--muted-foreground);margin-inline-start:8px}.ant-switch{box-shadow:var(--flat-shadow)}.ant-switch.ant-switch-checked{background:var(--primary)}.ant-switch-handle:before{border-radius:50%}.ant-switch:focus-visible{box-shadow:0 0 0 3px var(--ring-shadow)}.ant-switch.ant-switch-disabled{opacity:.5;cursor:not-allowed}.ant-checkbox,.ant-checkbox-inner{border-radius:4px}.ant-checkbox-checked,.ant-checkbox-checked .ant-checkbox-inner{background:var(--primary);border-color:var(--primary)}.ant-checkbox-checked:after,.ant-checkbox-checked .ant-checkbox-inner:after{border-color:#fff}.ant-checkbox-wrapper:hover .ant-checkbox-inner,.ant-checkbox:hover .ant-checkbox-inner,.ant-checkbox-input:focus+.ant-checkbox-inner,.ant-checkbox-wrapper:hover .ant-checkbox,.ant-checkbox:hover,.ant-checkbox:has(.ant-checkbox-input:focus-visible){border-color:var(--primary)}.dark .ant-checkbox:not(.ant-checkbox-checked):not(.ant-checkbox-disabled),.dark .ant-checkbox:not(.ant-checkbox-checked):not(.ant-checkbox-disabled) .ant-checkbox-inner{background:#2c3e5073;border-color:#ecf0f157}.dark .ant-checkbox-wrapper:hover .ant-checkbox:not(.ant-checkbox-checked):not(.ant-checkbox-disabled),.dark .ant-checkbox:not(.ant-checkbox-checked):not(.ant-checkbox-disabled):hover,.dark .ant-checkbox:has(.ant-checkbox-input:focus-visible){border-color:#1abc9c}.ant-pagination .ant-pagination-item{border-radius:6px;border:1px solid var(--border)}.ant-pagination .ant-pagination-item a,.ant-pagination .ant-pagination-prev button,.ant-pagination .ant-pagination-next button,.ant-pagination .ant-pagination-jump-prev,.ant-pagination .ant-pagination-jump-next{color:var(--foreground)}.ant-pagination .ant-pagination-disabled button{color:color-mix(in srgb,var(--foreground) 48%,transparent)}.ant-pagination .ant-pagination-item-active,.ant-pagination.ant-pagination-bordered .ant-pagination-item.ant-pagination-item-active{background-color:var(--primary)!important;border-color:var(--primary)!important}.ant-pagination .ant-pagination-item-active a{color:var(--primary-foreground)!important}.ant-pagination .ant-pagination-item:hover{border-color:var(--primary)}.ant-pagination .ant-pagination-item a:hover{color:var(--primary)}.ant-pagination .ant-pagination-item-active:hover{background-color:var(--primary)!important;border-color:var(--primary)!important}.ant-pagination .ant-pagination-item-active:hover a,.ant-menu-item-selected .ant-menu-item-icon,.ant-menu-item-selected .anticon{color:var(--primary-foreground)!important}.ant-menu-inline .ant-menu-item:not(.ant-menu-item-selected) .ant-menu-item-icon,.ant-menu-inline .ant-menu-item:not(.ant-menu-item-selected) .anticon{color:var(--muted-foreground)}.ant-menu-submenu-selected .ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-submenu-selected .ant-menu-submenu-title .anticon{color:var(--muted-foreground)}.ant-drawer-header{border-bottom:1px solid var(--border)}.ant-drawer-footer{border-top:1px solid var(--border)}.ant-dropdown-menu{padding:4px;border:1px solid var(--border);background:var(--popover);box-shadow:var(--flat-shadow-lg);border-radius:6px}.ant-dropdown-menu-item{padding:6px 8px;border-radius:4px;font-size:14px}.ant-dropdown-menu-item:hover{background:var(--accent)}.ant-dropdown-menu-item-danger:hover{background:#f43f5e1a}.ant-tooltip .ant-tooltip-inner{background:var(--popover);border:1px solid var(--border);border-radius:6px;color:var(--foreground);font-size:12px;box-shadow:var(--flat-shadow);padding:8px;max-width:240px}.ant-tooltip-arrow-content{background:var(--popover);border:1px solid var(--border)}.ant-popover .ant-popover-inner{background:var(--popover);border-radius:8px;border:1px solid var(--border);box-shadow:var(--flat-shadow-lg);padding:12px}.ant-popover .ant-popover-arrow-content{background:var(--popover);border:1px solid var(--border)}.ant-message-notice-content{border-radius:8px;border:1px solid var(--border);box-shadow:var(--flat-shadow-lg)}.ant-message-success .ant-message-notice-content{background:#10b9811a;border-color:#10b98133}.ant-message-error .ant-message-notice-content{background:#f43f5e1a;border-color:#f43f5e33}.ant-message-warning .ant-message-notice-content{background:#f59e0b1a;border-color:#f59e0b33}.ant-message-info .ant-message-notice-content{background:#06b6d41a;border-color:#06b6d433}.ant-skeleton-element .ant-skeleton-button,.ant-skeleton .ant-skeleton-title,.ant-skeleton .ant-skeleton-paragraph>li{background:var(--accent);border-radius:6px}.ant-empty-image{filter:opacity(.4)}.ant-empty-description{color:var(--muted-foreground)}.ant-radio-button-wrapper{border-radius:0}.ant-radio-button-wrapper:first-child{border-start-start-radius:6px;border-end-start-radius:6px}.ant-radio-button-wrapper:last-child{border-start-end-radius:6px;border-end-end-radius:6px}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):before{background:var(--primary)}.ant-form-item-label>label{font-weight:500;font-size:14px;color:var(--foreground);height:auto;margin-bottom:8px}.ant-form-item{margin-bottom:16px}.billing-tariff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;width:100%}.billing-tariff-card .ant-card-head-title{min-width:0}.schedule-mobile-section-picker.ant-select{display:none}.schedule-timeline-scroll{width:100%;overflow-x:auto;border:1px solid var(--border)}.schedule-timeline{min-width:calc(230px + var(--schedule-timeline-width));background:var(--card)}.schedule-timeline-header,.schedule-timeline-row{display:grid;grid-template-columns:230px var(--schedule-timeline-width);min-height:48px;border-bottom:1px solid var(--border)}.schedule-timeline-row:last-child{border-bottom:0}.schedule-timeline-label{position:sticky;left:0;z-index:3;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:7px 12px;overflow:hidden;background:var(--card);border-right:1px solid var(--border)}.schedule-timeline-label-header{justify-content:flex-end;font-weight:600}.schedule-timeline-canvas{position:relative;width:var(--schedule-timeline-width);min-height:48px;background-image:repeating-linear-gradient(to right,transparent 0,transparent 33px,var(--border) 33px,var(--border) 34px)}.schedule-timeline-scale{min-height:48px;background-color:var(--muted)}.schedule-timeline-tick{position:absolute;bottom:7px;padding-left:5px;white-space:nowrap;color:var(--muted-foreground);font-size:12px}.schedule-timeline-today{position:absolute;z-index:1;top:0;bottom:0;width:2px;background:var(--destructive)}.schedule-timeline-bar{position:absolute;z-index:2;top:10px;display:flex;align-items:center;justify-content:center;height:28px;min-width:30px;overflow:hidden;color:#fff;background:var(--info);border:1px solid rgba(0,0,0,.16);border-radius:4px}.schedule-timeline-bar>span{position:absolute;inset:0 auto 0 0;background:#0003}.schedule-timeline-bar .ant-typography{position:relative;z-index:1;margin:0;color:inherit;font-size:11px}.schedule-timeline-bar-planned{color:var(--foreground);background:var(--muted)}.schedule-timeline-bar-done,.schedule-timeline-bar-accepted,.schedule-timeline-bar-paid{background:var(--success)}@media(max-width:720px){.schedule-mobile-section-picker.ant-select{display:block;width:100%;margin-bottom:12px}.schedule-main-tabs.ant-tabs>.ant-tabs-nav{display:none}.schedule-timeline{min-width:calc(180px + var(--schedule-timeline-width))}.schedule-timeline-header,.schedule-timeline-row{grid-template-columns:180px var(--schedule-timeline-width)}}.cookie-consent-banner{position:fixed;right:24px;bottom:24px;z-index:1200;display:flex;width:min(420px,calc(100vw - 32px));align-items:center;gap:16px;padding:16px;border:1px solid var(--border-color, #d9d9d9);border-radius:12px;background:var(--surface-color, #fff);color:var(--text-color, rgba(0, 0, 0, .88));box-shadow:0 12px 36px #0000002e}.cookie-consent-banner p{margin:0;font-size:13px;line-height:1.45}.cookie-consent-banner .ant-btn{flex:0 0 auto}.legal-consent-fields .ant-form-item{margin-bottom:12px}.legal-consent-fields .ant-checkbox-wrapper{align-items:flex-start;line-height:1.45}.legal-consent-fields .ant-checkbox-wrapper a{position:relative;z-index:1}.legal-consent-gate{display:grid;min-height:100vh;place-items:center;padding:24px;background:var(--muted)}.legal-consent-gate-card{width:min(100%,680px)}.legal-consent-gate-card .brand-logo{margin-bottom:24px}.legal-consent-version-list{width:100%;margin-bottom:24px}.admin-legal-document-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.legal-admin-tab-stack{display:grid;min-width:0;gap:20px}.legal-history-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,280px) auto auto;gap:10px;margin-bottom:18px}.legal-history-filters-feedback{grid-template-columns:minmax(260px,1fr) auto auto}.legal-history-mobile-card{display:grid;min-width:0;gap:10px}.legal-history-mobile-card>.ant-btn{width:100%}.legal-history-modal-state{display:grid;min-height:240px;place-items:center}.legal-revision-detail{display:grid;gap:20px}.legal-history-hash{max-width:100%;overflow-wrap:anywhere}.legal-revision-value{max-height:min(58vh,640px);overflow:auto;margin:0;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--muted);color:var(--foreground);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.legal-document-page{display:grid;min-height:100vh;grid-template-rows:auto minmax(0,1fr);background:var(--background)}.legal-document-header{display:flex;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--card)}.legal-document-header a{display:inline-flex;border-radius:12px}.legal-document-header a:focus-visible{outline:3px solid var(--ring-shadow);outline-offset:3px}.legal-document-text{width:min(100% - 32px,880px);margin:24px auto;padding:clamp(20px,4vw,48px);border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--foreground);box-shadow:var(--flat-shadow);line-height:1.65}.legal-document-meta{margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--border)}.legal-document-meta h1{margin:0 0 8px;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.2}.legal-document-meta p{margin:0;color:var(--muted-foreground)}.legal-document-value{overflow-wrap:anywhere}.legal-document-value>:first-child,.legal-revision-value>:first-child{margin-top:0}.legal-document-value>:last-child,.legal-revision-value>:last-child{margin-bottom:0}.legal-document-value h1,.legal-document-value h2,.legal-document-value h3,.legal-document-value h4,.legal-revision-value h1,.legal-revision-value h2,.legal-revision-value h3,.legal-revision-value h4{line-height:1.3}.legal-document-value table,.legal-revision-value table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.legal-document-value th,.legal-document-value td,.legal-revision-value th,.legal-revision-value td{padding:8px 10px;border:1px solid var(--border);text-align:left}.legal-document-value a,.legal-revision-value a{color:var(--primary);text-decoration:underline}.legal-document-state{display:grid;min-height:320px;place-items:center;padding:24px}@media(max-width:600px){.admin-legal-document-actions{align-items:stretch;flex-direction:column}.admin-legal-document-actions>.ant-space{width:100%}.admin-legal-document-actions .ant-btn{width:100%}.legal-history-filters,.legal-history-filters-feedback{grid-template-columns:1fr}.legal-history-filters .ant-btn,.legal-history-filters .ant-select{width:100%}.legal-document-header{padding:16px}.legal-document-text{margin:16px auto}.cookie-consent-banner{right:16px;bottom:16px;flex-direction:column;align-items:stretch}}
