*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #111111;--bg-secondary: #1c1c1c;--bg-card: #222222;--bg-input: #2a2a2a;--accent: #FFB800;--accent-dark: #cc9200;--accent-soft: rgba(255, 184, 0, .12);--text-primary: #ffffff;--text-secondary: #888888;--text-muted: #555555;--border: #2e2e2e;--border-accent: rgba(255, 184, 0, .3);--danger: #ff4d4d;--success: #4dff9b;--warning: #ff9f4d;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{height:100%;max-width:100%;min-width:0;overflow-x:hidden;background:var(--bg-primary);color:var(--text-primary);font-family:Manrope,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}body{touch-action:manipulation;overscroll-behavior-x:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:var(--radius-md);font-family:Manrope,sans-serif;font-weight:700;font-size:15px;cursor:pointer;border:none;outline:none;transition:all .15s ease;width:100%}.btn-primary{background:var(--accent);color:#111}.btn-primary:hover{background:#ffc933;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--border);color:var(--accent)}.btn-ghost{background:transparent;color:var(--text-secondary);width:auto;padding:8px 12px}.btn-ghost:hover{color:var(--text-primary)}.btn-danger{background:#ff4d4d1a;color:var(--danger);border:1px solid rgba(255,77,77,.2)}.btn-danger:hover{background:#ff4d4d33}.btn-sm{padding:8px 16px;font-size:13px}.btn-icon-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color .15s ease,background .15s ease}@media (hover: hover) and (pointer: fine){.btn-icon-delete:hover:not(:disabled){color:var(--danger);background:#ff4d4d14}}.btn-icon-delete:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-icon-delete:disabled{opacity:.4;cursor:not-allowed}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.input-group{display:flex;flex-direction:column;gap:6px}.input-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);padding:13px 16px;color:var(--text-primary);font-family:Manrope,sans-serif;font-size:15px;outline:none;transition:border-color .15s;width:100%}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-muted)}@media (max-width: 767px){.input,textarea.input,select.input{font-size:16px}}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.password-field-wrap{position:relative;width:100%}.password-field-input{padding-right:48px}.password-field-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s ease,background .15s ease}.password-field-toggle:hover:not(:disabled){color:var(--accent);background:var(--accent-soft)}.password-field-toggle:disabled{opacity:.4;cursor:not-allowed}.password-field-icon{width:1.125rem;height:1.125rem;font-size:1.125rem;color:inherit;display:block}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.select-field__trigger.select-field__trigger--open{border-color:var(--accent)}.select-field__trigger.select-field__trigger--badge{min-height:unset;padding:3px 8px 3px 10px;font-weight:700;font-size:11px;line-height:1.25;border-radius:20px}.select-field__trigger.select-field__trigger--badge-detail{padding:5px 8px 5px 12px;font-size:12px}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:16px}.project-home-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;min-width:0}.project-home-card__title{font-size:15px;font-weight:700;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-home-card__head-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.project-contact-links-wrap--desktop{display:none}.project-contact-links-wrap--mobile{display:flex;align-items:center}@media (min-width: 768px){.project-contact-links-wrap--desktop{display:flex;align-items:center}.project-contact-links-wrap--mobile{display:none!important}}.project-home-card__address{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:var(--text-secondary);line-height:1.35;margin-bottom:6px}.project-home-card__pin{flex-shrink:0;margin-top:2px;color:var(--accent);opacity:.85}.project-home-card__meta{font-size:12px;color:var(--text-muted);margin-bottom:8px}.project-home-card__meta-mobile{display:block}.project-home-card__meta-contacts-desktop{display:none;font-size:13px;color:var(--text-secondary);line-height:1.35}@media (min-width: 768px){.project-home-card__meta-mobile{display:none}.project-home-card__meta-contacts-desktop{display:block}}.project-home-card__tag{padding:8px 10px;background:var(--bg-input);border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary);line-height:1.35;margin-bottom:4px}.project-home-card__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}.project-home-card__footer-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.project-home-card__footer-date-desktop{display:none;font-size:12px;color:var(--text-muted)}.project-home-card__footer-amount-col{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.project-home-card__footer-date-mobile{font-size:11px;color:var(--text-muted);line-height:1.2}@media (min-width: 768px){.project-home-card__footer-date-desktop{display:block}.project-home-card__footer-date-mobile{display:none}}.project-home-card__amount{display:flex;align-items:center;gap:4px;font-size:15px;font-weight:700;color:var(--accent);flex-shrink:0}.overflow-tooltip__anchor{min-width:0}.overflow-tooltip__popup{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;line-height:1.45;color:var(--text-primary);box-shadow:0 10px 28px #00000073;word-break:break-word;pointer-events:auto}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.badge-yellow{background:var(--accent-soft);color:var(--accent)}.badge-green{background:#4dff9b1a;color:var(--success)}.badge-red{background:#ff4d4d1a;color:var(--danger)}.badge-gray{background:#ffffff0f;color:var(--text-secondary)}.badge-orange{background:#ff9f4d1a;color:var(--warning)}.app-root{min-height:100vh;min-height:100dvh;width:100%;background:var(--bg-primary);display:flex;flex-direction:column}.app-root>*{flex:1 1 auto;width:100%;min-width:0;min-height:0}.app-layout{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100%;position:relative;background:var(--bg-primary)}.page-content{flex:1;min-height:0;overflow-y:auto;padding:0 16px 28px}.page-content.page-content--settings{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.project-detail-main{flex:1;display:flex;flex-direction:column;min-height:0;width:100%}.project-detail-footer-strip{position:relative;flex-shrink:0;z-index:24}.project-detail-scroll-shell{flex:1;min-height:0;position:relative;z-index:1;display:flex;flex-direction:column;width:100%}.project-detail-scroll-shell.project-detail-scroll-shell--page-scroll{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable}.project-detail-scroll-shell.project-detail-scroll-shell--page-scroll>.page-content.page-content--project-detail{flex:0 1 auto;overflow:visible!important;min-height:min-content}.page-content.page-content--project-detail{isolation:isolate;padding-bottom:96px}.project-detail-footer-strip .project-detail-bottom-fade{position:absolute;left:0;right:0;bottom:100%;z-index:12;height:80px;pointer-events:none;background-image:linear-gradient(to top,#111,#111 6%,#111111e0 24%,#11111173 55%,#1111111a 82%,#1110)}@media (min-width: 768px){.project-detail-scroll-shell,.project-detail-footer-strip{max-width:900px;width:100%;margin-inline:auto;box-sizing:border-box}}@media (max-width: 767px){.page-content.page-content--template-save{padding-bottom:100px}}@media (min-width: 768px){.app-root{background:var(--bg-primary)}.app-layout.app-layout--shell{flex-direction:row;height:100vh;height:100dvh;overflow:hidden}.desktop-main>.app-layout{flex:1;min-height:0;height:100%;flex-direction:column;overflow:hidden}.desktop-main>.app-layout>.topbar{flex-shrink:0}.desktop-sidebar{width:240px;min-width:240px;height:100vh;height:100dvh;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:28px 0 24px;position:sticky;top:0;flex-shrink:0}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:0 20px 32px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0 10px;flex:1}.sidebar-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);font-size:14px;font-weight:600;border:none;background:none;font-family:Manrope,sans-serif;transition:all .15s;text-align:left;width:100%}.sidebar-item:hover{background:var(--bg-card);color:var(--text-primary)}.sidebar-item.active{background:var(--accent-soft);color:var(--accent);border:1px solid var(--border)}.desktop-main{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100vh;height:100dvh}.page-content{padding:0 32px 40px;max-width:900px;width:100%;margin-inline:auto;scrollbar-gutter:stable}.page-content.page-content--admin,.topbar.topbar--admin{max-width:1520px}.page-content.page-content--project-detail{padding-bottom:96px;scrollbar-gutter:auto}.page-content.page-content--settings{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.topbar{padding:24px 32px 12px;max-width:900px;width:100%;margin-inline:auto;box-sizing:border-box}.desktop-main>.app-layout>.page-intro{margin-inline:auto;max-width:900px;width:100%;box-sizing:border-box;padding:24px 32px 12px}.topbar.shell-app-topbar{padding-left:0;padding-right:0;max-width:none;width:100%}.shell-app-topbar .shell-app-topbar-row{max-width:900px;width:100%;margin-inline:auto;padding-inline:32px;box-sizing:border-box;scrollbar-gutter:stable}.catalog-category-top{margin-inline:auto}}.app-layout.app-layout--shell>.app-layout:not(.app-layout--shell){flex:1;min-width:0;width:100%}.catalog-category-top{flex-shrink:0;width:100%;max-width:900px;box-sizing:border-box;padding:20px 16px 0}@media (min-width: 768px){.catalog-category-top{padding:24px 32px 0;scrollbar-gutter:stable}}.page-intro--dashboard-head.shell-app-screen-title{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px;text-align:center}.shell-app-screen-title__icon{flex-shrink:0}.page-intro__dashboard-title{margin:0;font-size:18px;font-weight:800;color:var(--text-primary);line-height:1.2;width:auto;max-width:min(70vw,320px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-intro{padding:20px 16px 12px;box-sizing:border-box}.catalog-category-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;padding-bottom:12px}.catalog-category-header .topbar-title{min-width:0}.catalog-sticky-bar .catalog-categories-subheader,.catalog-categories-subheader{position:relative;z-index:1;padding:8px 0 4px}.catalog-categories-subheader--with-count{display:flex;align-items:center;justify-content:space-between;gap:12px}.catalog-categories-subheader__left{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1 auto}.catalog-categories-subheader--with-count .catalog-categories-subheader__title{flex:0 1 auto;min-width:0}.catalog-categories-subheader__hint{flex-shrink:0}.catalog-categories-subheader__count{flex-shrink:0;font-size:13px;color:var(--text-secondary)}.catalog-categories-subheader__title{margin:0;font-size:16px;font-weight:800;color:var(--text-primary);line-height:1.25}.catalog-sticky-bar{position:sticky;top:0;z-index:12;background:var(--bg-primary);padding:0;margin:0;border:none;box-shadow:none}.shell-search-row{display:flex;align-items:center;gap:10px;min-width:0;width:100%}.shell-search-row__search{position:relative;flex:1 1 auto;min-width:0}.shell-search-row__add-btn{width:44px;height:44px;border-radius:14px;background:var(--accent);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;padding:0}.shell-search-row__search .input{width:100%;box-sizing:border-box}.catalog-sticky-bar .input{border:none}.catalog-sticky-bar .input:focus{outline:2px solid var(--accent);outline-offset:2px}.catalog-sticky-bar>*{position:relative;z-index:1}.catalog-sticky-bar:after{content:"";position:absolute;left:0;right:0;top:100%;height:22px;margin-top:0;pointer-events:none;z-index:0;background-image:linear-gradient(180deg,#1111118c,#11111147 45%,#11111114 82%,#1110)}.catalog-sticky-bar--category,.catalog-sticky-bar:has(.catalog-categories-subheader){display:flex;flex-direction:column;gap:0;padding-bottom:2px}.catalog-sticky-bar--category.catalog-category-filters{gap:10px}.catalog-sticky-bar--template-edit{display:flex;flex-direction:column;gap:0;padding-bottom:2px}.template-edit-field-label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text-secondary)}.template-edit-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;margin-bottom:0;flex-wrap:nowrap;min-width:0}.template-edit-section-head__title{min-width:0;flex:1}.template-edit-search-row{margin-top:12px}.template-edit-search-wrap{position:relative}.template-edit-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none}.template-edit-list-empty{color:var(--text-muted);font-size:14;padding:12px 0}.template-edit-lines-list{display:flex;flex-direction:column;gap:8px;padding-top:12px}.catalog-category-filters__search,.catalog-category-filters .picker-chip-strip-viewport{margin-bottom:0}.catalog-category-filters .picker-chip-strip-scroll{padding-bottom:2px}.catalog-category-filters__type{min-width:0;width:100%}.catalog-category-filters__type .picker-chip-strip-viewport{margin-bottom:0}.page-content--catalog .picker-chip-strip-fade--left{background:linear-gradient(to right,var(--bg-primary) 0%,var(--bg-primary) 52%,rgba(17,17,17,.65) 78%,rgba(17,17,17,0) 100%)}.page-content--catalog .picker-chip-strip-fade--right{background:linear-gradient(to left,var(--bg-primary) 0%,var(--bg-primary) 52%,rgba(17,17,17,.65) 78%,rgba(17,17,17,0) 100%)}.dashboard-sticky-toolbar{position:sticky;top:0;z-index:12;background:var(--bg-primary);padding:0;margin:0}.dashboard-sticky-toolbar>*{position:relative;z-index:1}.dashboard-sticky-toolbar>.shell-search-row{margin-bottom:12px}.dashboard-sticky-toolbar:after{content:"";position:absolute;left:0;right:0;top:100%;height:48px;margin-top:-2px;pointer-events:none;z-index:0;background-image:linear-gradient(180deg,#111,#111111fa 8%,#111111d9 22%,#1111118c,#11111140 68%,#11111114 88%,#1110)}.page-content>.dashboard-sticky-toolbar+*{margin-top:40px}.page-content.page-content--home>.dashboard-sticky-toolbar+*{margin-top:0}.page-content.page-content--home .dashboard-sticky-toolbar:after{margin-top:-12px}.catalog-sub-tabs-viewport{flex:1;min-width:0;position:relative;display:flex;align-items:stretch;overflow:visible;--catalog-sub-arrow-w: 20px;--catalog-sub-fade-beyond-arrow: 4.5px;--catalog-sub-fade-w: calc(var(--catalog-sub-arrow-w) + var(--catalog-sub-fade-beyond-arrow));--catalog-sub-edge-bleed: 0px;--catalog-sub-fade-vert-extend: 2px;--catalog-sub-fade-edge-shift: 2px;--catalog-sub-chevron-tip-nudge: 2px;--catalog-sub-chevron-right-nudge: 6px}.catalog-sub-tabs-scroll{position:relative;z-index:1;flex:1;min-width:0;overflow-x:auto;display:flex;align-items:center;gap:8px;scrollbar-width:none;-ms-overflow-style:none}.catalog-sub-tabs-fade{position:absolute;top:calc(-1 * var(--catalog-sub-edge-bleed, 5px) - var(--catalog-sub-fade-vert-extend, 0px));bottom:calc(-1 * var(--catalog-sub-edge-bleed, 5px) - var(--catalog-sub-fade-vert-extend, 0px));width:var(--catalog-sub-fade-w);pointer-events:none;z-index:3}.catalog-sub-tabs-fade--left{left:calc(-1 * var(--catalog-sub-fade-edge-shift, 0px));background:linear-gradient(to right,var(--bg-primary) 0%,var(--bg-primary) 52%,rgba(17,17,17,.65) 78%,rgba(17,17,17,0) 100%)}.catalog-sub-tabs-fade--right{right:calc(-1 * var(--catalog-sub-fade-edge-shift, 0px));background:linear-gradient(to left,var(--bg-primary) 0%,var(--bg-primary) 52%,rgba(17,17,17,.65) 78%,rgba(17,17,17,0) 100%)}.catalog-sub-scroll-arrow-btn{position:absolute;top:calc(-1 * var(--catalog-sub-edge-bleed, 5px));bottom:calc(-1 * var(--catalog-sub-edge-bleed, 5px));z-index:5;width:var(--catalog-sub-arrow-w);display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:10px;background:transparent;cursor:pointer;color:var(--text-secondary);outline:none;-webkit-tap-highlight-color:transparent}.catalog-sub-scroll-arrow-btn--left{left:0;justify-content:flex-start;padding-inline-start:0}.catalog-sub-scroll-arrow-btn--left svg{display:block;transform:translate(calc(-1 * var(--catalog-sub-chevron-tip-nudge, 2px)))}.catalog-sub-scroll-arrow-btn--right{right:0;justify-content:flex-end;padding-inline-end:0}.catalog-sub-scroll-arrow-btn--right svg{display:block;transform:translate(var(--catalog-sub-chevron-right-nudge, 6px))}.catalog-sub-scroll-arrow-btn:hover{color:var(--text-primary)}.catalog-sub-scroll-arrow-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.catalog-sub-tabs-scroll::-webkit-scrollbar{display:none;height:0}.catalog-sub-tab-btn{flex-shrink:0;padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;font-family:Manrope,sans-serif;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.catalog-sub-tab-btn--active{background:var(--accent-soft);border-color:var(--border);color:var(--accent)}.catalog-sub-tab-btn:focus-visible{outline:2px solid var(--text-muted);outline-offset:2px}.settings-tabs-strip{position:sticky;top:0;z-index:12;background:var(--bg-primary);margin:0 -16px 16px;padding:16px 16px 0;box-sizing:border-box}.settings-tabs-strip .project-detail-tabs{margin-bottom:0}.settings-tabs-strip>.project-detail-tabs{position:relative;z-index:1}.settings-tabs-strip:after{content:"";position:absolute;left:0;right:0;top:100%;height:28px;margin-top:0;pointer-events:none;z-index:0;background-image:linear-gradient(180deg,#1111118c,#11111147 45%,#11111114 82%,#1110)}@media (min-width: 768px){.page-content.page-content--settings .settings-tabs-strip{margin-left:-32px;margin-right:-32px;padding:16px 32px 0}}.settings-tabs-strip .catalog-sub-tabs-viewport{overflow:hidden}.settings-tabs-strip .catalog-sub-tabs-fade{display:none}.catalog-sub-add-btn{position:relative;z-index:10;background:var(--bg-primary);outline:none;-webkit-tap-highlight-color:transparent}.catalog-sub-add-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.catalog-sub-chip-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;border:1px dashed var(--border);background:var(--bg-primary);cursor:pointer;white-space:nowrap;font-family:Manrope,sans-serif}.catalog-sub-chip-btn__label{font-weight:700;font-size:12px;color:var(--accent)}.catalog-sub-chip-btn--align-end{align-self:flex-end}@media (max-width: 767px){.desktop-sidebar{display:none}.desktop-main{display:contents}.app-layout.app-layout--shell{overflow:hidden}.app-layout--shell>.app-layout:not(.app-layout--shell){flex:1 1 auto;min-height:0;min-width:0;width:100%;display:flex;flex-direction:column;overflow:hidden}.app-layout--shell>.app-layout:not(.app-layout--shell)>.topbar.shell-app-topbar,.app-layout--shell>.app-layout:not(.app-layout--shell)>.catalog-category-top{flex-shrink:0;position:relative;top:auto;z-index:11}.app-layout--shell>.app-layout:not(.app-layout--shell)>.page-content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.page-content.page-content--settings{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.app-layout--shell .topbar{padding-left:56px}.app-layout--shell .topbar.shell-app-topbar{padding-left:16px;padding-right:16px}.app-layout--shell>.page-intro{flex-shrink:0;padding-left:56px}.app-layout--shell .page-intro.page-intro--dashboard-head.shell-app-screen-title{padding-right:56px;padding-top:10px;padding-bottom:6px;min-height:58px;align-items:center}.app-layout--shell>.page-content.page-content--home,.app-layout--shell>.page-content.page-content--templates,.app-layout--shell>.app-layout:not(.app-layout--shell)>.page-content.page-content--template-save{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-top:8px}.app-layout--shell>.app-layout:not(.app-layout--shell)>.page-content.page-content--catalog{padding-top:8px}.app-layout--shell .catalog-category-top{padding-left:56px}}.auth-page{min-height:100vh;min-height:100dvh;flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px;background:var(--bg-primary);width:100%}.auth-form{width:100%;max-width:440px}@media (min-width: 768px){.auth-page{flex-direction:row;justify-content:center;gap:80px;padding:0 60px}.auth-brand{display:flex!important;flex-direction:column;gap:16px;max-width:360px}.auth-form{max-width:400px}}@media (max-width: 767px){.auth-brand{display:none!important}}.topbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--bg-primary);z-index:10}@media (max-width: 767px){.topbar{padding:16px 16px 8px}}.topbar-title{font-size:18px;font-weight:800}.project-detail-topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.project-detail-topbar-icon-btn{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border);box-shadow:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease,border-color .15s ease;color:var(--accent)}.project-detail-topbar-icon-btn:hover{background:var(--bg-card);border-color:var(--text-muted)}.app-layout--project-detail>.topbar.topbar--project-detail{position:relative;align-items:center;gap:8px;min-height:44px}.project-detail-topbar-back{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;min-height:40px;line-height:1.2;position:relative;z-index:1}.app-layout--project-detail>.topbar.topbar--project-detail .topbar-title--project-detail{flex:1 1 auto;min-width:0;font-size:16px;font-weight:700;line-height:1.2;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-layout--project-detail>.topbar.topbar--project-detail .project-detail-topbar-actions{position:relative;z-index:1}@media (max-width: 767px){.app-layout--project-detail>.topbar.topbar--project-detail{padding-left:calc(58px + max(10px,env(safe-area-inset-left,0px)));padding-right:max(16px,env(safe-area-inset-right,0px));padding-top:12px;padding-bottom:8px}.app-layout--project-detail>.topbar.topbar--project-detail .topbar-title--project-detail{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);flex:none;width:auto;max-width:min(52vw,calc(100% - 200px));pointer-events:none}}@media (min-width: 768px){.app-layout--project-detail>.topbar.topbar--project-detail .topbar-title--project-detail{font-size:17px}}.project-detail-hero{display:flex;flex-direction:column;gap:10px}.project-detail-hero-text{flex:1;min-width:0}.project-detail-line{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px;font-size:14px;font-weight:600;color:var(--text-primary)}.project-detail-line--phone{font-weight:500;color:var(--text-secondary)}.project-detail-line-icon{flex-shrink:0;margin-top:2px;color:var(--text-secondary);opacity:.9}.project-detail-line-icon--accent{color:var(--accent);opacity:1}.project-detail-line--meta{font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.project-detail-address-inline{min-width:0;line-height:1.45}.project-detail-address-date{font-size:12px;font-weight:500;color:var(--text-secondary)}.project-detail-meta-sep{color:var(--text-muted)}.project-detail-hero-status .select-field{flex-shrink:0}.project-detail-comment{margin-top:0}@media (min-width: 641px){.project-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.project-detail-hero-text{grid-column:1;grid-row:1}.project-detail-hero-status{grid-column:2;grid-row:1;justify-self:end}.project-detail-comment{grid-column:1 / -1;grid-row:2}.project-header-actions{grid-column:1 / -1;grid-row:3;margin-top:0}.project-detail-hero:not(:has(.project-detail-comment)) .project-header-actions{grid-row:2}}@media (max-width: 640px){.project-detail-hero-status{width:100%;max-width:100%;box-sizing:border-box;padding:0 10px}.project-detail-hero-status .select-field{width:100%!important;max-width:100%!important}.project-detail-hero-status .select-field__trigger{width:100%!important;max-width:100%!important;box-sizing:border-box}}.project-header-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.project-detail-hero .project-header-actions{margin-top:0}.project-header-action{flex:1 1 120px;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);font-size:13px;font-weight:400;font-family:Manrope,sans-serif;text-decoration:none;line-height:1.35;text-align:center;transition:background .15s ease,border-color .15s ease}.project-header-action:hover{background:var(--bg-input);border-color:var(--border)}.project-header-action__label{color:var(--text-secondary);font-weight:400}.project-header-action__icon{flex-shrink:0;color:var(--accent)}.project-header-action svg{color:var(--accent);flex-shrink:0}.project-contact-links:not(.project-contact-links--ghost) svg{opacity:.9}.project-contact-links--ghost svg{opacity:1}.project-contact-links:not(.project-contact-links--ghost) a:hover svg{opacity:1}.project-contact-links--ghost a.project-contact-link--ghost:hover{background:var(--accent-soft)!important;box-shadow:inset 0 0 0 .33px var(--accent)}.project-header-action__label--short{display:none}@media (max-width: 520px){.project-header-actions{flex-wrap:nowrap;gap:6px;margin-top:12px}.project-header-action{flex:1 1 0;min-width:0;flex-direction:column;padding:10px 6px;font-size:13px;gap:5px}.project-header-action__label--long{display:none}.project-header-action__label--short{display:inline}}.shell-app-topbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0}.shell-app-topbar-heading{display:inline-flex;align-items:center;gap:8px;min-width:0}.shell-app-topbar-heading__icon{flex-shrink:0}.shell-app-topbar-heading__title{min-width:0}@media (max-width: 767px){.topbar.shell-app-topbar{padding-top:10px;padding-bottom:6px}.shell-app-topbar-row{position:relative;justify-content:flex-end;align-items:center;min-height:42px}.shell-app-topbar-heading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);flex:none;width:auto;max-width:min(58vw,260px);justify-content:center;pointer-events:none}.shell-app-topbar-heading__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-app-topbar-action{position:relative;z-index:1}.shell-app-topbar-back{display:none!important}}.shell-app-topbar-spacer{width:50px;height:50px;flex-shrink:0;pointer-events:none}.shell-app-topbar-back{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-family:Manrope,sans-serif;font-size:14px;flex-shrink:0}@media (min-width: 768px){.shell-app-topbar-heading__title{white-space:normal}.shell-app-topbar-row--with-back{justify-content:flex-start;gap:8px}.shell-app-topbar-row--with-back .shell-app-topbar-heading{position:static;left:auto;top:auto;transform:none;flex:1 1 auto;min-width:0;max-width:none;pointer-events:auto;justify-content:flex-start}.shell-app-topbar-row--with-back .shell-app-topbar-action{margin-left:auto}}.mobile-app-nav{display:none}@media (max-width: 767px){.mobile-app-nav{display:contents}.mobile-app-nav__fab{position:fixed;left:max(10px,env(safe-area-inset-left,0px));top:max(6px,env(safe-area-inset-top,0px));z-index:120;width:50px;height:50px;border-radius:16px;border:none;background:transparent;box-shadow:none;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;transition:opacity .15s ease}.mobile-app-nav__fab:hover{opacity:.85}.mobile-app-nav__fab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mobile-app-nav__layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130}.mobile-app-nav__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;border:none;padding:0;cursor:pointer;animation:mobileAppNavFadeIn .2s ease}.mobile-app-nav__drawer{position:absolute;top:0;left:0;bottom:0;width:min(300px,88vw);max-width:100%;background:var(--bg-secondary);border-right:1px solid var(--border);box-shadow:12px 0 40px #00000073;display:flex;flex-direction:column;padding:max(12px,env(safe-area-inset-top,0px)) 0 max(12px,env(safe-area-inset-bottom,0px));animation:mobileAppNavSlideIn .22s ease}.mobile-app-nav__drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:8px 14px 16px;flex-shrink:0}.mobile-app-nav__brand{display:flex;align-items:center;gap:10px;min-width:0}.mobile-app-nav__brand-icon{width:38px;height:38px;border-radius:12px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.mobile-app-nav__brand-img{width:100%;height:100%;object-fit:contain;display:block}.mobile-app-nav__brand-title{font-size:16px;font-weight:800;color:var(--text-primary);line-height:1.2}.mobile-app-nav__brand-sub{font-size:11px;color:var(--text-secondary);margin-top:2px}.mobile-app-nav__icon-btn{flex-shrink:0;width:40px;height:40px;border:none;border-radius:var(--radius-sm);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;margin:-4px -6px 0 0;transition:background .15s ease}.mobile-app-nav__icon-btn:hover{background:var(--bg-card)}.mobile-app-nav__icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mobile-app-nav__links{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:0 10px}.mobile-app-nav__link{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);font-size:14px;font-weight:600;border:none;background:none;font-family:Manrope,sans-serif;transition:background .15s ease,color .15s ease;text-align:left;width:100%}.mobile-app-nav__link:hover{background:var(--bg-card);color:var(--text-primary)}.mobile-app-nav__link--active{background:var(--accent-soft);color:var(--accent);border:1px solid var(--border)}.mobile-app-nav__footer{flex-shrink:0;padding:12px 14px 8px;border-top:1px solid var(--border);margin-top:auto}.mobile-app-nav__user{display:flex;align-items:center;gap:10px;min-width:0}.mobile-app-nav__avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0}.mobile-app-nav__user-text{flex:1;min-width:0}.mobile-app-nav__logout{flex-shrink:0;width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease}.mobile-app-nav__logout:hover{background:var(--bg-card);border-color:var(--text-muted)}.mobile-app-nav__logout:focus-visible{outline:2px solid var(--accent);outline-offset:2px}}@keyframes mobileAppNavFadeIn{0%{opacity:0}to{opacity:1}}@keyframes mobileAppNavSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.divider{height:1px;background:var(--border);margin:8px 0}.status-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;border:none;cursor:pointer}.section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 0 8px}.section-header__left{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1 auto}.section-header__left .section-title{flex:0 1 auto;min-width:0}.section-header__hint{flex-shrink:0}.section-title{font-size:16px;font-weight:800}.project-detail-items-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 0 8px;min-width:0}.project-detail-items-head__title{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-detail-items-head__sum{color:var(--text-secondary);font-size:13px;flex-shrink:0}.project-detail-items-head--with-actions{display:grid;align-items:center;gap:8px 10px}@media (max-width: 767px){.project-detail-items-head--with-actions{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title sum" "actions actions"}.project-detail-items-head--with-actions .project-detail-items-head__title{grid-area:title}.project-detail-items-head--with-actions .project-detail-items-head__sum{grid-area:sum}.project-detail-items-head--with-actions .project-detail-items-head__actions{grid-area:actions;display:flex;flex-wrap:wrap;gap:8px;width:100%}.project-detail-items-head--with-actions .project-detail-items-head__actions .btn{flex:1 1 0;min-width:0}}@media (min-width: 768px){.project-detail-items-head--with-actions{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"title actions sum"}.project-detail-items-head--with-actions .project-detail-items-head__title{grid-area:title}.project-detail-items-head--with-actions .project-detail-items-head__actions{grid-area:actions;display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-end}.project-detail-items-head--with-actions .project-detail-items-head__sum{grid-area:sum}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:12px}.empty-state-icon{width:64px;height:64px;background:var(--bg-card);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.empty-state h3{font-size:16px;font-weight:700}.empty-state p{color:var(--text-secondary);font-size:13px;line-height:1.5}.loader{display:grid;place-items:center;width:100%;max-width:100%;min-width:0;align-self:stretch;box-sizing:border-box;min-height:200px}.desktop-main>.loader,.app-layout.app-layout--shell>.loader{flex:1 1 auto;min-height:0;width:100%;max-width:none}.page-content .loader{min-height:min(65vh,560px)}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast-host{position:fixed;z-index:9200;display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 32px));pointer-events:none;top:max(12px,env(safe-area-inset-top,0px));left:50%;right:auto;bottom:auto;transform:translate(-50%);align-items:center}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;width:100%;max-width:100%;border:1px solid transparent;border-radius:var(--radius-md);padding:12px 14px 12px 16px;font-size:14px;font-weight:600;color:#fff;box-shadow:0 8px 28px #00000059;animation:toastIn .22s ease}.toast--success{background:#166534;border-color:#86efac47}.toast--error{background:#7f2d2df0;border-color:#fca5a538}.toast__message{flex:1;min-width:0;line-height:1.35}.toast__close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:-4px -6px -4px 0;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:#ffffffd9;cursor:pointer}.toast__close:hover{color:#fff;background:#00000026}.toast__close:focus-visible{outline:2px solid #fff;outline-offset:2px}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 768px){.toast-host{top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));left:auto;bottom:auto;transform:none;align-items:flex-end;width:min(380px,calc(100vw - 48px))}}.pwa-update-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top,0px)) 16px max(24px,env(safe-area-inset-bottom,0px));box-sizing:border-box;background:#0000008c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:confirmDialogFadeIn .2s ease}.pwa-update-modal{width:100%;max-width:400px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 20px 18px;box-shadow:0 20px 56px #00000080;animation:confirmDialogPop .22s ease}.pwa-update-modal__title{margin:0 0 12px;font-size:17px;font-weight:800;line-height:1.25;color:var(--text-primary)}.pwa-update-modal__message{margin:0;font-size:14px;font-weight:600;line-height:1.45;color:var(--text-secondary)}.pwa-update-modal__actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;margin-top:20px}.pwa-update-modal__actions .btn{flex:1 1 calc(50% - 5px);min-width:0;padding:12px 14px}@media (max-width: 360px){.pwa-update-modal__actions{flex-direction:column}.pwa-update-modal__actions .btn{flex:1 1 auto;width:100%}}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:8000;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--bg-secondary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:20px 16px 40px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:sheetUp .25s ease}.sheet.sheet--finance-share{height:auto;max-height:min(90dvh,calc(100dvh - env(safe-area-inset-top,0px) - 12px));padding-bottom:max(16px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;overflow:hidden}.sheet--finance-share__head{flex-shrink:0}.estimate-share-pre{margin:0;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg-input);border-radius:var(--radius-md);padding:14px;font-size:12px;color:var(--text-secondary);white-space:pre-wrap;line-height:1.7;font-family:Manrope,sans-serif}.sheet.sheet--finance-share .sheet-footer{flex-shrink:0;margin-top:12px}.sheet.sheet-3q{height:75vh;max-height:75vh;height:75dvh;max-height:75dvh;padding-bottom:16px;display:flex;flex-direction:column;overflow:hidden}.sheet.sheet-full-viewport{height:calc(100vh - 12px);max-height:calc(100vh - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);padding-bottom:max(16px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;overflow:hidden}.sheet.sheet-full-viewport.sheet--estimate-groups .sheet-handle{margin-bottom:8px}@media (max-width: 767px){.sheet.sheet-full-viewport.sheet--quantity-sources,.sheet.sheet-full-viewport.sheet--catalog-picker{height:100dvh;max-height:100dvh;border-radius:0;padding-top:max(8px,env(safe-area-inset-top,0px))}}@media (min-width: 768px){.sheet.sheet-full-viewport.sheet--quantity-sources,.sheet.sheet-full-viewport.sheet--catalog-picker{height:auto;max-height:min(85vh,720px);max-width:min(100%,560px);border-radius:var(--radius-lg);padding-top:24px}.sheet.sheet-full-viewport.sheet--quantity-sources .sheet-handle,.sheet.sheet-full-viewport.sheet--catalog-picker .sheet-handle{display:none}}.sheet-body{flex:1;overflow-y:auto;padding-bottom:12px}.sheet-body.sheet-body--catalog-picker{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding-bottom:0}.catalog-item-picker{flex:1;min-height:0;display:flex;flex-direction:column}.catalog-item-picker__header{flex-shrink:0;background:var(--bg-secondary);padding-bottom:4px;box-shadow:0 10px 16px -12px #000000a6}.catalog-item-picker__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.catalog-item-picker__title-row .catalog-item-picker__heading{margin-bottom:0;flex:1;min-width:0}.catalog-item-picker__close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:-8px -6px 0 0;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}.catalog-item-picker__close:hover{background:var(--bg-input);color:var(--accent)}.catalog-item-picker__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.catalog-item-picker__heading{font-size:17px;font-weight:800;margin-bottom:14px}.catalog-item-picker__search{margin-bottom:12px}.catalog-item-picker__bulk-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin-bottom:12px}.catalog-item-picker__bulk-actions .btn{flex:1;min-width:0}.catalog-item-picker__list{flex:1;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding-right:2px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.catalog-item-picker__list::-webkit-scrollbar{width:8px}.catalog-item-picker__list::-webkit-scrollbar-track{background:#00000026;border-radius:4px}.catalog-item-picker__list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.catalog-item-picker__list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.picker-chip-strip-viewport{position:relative;display:flex;align-items:stretch;min-width:0;width:100%;overflow:hidden;margin-bottom:8px;--picker-strip-arrow-w: 32px;--picker-strip-fade-w: 36px}.picker-chip-strip-scroll{display:flex;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none;-ms-overflow-style:none;flex:1;min-width:0;padding:2px 0 8px;overscroll-behavior-x:contain}.picker-chip-strip-scroll::-webkit-scrollbar{display:none;height:0}.picker-chip-strip-fade{position:absolute;top:0;bottom:0;width:var(--picker-strip-fade-w);pointer-events:none;z-index:3}.picker-chip-strip-fade--left{left:0;background:linear-gradient(to right,var(--bg-secondary) 0%,var(--bg-secondary) 40%,rgba(28,28,28,0) 100%)}.picker-chip-strip-fade--right{right:0;background:linear-gradient(to left,var(--bg-secondary) 0%,var(--bg-secondary) 40%,rgba(28,28,28,0) 100%)}.picker-chip-strip-arrow{position:absolute;top:0;bottom:0;z-index:5;width:var(--picker-strip-arrow-w);display:flex;align-items:center;border:none;background:transparent;cursor:pointer;color:var(--text-secondary);padding:0;-webkit-tap-highlight-color:transparent}.picker-chip-strip-arrow--left{left:0;justify-content:flex-start}.picker-chip-strip-arrow--right{right:0;justify-content:flex-end}.picker-chip-strip-arrow:hover{color:var(--text-primary)}.picker-chip-strip-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sheet-footer{flex:0 0 auto;display:flex;gap:10px;padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,#1c1c1c,#1c1c1cd9)}.sheet-footer--split .btn{white-space:nowrap;width:auto;max-width:100%}.sheet-footer--split .btn.btn-secondary{flex:0 0 auto}.sheet-footer--split .btn.btn-primary{flex:1 1 0;min-width:0}.sheet-footer--split.sheet-footer--equal .btn.btn-secondary,.sheet-footer--split.sheet-footer--equal .btn.btn-primary{flex:1 1 0;min-width:0;max-width:none}@media (max-width: 767px){.sheet-footer--split .btn{font-size:13px;padding-left:10px;padding-right:10px}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{width:40px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 16px}@media (min-width: 768px){.sheet-overlay{align-items:center;padding:24px}.sheet{border-radius:var(--radius-lg);padding:24px;max-height:min(90vh,720px);animation:sheetModalIn .22s ease;box-shadow:0 24px 64px #0000008c;border:1px solid var(--border)}.sheet-handle{display:none}.sheet.sheet-3q,.sheet.sheet-3q.publish-estimate-sheet{height:auto;max-height:min(85vh,720px);max-width:min(100%,560px);padding-bottom:16px;border-radius:var(--radius-lg)}}@keyframes sheetModalIn{0%{opacity:0;transform:scale(.97) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;z-index:8200;display:flex;align-items:center;justify-content:center;padding:24px;animation:confirmDialogFadeIn .2s ease}.confirm-dialog{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 20px 18px;width:100%;max-width:360px;box-shadow:0 20px 56px #00000080;animation:confirmDialogPop .22s ease}.confirm-dialog-title{font-size:17px;font-weight:800;line-height:1.35;color:var(--text-primary);margin:0}.confirm-dialog-message{margin:12px 0 0;font-size:14px;line-height:1.45;color:var(--text-secondary)}.confirm-dialog-actions{display:flex;gap:10px;margin-top:22px}.confirm-dialog-actions--single{justify-content:stretch}.confirm-dialog-actions .btn{flex:1;width:auto;min-width:0}@keyframes confirmDialogFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmDialogPop{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.jk-checkbox{width:20px;height:20px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;flex:0 0 auto;transition:all .15s ease}.jk-checkbox:hover{border-color:var(--border)}.jk-checkbox.checked{background:var(--accent-soft);border-color:var(--border)}.jk-checkbox.disabled{opacity:.7;cursor:not-allowed}.jk-checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.quantity-sources-manual-overlay{z-index:8300}.quantity-sources-manual-sheet{max-height:min(90vh,90dvh)}.quantity-sources-manual-sheet .sheet-footer{background:var(--bg-secondary)}.quantity-sources-manual-sheet .sheet-body{overflow-x:hidden;min-width:0}.quantity-sources-manual-sheet .project-geometry-row .input-group{min-width:0}.quantity-sources-check-row{display:flex;align-items:center;gap:12px;min-height:44px;padding:4px 2px;margin:0 -2px;border-radius:var(--radius-md, 8px);cursor:pointer;font-size:13px;line-height:1.35;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.quantity-sources-check-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.quantity-sources-check-row--blocked{cursor:default}.quantity-sources-check-row--muted{opacity:.45;cursor:default}.quantity-sources-check-row__text{flex:1;min-width:0}.quantity-sources-check-row__label{font-weight:600}.quantity-sources-check-row__value{color:var(--text-secondary);margin-left:6px}.quantity-sources-nested{margin-left:28px;margin-top:10px;padding-left:12px;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:14px}.quantity-sources-surface-block{display:flex;flex-direction:column;gap:10px}.quantity-sources-surface-block__title{font-weight:600;font-size:13px}.quantity-sources-segment-list{display:flex;flex-direction:column;gap:12px}.quantity-sources-sheet__scroll{padding-bottom:16px}.quantity-sources-manual-block{margin-top:14px}.quantity-sources-manual-row{display:flex;align-items:stretch;gap:4px}.quantity-sources-manual-row .quantity-sources-check-row{flex:1;min-width:0}.quantity-sources-manual-row .btn-icon-delete{flex-shrink:0;align-self:center}.jk-summary-card{margin-top:14px;padding:14px 16px;border-radius:var(--radius-md, 8px);background:var(--bg-input);border:1px solid var(--border)}.jk-summary-card__title{font-weight:700;font-size:14px;margin:0 0 10px;color:var(--text-primary)}.jk-summary-card__rows{display:flex;flex-direction:column;gap:8px}.jk-summary-card__row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.jk-summary-card__row-k{flex:1;min-width:0}.jk-summary-card__row-k-title{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3;word-break:break-word}.jk-summary-card__row-k-sub{font-size:12px;font-weight:500;color:var(--text-secondary);margin-top:2px;line-height:1.35;word-break:break-word}.jk-summary-card__row-v{flex-shrink:0;font-weight:700;font-size:14px;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.35;text-align:right}.jk-summary-card__row-v.is-missing{color:var(--danger)}.jk-summary-card__row--total{margin-top:4px;padding-top:10px;border-top:1px solid var(--border)}.jk-summary-card__row--total .jk-summary-card__row-k-title{font-weight:700}.jk-summary-card__stale{display:block;font-size:11px;font-weight:500;color:var(--warning);margin-top:4px;line-height:1.25}.sticky-action{position:sticky;bottom:12px;z-index:20;padding:0 16px 16px;background:var(--bg-primary)}.sticky-action--project-edit-footer{display:flex;flex-direction:column;gap:10px;width:100%;box-sizing:border-box}.sticky-action--project-edit-footer>.sticky-action{padding:0;position:static;bottom:auto;z-index:auto;background:transparent;width:100%}.sticky-action--project-edit-footer>.btn.btn-danger{width:100%;max-width:none}.sticky-action--project-edit-footer .sticky-action--split{margin:0;width:100%}.sticky-action--project-edit-footer .sticky-action--split .btn{width:auto;flex:1 1 0;min-width:0}@media (min-width: 768px){.project-detail-footer-strip .sticky-action{padding-left:32px;padding-right:32px}}.sticky-action--split{display:flex;gap:10px;align-items:stretch}.sticky-action--split .btn{flex:1 1 0;min-width:0;white-space:nowrap}.sticky-action--split .btn svg{flex-shrink:0}@media (max-width: 767px){.sticky-action--split .btn{font-size:13px;padding:14px 8px;gap:5px}}.sticky-action--stacked{display:flex;flex-direction:column;gap:8px}.sticky-action--stacked .btn{width:100%}.project-geometry-footer-hint{margin:0;text-align:center}.project-detail-totals-sticky{position:relative;z-index:15;margin-bottom:10px;display:flex;flex-direction:column;background:transparent}.project-detail-totals-card-wrap{background:var(--bg-primary)}.project-detail-totals-card{--project-finance-history-chev-offset-x: 10px;--project-finance-history-share-offset-x: 31px;position:relative;z-index:2;overflow:visible;box-shadow:0 6px 28px #0000006b}.project-detail-totals-fade{position:absolute;left:0;right:0;top:100%;z-index:1;height:64px;min-height:64px;margin-top:-10px;pointer-events:none;background-image:linear-gradient(180deg,#222,#111111fa 8%,#111111d9 22%,#1111118c,#11111140 68%,#11111114 88%,#1110)}.project-finance-summary{padding-top:0}.project-finance-sticky-head{position:relative;top:auto;z-index:1;background:var(--bg-card);padding-top:2px;margin-bottom:0}.project-finance-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px;margin:0;border:none;border-radius:0;background:none;cursor:pointer;color:var(--text-primary);font-family:Manrope,sans-serif;text-align:left;-webkit-tap-highlight-color:transparent}.project-finance-section-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.project-finance-section-toggle-label{font-size:15px;font-weight:800;color:var(--text-primary)}.project-finance-section-chev{color:var(--text-secondary);flex-shrink:0;transition:transform .25s ease}.project-finance-section-toggle.is-open .project-finance-section-chev{transform:rotate(180deg)}.project-finance-section-toggle.is-open{padding-bottom:14px}.project-finance-section-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.project-finance-section-body.is-open{grid-template-rows:1fr}.project-finance-section-body-inner{overflow:hidden;min-height:0}.project-finance-section-body.is-open>.project-geometry-section-body-inner{overflow:visible}.project-finance-summary-main{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 20px}.project-finance-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;min-width:0;align-items:start}.project-finance-cols .project-finance-col{padding-left:14px;padding-right:14px}.project-finance-cols .project-finance-col:first-child{padding-left:0}.project-finance-cols .project-finance-col+.project-finance-col{border-left:1px solid var(--border)}.project-finance-col-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;line-height:1.35}.project-finance-col-value{font-size:22px;font-weight:800;line-height:1.15;letter-spacing:-.02em}.project-finance-col-value--primary{color:var(--text-primary)}.project-finance-col-value--success{color:var(--success)}.project-finance-col-value--accent{color:var(--accent)}.project-finance-col-sub{margin-top:6px;font-size:12px;font-weight:500;color:var(--text-muted)}.project-finance-donut-wrap{position:relative;flex-shrink:0;width:118px;height:118px}.project-finance-donut-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:18px;font-weight:800;color:var(--text-primary);pointer-events:none}.project-finance-breakdown{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:14px}.project-finance-breakdown-block{display:flex;flex-direction:column;gap:6px}.project-finance-breakdown-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:15px;font-weight:800;color:var(--text-primary)}.project-finance-breakdown-heading-amt{font-variant-numeric:tabular-nums;flex-shrink:0}.project-finance-breakdown-detail{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 8px;padding-left:2px}.project-finance-breakdown-detail-main{flex:1 1 auto;min-width:0;font-size:13px;font-weight:600;line-height:1.45;color:var(--text-secondary);display:flex;flex-wrap:wrap;align-items:center;gap:4px 2px}.project-finance-breakdown-sep{color:var(--text-muted);padding:0 4px;-webkit-user-select:none;user-select:none}.project-finance-breakdown-detail-icon{flex-shrink:0;display:flex;align-items:center;padding-top:1px}.project-finance-breakdown-icon--ok{color:var(--success)}.project-finance-breakdown-icon--warn{color:var(--accent)}.project-finance-allocation-hint-row{display:inline-flex;align-items:center;gap:6px;margin:8px 0 0;flex-wrap:wrap;max-width:100%}.project-finance-allocation-hint-label{font-size:11px;line-height:1.45;color:var(--text-muted)}.input-label-hint-row{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:100%}.info-hint{display:inline-flex;flex-shrink:0;vertical-align:middle}.info-hint__trigger{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent;outline:none;box-shadow:none}.info-hint__glyph{display:block;flex-shrink:0}.info-hint__popover{padding:12px 14px;background:#3a3a3a;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 14px 44px #0000008c,inset 0 1px #ffffff0f;font-size:13px;line-height:1.45;color:var(--text-primary);font-family:Manrope,sans-serif;-webkit-overflow-scrolling:touch;white-space:pre-line}.info-hint__popover .info-hint__example{display:block;margin-top:2.9em;white-space:normal}.info-hint__trigger::-moz-focus-inner{border:0}.info-hint__trigger:hover{background:var(--accent-soft);color:var(--accent)}.info-hint__trigger:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}@media (max-width: 767px){.project-detail-totals-card.card{padding:12px}.project-finance-sticky-head{padding-top:0}.project-finance-section-toggle-label{font-size:13px;letter-spacing:.02em}.project-finance-section-toggle.is-open{padding-bottom:8px}.project-finance-section-chev{width:18px;height:18px}.project-finance-summary-main{flex-wrap:nowrap;align-items:center;gap:8px;justify-content:space-between}.project-finance-cols{grid-template-columns:repeat(3,minmax(0,1fr));flex:1;min-width:0;gap:0}.project-finance-cols .project-finance-col{padding-left:6px;padding-right:6px}.project-finance-cols .project-finance-col:first-child{padding-left:0}.project-finance-cols .project-finance-col+.project-finance-col{border-left:1px solid var(--border);border-top:none;padding-top:0;margin-top:0}.project-finance-col-label{font-size:10px;margin-bottom:2px;line-height:1.25}.project-finance-col-value{font-size:16px;letter-spacing:-.03em}.project-finance-col-sub{margin-top:2px;font-size:10px;line-height:1.2}.project-finance-donut-wrap{flex-shrink:0;transform:scale(.62);transform-origin:center center;margin:-18px -10px -18px -4px}.project-finance-donut-center{font-size:13px}.project-finance-history-toggle--label{font-size:14px}.project-finance-history-toggle-left{gap:8px}.project-finance-history-toggle--label svg,.project-finance-history-toggle-left svg{flex-shrink:0}.project-finance-history-toggle-left svg{width:16px;height:16px}}.project-finance-history-row{display:flex;align-items:center;gap:8px;width:100%;margin-top:16px;margin-right:0;padding:12px 2px;border-top:1px solid var(--border);box-sizing:border-box}@media (max-width: 767px){.project-finance-history-row{margin-top:8px;padding:8px 2px}}.project-finance-history-row:not(.is-open){padding-bottom:4px}@media (max-width: 767px){.project-finance-history-row:not(.is-open){padding-bottom:2px}}.project-finance-history-toggle.project-finance-history-toggle--label{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-start;align-self:stretch;margin:0;padding:0;border:none;background:none;cursor:pointer;color:var(--text-primary);font-family:Manrope,sans-serif;font-size:15px;font-weight:700;line-height:1.2;text-align:left;-webkit-tap-highlight-color:transparent}.project-finance-history-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.project-detail-totals-card .project-finance-history-row{margin-left:-16px;margin-right:-16px;padding:12px 2px 12px 18px}.project-detail-totals-card .project-finance-history-row:not(.is-open){padding-bottom:4px}@media (max-width: 767px){.project-detail-totals-card.card .project-finance-history-row{margin-left:-12px;margin-right:-12px;padding:8px 2px 8px 14px}.project-detail-totals-card.card .project-finance-history-row:not(.is-open){padding-bottom:2px}}.project-detail-topbar-icon-btn.project-finance-share-payments-inline{-webkit-tap-highlight-color:transparent;transform:translate(var(--project-finance-history-share-offset-x, 0px))}.project-detail-topbar-icon-btn.project-finance-share-payments-inline:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-finance-history-expand{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;width:40px;height:40px;padding:0;border:none;background:none;cursor:pointer;color:var(--text-secondary);-webkit-tap-highlight-color:transparent;transform:translate(var(--project-finance-history-chev-offset-x, 0px))}.project-finance-history-expand:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.project-finance-history-toggle-left{display:inline-flex;align-items:center;gap:10px;min-width:0}.project-finance-history-icon{color:var(--text-secondary);flex-shrink:0}.project-finance-history-chev{display:block;width:20px;height:20px;color:var(--text-secondary);transition:transform .25s ease;flex-shrink:0}@media (max-width: 767px){.project-finance-history-chev{width:18px;height:18px}}.project-finance-history-row.is-open .project-finance-history-chev,.edit-groups-card-header.is-open .project-finance-history-chev{transform:rotate(180deg)}.project-finance-history-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.project-finance-history-panel.is-open{grid-template-rows:1fr}.project-finance-history-inner{overflow:hidden;min-height:0;box-sizing:border-box}.project-finance-history-panel.is-open .project-finance-history-inner{overflow:visible}.project-finance-history-empty{margin:0;padding:10px 2px 4px;font-size:14px;color:var(--text-muted);line-height:1.45}.project-payment-history-group{margin-bottom:12px}.project-payment-history-group:last-child{margin-bottom:0}.project-payment-history-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border)}.project-payment-history-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.project-payment-history-edit{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}.project-payment-history-edit:hover{background:var(--bg-card);color:var(--accent)}.project-payment-history-edit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-payment-history-date{font-size:14px;font-weight:700;color:var(--text-primary)}.project-payment-history-meta{font-size:13px;color:var(--text-secondary);margin-top:2px}.project-payment-history-comment{font-size:12px;color:var(--text-muted);margin-top:4px;line-height:1.4}.project-payment-history-amt-col{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.project-payment-history-amt{font-size:16px;font-weight:800;color:var(--text-primary);flex-shrink:0;text-align:right}.project-payment-history-amt--void{color:var(--text-muted);font-weight:700}.project-payment-history-void-badge{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.project-payment-history-item--void{border-style:dashed;opacity:.92}.project-payment-audit-wrap{margin-top:2px;margin-bottom:4px;padding:0 8px 8px 14px;border-left:2px solid var(--border);margin-left:10px}.project-payment-audit-heading{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.project-payment-audit-entry{margin-bottom:12px;font-size:12px;color:var(--text-secondary)}.project-payment-audit-entry:last-child{margin-bottom:0}.project-payment-audit-time{font-weight:700;color:var(--text-primary);margin-bottom:4px}.project-payment-audit-line{margin-top:2px;line-height:1.4}.project-payment-audit-note{margin-top:8px;padding:8px 10px;background:var(--bg-primary);border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-secondary);font-size:12px;line-height:1.45}.payment-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8300;background:#000000a6;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:confirmDialogFade .2s ease}@media (min-width: 480px){.payment-modal-overlay{align-items:center;padding:20px 16px}}.payment-modal{width:100%;max-width:440px;max-height:min(92vh,720px);overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:0 18px 20px;box-shadow:0 -8px 40px #00000073;animation:confirmDialogPop .22s ease}@media (min-width: 480px){.payment-modal{border-radius:var(--radius-lg);padding:0 20px 22px;box-shadow:0 20px 48px #0000008c}}.payment-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 14px;position:sticky;top:0;background:var(--bg-card);z-index:1}.payment-modal-title{font-size:18px;font-weight:800;margin:0;color:var(--text-primary)}.payment-modal-close{flex-shrink:0;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s ease,background .15s ease}.payment-modal-close:hover:not(:disabled){color:var(--text-primary);background:var(--bg-input)}.payment-modal-form{display:flex;flex-direction:column;gap:4px}.payment-modal-error{background:#ff4d4d1a;border:1px solid rgba(255,77,77,.25);border-radius:var(--radius-md);padding:10px 12px;color:var(--danger);font-size:13px;margin-bottom:8px}.payment-modal-hint{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--text-muted)}.payment-modal-amount-wrap{position:relative}.payment-modal-amount-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px #ffb80040}.payment-modal-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.payment-modal-clear:hover{color:var(--text-primary);background:var(--bg-primary)}.payment-modal-comment-wrap{position:relative}.payment-modal-comment{padding-bottom:28px}.payment-modal-comment-counter{position:absolute;right:12px;bottom:10px;font-size:12px;color:var(--text-muted);pointer-events:none}.payment-modal-actions{display:flex;gap:10px;margin-top:18px}.payment-modal-actions .btn{flex:1}@media (min-width: 768px){.sticky-action{padding:0 32px 16px;max-width:900px;width:100%;margin-inline:auto;box-sizing:border-box}}.recharts-default-tooltip{color:var(--text-primary)!important}.recharts-tooltip-label{color:var(--text-secondary)!important}.recharts-tooltip-item-name,.recharts-tooltip-item-value,.recharts-tooltip-item-separator{color:var(--text-primary)!important}.project-detail-tabs-rail{flex-shrink:0;position:relative;z-index:4;width:100%;box-sizing:border-box;background:var(--bg-primary);margin-top:-6px;padding:2px 16px 0}.project-detail-tabs-rail .project-detail-tabs{margin-bottom:10px;border-bottom:none}@media (min-width: 768px){.project-detail-tabs-rail{max-width:900px;margin-inline:auto;margin-top:-8px;padding:4px 32px 0}.project-detail-tabs-rail--four .project-detail-tab{font-size:12px;padding-left:8px;padding-right:8px;gap:5px}.project-detail-tabs-rail--four .project-detail-tab svg{width:18px;height:18px}}@media (max-width: 767px){.project-detail-tabs-rail{display:none!important}.app-layout--project-detail .project-detail-main{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.app-layout--project-detail .project-detail-footer-strip{z-index:100}.page-content.page-content--project-detail{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}}.project-detail-tabs{display:flex;gap:0;margin-bottom:14px;padding:0;background:transparent;border-bottom:1px solid var(--border)}.project-detail-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:12px 10px 10px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:0;background:transparent;color:var(--text-primary);font-family:Manrope,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:color .15s ease,border-color .15s ease}.project-detail-tab svg{flex-shrink:0}.project-detail-tab span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-detail-tab:disabled{opacity:.35;cursor:not-allowed}.project-detail-tab.is-active{color:var(--accent);border-bottom-color:var(--accent);background:transparent;box-shadow:none}.project-detail-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-detail-bottom-nav{display:none}@media (max-width: 767px){.project-detail-bottom-nav{display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:var(--bg-secondary);border-top:1px solid var(--border);padding:6px 0 max(10px,env(safe-area-inset-bottom,0px));z-index:95;box-sizing:border-box}.project-detail-bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 2px;cursor:pointer;color:var(--text-muted);transition:color .15s;border:none;background:none;font-family:Manrope,sans-serif;min-width:0}.project-detail-bottom-nav__item:disabled{opacity:.35;cursor:not-allowed}.project-detail-bottom-nav__item.is-active{color:var(--accent)}.project-detail-bottom-nav__item span{font-size:10px;font-weight:700;line-height:1.15;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.project-work-progress-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.project-work-progress-actions>.btn,.project-work-progress-actions>.project-work-create-from-works-wrap,.project-work-progress-actions>.project-work-progress-actions__slot{width:100%;min-width:0}.project-work-progress-actions__slot{display:flex}.project-work-progress-actions .btn{width:100%;min-width:0;white-space:nowrap}.project-work-progress-actions .btn svg{flex-shrink:0}@media (max-width: 767px){.project-work-progress-actions .btn{font-size:13px;padding:14px 8px;gap:5px}}.project-work-progress-filter-strip{margin-bottom:14px}.project-work-create-from-works-wrap{display:flex;min-width:0;cursor:help}.project-work-progress-actions .project-work-create-from-works-wrap{width:100%}.project-work-create-from-works-wrap .btn{pointer-events:none}.project-work-progress-execution{padding:14px 16px;margin-bottom:16px}.project-work-progress-execution-title{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.project-work-progress-execution-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.project-work-progress-execution-text{font-size:14px;font-weight:600;color:var(--text-primary);min-width:0}.project-work-progress-execution-pct{font-size:15px;font-weight:800;color:var(--text-primary);flex-shrink:0}.project-work-progress-progress-track{height:8px;border-radius:999px;background:var(--bg-input);overflow:hidden}.project-work-progress-progress-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .25s ease;max-width:100%}.project-work-progress-hint{margin:0;font-size:12px;color:var(--text-muted);line-height:1.4}.project-work-progress-empty{padding:28px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.project-work-progress-empty-icon{color:var(--text-muted);opacity:.85}.project-work-progress-empty-title{font-size:17px;font-weight:800}.project-work-progress-empty-hint{margin:0;font-size:13px;color:var(--text-secondary);max-width:320px;line-height:1.45}.project-work-progress-empty .project-work-create-from-works-wrap{width:100%;max-width:320px}.project-work-task-list{display:flex;flex-direction:column;gap:10px;padding-bottom:24px}.project-work-task-card{padding:14px 16px}.project-work-task-head{margin-bottom:12px}.project-work-task-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.project-work-task-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1;min-width:0}.project-work-task-badge-no-estimate{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--bg-input);border:1px solid var(--border);color:var(--text-muted);flex-shrink:0}.project-work-sync-estimate-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;cursor:pointer;font-size:14px;color:var(--text-primary);padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);box-sizing:border-box;outline:none;transition:border-color .15s ease,background .15s ease}.project-work-sync-estimate-row:hover{border-color:var(--accent);background:var(--bg-card)}.project-work-sync-estimate-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-work-sync-estimate-row .jk-checkbox{margin-top:2px;flex-shrink:0;pointer-events:none}.project-work-sync-estimate-copy{flex:1;min-width:0}.project-work-sync-estimate-label{display:block;font-weight:600}.project-work-sync-estimate-hint{display:block;margin-top:4px;font-size:12px;font-weight:500;color:var(--text-secondary);line-height:1.4}.project-work-task-title-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.project-work-task-menu{position:relative;flex-shrink:0;margin-left:2px}.project-work-task-menu-trigger{width:36px;height:36px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-secondary);box-shadow:none}.project-work-task-menu-trigger:hover:not(:disabled){background:var(--bg-input);border:none;color:var(--text-primary)}.project-work-task-menu-trigger:disabled{opacity:.5}.project-work-task-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-work-task-menu-dropdown{position:absolute;right:0;top:100%;margin-top:4px;z-index:100;min-width:168px;padding:6px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000073}.project-work-task-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-family:Manrope,sans-serif;font-size:14px;font-weight:600;cursor:pointer;text-align:left;outline:none}.project-work-task-menu-item:hover{background:var(--bg-input)}.project-work-task-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:0}.project-work-task-menu-item--danger{color:var(--danger)}.project-work-task-name{font-weight:700;font-size:15px;line-height:1.3;min-width:0}.project-work-task-meta{margin-top:6px;font-size:12px;color:var(--text-secondary)}.project-work-task-done-line{margin-top:8px;font-size:13px;font-weight:600;color:var(--text-primary)}.project-work-task-progress-wrap{margin-top:12px}.project-work-task-progress-row{display:flex;align-items:center;gap:10px}.project-work-task-progress-track{flex:1;min-width:0}.project-work-task-progress-sum{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary);flex-shrink:0}.project-work-task-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.project-work-task-split-link{display:inline-flex;align-items:center;padding:0;border:none;background:none;box-shadow:none;font-family:Manrope,sans-serif;font-size:14px;font-weight:600;color:var(--accent);cursor:pointer;text-align:right;outline:none;-webkit-tap-highlight-color:transparent}.project-work-task-split-link:hover:not(:disabled){text-decoration:underline}.project-work-task-split-link:disabled{opacity:.45;cursor:not-allowed}.project-work-task-zone-sync{margin:10px 0 0;padding:10px 12px;border-radius:var(--radius-md, 8px);background:var(--bg-input);border:1px solid var(--border)}.project-work-task-zone-sync__hint{margin:0 0 10px;font-size:13px;line-height:1.45;color:var(--text-secondary)}.project-work-task-zone-sync__btn{width:100%}.project-work-task-split-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.project-work-zones-block{border-top:1px solid var(--border);padding-top:0;padding-bottom:12px;margin-top:4px}.project-work-zones-block[data-zones-expanded=false]{padding-top:12px}.project-work-task-actions--below-zones{margin-top:0}.project-work-zones-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;border:none;background:none;color:var(--text-primary);font-family:Manrope,sans-serif;font-size:14px;font-weight:700;cursor:pointer}.project-work-zones-toggle-label{flex:1;min-width:0;text-align:left}.project-work-zones-toggle-chevron{flex-shrink:0;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.project-work-zones-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.project-work-zone-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto 26px;gap:6px 10px;align-items:center;margin:0;padding:4px 0;border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent}.project-work-zone-row:hover{background:var(--bg-input)}.project-work-zone-row:focus-within{outline:2px solid var(--accent);outline-offset:1px}.project-work-zone-lead{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:22px}.project-work-zone-row-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}.project-work-zone-dot{font-size:9px;line-height:1;color:var(--accent);pointer-events:none;-webkit-user-select:none;user-select:none}.project-work-zone-row-main{display:flex;flex-direction:column;gap:1px;min-width:0}.project-work-zone-row-name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.25}.project-work-zone-row-name.is-done{color:var(--text-secondary);text-decoration:line-through}.project-work-zone-row-qty{font-size:12px;font-weight:500;color:var(--text-muted);line-height:1.2}.project-work-zone-row-money{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary);text-align:right;white-space:nowrap}.project-work-zone-row-state{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.project-work-zone-icon-done{color:var(--accent)}.project-work-zone-icon-pending{color:var(--text-muted);opacity:.9}.project-work-progress-error{background:#ff4d4d1a;border:1px solid rgba(255,77,77,.3);border-radius:var(--radius-md);padding:10px 12px;color:var(--danger);font-size:13px;margin-bottom:12px}.project-work-split-rows{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.project-work-split-row{display:flex;gap:10px;align-items:center}.project-work-split-row .input:first-child{flex:1}.project-work-split-qty{width:88px;flex-shrink:0}.project-work-split-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}.project-work-split-remove:hover:not(:disabled){background:var(--bg-input);color:var(--danger)}.project-work-split-remove:disabled{opacity:.35;cursor:not-allowed}.project-work-split-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-work-split-add{width:100%;margin-bottom:8px}.sheet-footer--split-zones{margin-top:12px}.project-work-split-sum-hint{margin-top:10px;font-size:12px;color:var(--text-muted);text-align:center}.project-geometry-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 14px 12px}.project-finance-page-title{padding:10px 14px 12px}.project-geometry-section-toggle.project-finance-section-toggle{justify-content:flex-start;align-items:center;gap:6px}.project-geometry-section-title-btn,.project-geometry-section-chev-btn{border:none;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.project-geometry-section-title-btn{display:inline-flex;align-items:center;min-height:28px}.project-geometry-section-title-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.project-geometry-section-chev-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px}.project-geometry-section-head-spacer{flex:1;min-width:8px;min-height:28px;align-self:stretch;border:none;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.project-geometry-section-hint{flex-shrink:0;display:inline-flex;align-items:center}.project-geometry-rooms{display:flex;flex-direction:column;gap:14px}.project-geometry-room{padding:14px}.project-geometry-zone-head{display:flex;align-items:center;gap:10px}.project-geometry-zone-head--sticky{position:sticky;top:0;z-index:20;background-color:var(--bg-card);border-bottom:1px solid var(--border)}.project-geometry-zone-head--sticky>.project-geometry-zone-delete{background-color:var(--bg-card)}.project-geometry-zone-head--sticky>.project-geometry-zone-delete:hover:not(:disabled){background:#ff4d4d14}.project-geometry-zone-delete{flex-shrink:0}.project-geometry-zone-bar{flex:1;min-width:0;display:flex;align-items:flex-start;gap:10px;cursor:pointer;border-radius:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.project-geometry-zone-bar:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.project-geometry-zone-bar--open{margin:0;padding-bottom:12px;background-color:var(--bg-card)}.project-geometry-zone-toggle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:0;background:transparent;color:var(--text-secondary);transition:color .15s ease;margin-top:1px}.project-geometry-zone-bar:hover .project-geometry-zone-toggle{color:var(--text-primary)}.project-geometry-zone-toggle .project-finance-section-chev{transition:transform .2s ease}.project-geometry-zone-toggle.is-open .project-finance-section-chev{transform:rotate(180deg)}.project-geometry-zone-bar-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.project-geometry-zone-bar-title{font-weight:700;font-size:14px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-geometry-zone-bar-meta{font-size:12px;font-weight:600;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-geometry-zone-body{padding-top:12px}.project-geometry-surface{margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary)}.project-geometry-surface--wall{border-left:3px solid var(--accent)}.project-geometry-surface--floor{border-left:3px solid var(--success)}.project-geometry-surface--ceiling{border-left:3px solid var(--warning)}.project-geometry-surface:first-of-type{margin-top:0}.project-geometry-surface-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.project-geometry-surface-head-main{flex:1;min-width:0}.project-geometry-surface-kind-icon{flex-shrink:0;width:20px;height:18px;display:flex;align-items:center;justify-content:center;position:relative}.project-geometry-surface--wall .project-geometry-surface-kind-icon:before{content:"";position:absolute;top:2px;left:2px;bottom:2px;width:3px;border-radius:1px;background:var(--accent)}.project-geometry-surface--wall .project-geometry-surface-kind-icon:after{content:"";position:absolute;top:2px;left:7px;right:2px;bottom:2px;border-radius:2px;border:1px solid rgba(255,184,0,.45);background:repeating-linear-gradient(-40deg,#ffb80014,#ffb80014 2px,#ffb80038 2px,#ffb80038 4px)}.project-geometry-surface--floor .project-geometry-surface-kind-icon:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:8px;border-radius:2px;border:2px solid var(--success);background:#4dff9b0f}.project-geometry-surface--ceiling .project-geometry-surface-kind-icon:before{content:"";position:absolute;top:2px;left:2px;right:2px;height:3px;border-radius:1px;background:var(--warning)}.project-geometry-surface--ceiling .project-geometry-surface-kind-icon:after{content:"";position:absolute;top:8px;left:2px;right:2px;bottom:2px;border-radius:2px;border:1px solid rgba(255,159,77,.45);background:repeating-linear-gradient(-40deg,#ff9f4d14,#ff9f4d14 2px,#ff9f4d38 2px,#ff9f4d38 4px)}.project-geometry-surface-head .project-geometry-surface-head-title{margin-bottom:0;line-height:1.25}.project-geometry-wall-block{width:100%;min-width:0}.project-geometry-wall-width-row{width:100%;min-width:0;flex-direction:column;align-items:stretch}.project-geometry-wall-width-row>.input-group{flex:1;min-width:0;margin-bottom:0}.project-geometry-field-error{margin-top:6px;font-size:12px;color:var(--danger);line-height:1.35}.project-geometry-field-error-slot{margin-top:0;flex:0 0 auto}.project-geometry-field-error-slot:not(:empty){margin-top:6px}.project-geometry-field-error-slot:empty{display:none}.project-geometry-field-error-slot .project-geometry-field-error{margin-top:0}.project-geometry-opening-dims{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px;align-items:start}.project-geometry-opening-dim-col{display:flex;flex-direction:column;min-width:0;min-height:0;margin-bottom:0}.project-geometry-row-spacer{width:44px;flex-shrink:0}.project-geometry-subhead{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.project-geometry-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}.project-geometry-measure-row{--geom-measure-label-offset: calc(12px * 1.35 + 6px);--geom-measure-control-height: 44px;margin-bottom:8px}.project-geometry-measure-row__inputs{display:flex;gap:10px;align-items:flex-start}.project-geometry-measure-row__inputs>.input-group{flex:1;min-width:0;margin-bottom:0}.project-geometry-measure-row__delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:var(--geom-measure-label-offset);min-height:var(--geom-measure-control-height);min-width:52px}.project-geometry-measure-row__inputs>.input-group--wall-width-measure{flex:1;min-width:0}.project-geometry-measure-row__errors{display:flex;gap:10px;margin-top:0}.project-geometry-measure-row__errors>.project-geometry-field-error-slot{flex:1;min-width:0}.project-geometry-measure-row__errors>.project-geometry-measure-row__errors-spacer{flex-shrink:0;width:52px}.project-geometry-zone .btn-icon-delete{padding:10px;min-width:52px;min-height:52px}.project-geometry-zone .btn-icon-delete svg{width:22px;height:22px}.project-geometry-measure-row .project-geometry-wall-width-field{min-height:var(--geom-measure-control-height)}.project-geometry-wall-width-input-row{display:flex;align-items:center;gap:10px;width:100%}.project-geometry-wall-width-field{display:flex;align-items:center;flex:1;min-width:0;overflow:hidden;gap:8px;padding:0 10px 0 0;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .15s}.project-geometry-wall-width-field:focus-within{border-color:var(--accent)}.project-geometry-wall-width-field-input{flex:1;min-width:0;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.project-geometry-wall-width-sum--infield{flex-shrink:0;margin-left:auto;padding:0 2px 0 8px;text-align:right}.project-geometry-wall-width-sum{flex-shrink:0;font-size:13px;font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.project-geometry-segment-name-field{position:relative;display:block}.project-geometry-segment-name-field__input{width:100%;box-sizing:border-box}.project-geometry-segment-name-field--has-value .project-geometry-segment-name-field__input{padding-right:40px}.project-geometry-segment-name-field__clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);z-index:1;display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .12s ease,color .12s ease,background .12s ease;-webkit-tap-highlight-color:transparent}.project-geometry-segment-name-field:focus-within .project-geometry-segment-name-field__clear{opacity:1;pointer-events:auto}.project-geometry-segment-name-field__clear:hover{color:var(--text-primary);background:var(--accent-soft)}.project-geometry-segment-name-field__clear:focus-visible{outline:2px solid var(--accent);outline-offset:0;opacity:1;pointer-events:auto}.project-geometry-add-inline{width:auto!important;margin-top:6px;margin-bottom:8px;align-self:flex-start}.project-geometry-opening{padding-top:8px;margin-bottom:4px;border-top:1px solid var(--border)}.project-geometry-room-total{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.project-geometry-room-total-label{font-size:13px;color:var(--text-secondary)}.project-geometry-room-total-value{font-weight:700;font-size:15px;color:var(--accent)}.project-geometry-room-total-value--plain{color:var(--text-primary);font-size:14px;font-variant-numeric:tabular-nums}.project-geometry-surface-wall-totals{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.project-geometry-surface-wall-total-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.project-geometry-totals{margin-top:16px}.project-geometry-hint{font-size:12px;color:var(--text-secondary);margin-top:8px}.project-geometry-hint--warn{color:var(--warning)}.project-geometry-page{background:transparent;border:none;border-radius:0;padding:0}@media (max-width: 767px){.project-geometry-page .project-geometry-page-head{padding:10px 0 12px}.project-geometry-page .project-geometry-room.card{padding:12px 10px}.project-geometry-page .project-geometry-surface{padding:10px}.project-geometry-page .jk-summary-card.project-geometry-totals{padding:12px 10px}}.cost-adjustment-overlay{z-index:8100}.cost-adjustment-sheet{height:auto;max-height:50dvh;max-width:100%;min-width:0;padding-bottom:max(16px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;overflow:hidden}.cost-adjustment-sheet .sheet-body{flex:0 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;min-width:0}@media (min-width: 768px){.cost-adjustment-sheet{max-height:min(70vh,520px)}}.cost-adjustment-sheet__title-row{align-items:center}.cost-adjustment-sheet__title-with-hint{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.cost-adjustment-sheet__title-with-hint .catalog-item-picker__heading{flex:0 1 auto}.cost-adjustments-manage-sheet__title-row{align-items:center}.cost-adjustments-manage-sheet__title-with-hint{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.cost-adjustments-manage-sheet__title-with-hint .catalog-item-picker__heading{flex:0 1 auto}.cost-adjustment-sheet .input-group{min-width:0}.cost-adjustment-sheet__footer{min-width:0;overflow-x:hidden}.cost-adjustment-sheet__footer.sheet-footer--split .btn{flex:1 1 0;min-width:0;max-width:none;width:auto}.cost-adjustment-type-row{display:flex;flex-wrap:wrap;gap:16px}.cost-adjustment-radio{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--text-primary);cursor:pointer}.cost-adjustment-radio input{accent-color:var(--accent)}.cost-adjustment-percent-row{display:flex;align-items:stretch;gap:8px}.cost-adjustment-percent-row .input{flex:1;min-width:0}.cost-adjustment-percent-suffix{display:flex;align-items:center;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-weight:700}.cost-adjustment-checks{display:flex;flex-wrap:wrap;gap:16px}.cost-adjustment-check{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--text-primary);cursor:pointer}.cost-adjustment-check input{accent-color:var(--accent)}.cost-adjustment-error{margin:10px 0 0;font-size:13px;color:var(--danger)}.project-cost-adjustments{padding:14px 16px}.project-cost-adjustments__head{display:flex;align-items:center;justify-content:flex-start;gap:6px;margin-bottom:10px}.project-cost-adjustments__head .section-title{margin:0}.project-cost-adjustments__head-actions{margin-left:auto;display:flex;align-items:center;gap:6px;flex-shrink:0}.project-cost-adjustments__edit-btn{width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--bg-secondary);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease,border-color .15s ease}.project-cost-adjustments__edit-btn:hover{background:var(--bg-card);border-color:var(--text-muted)}.project-cost-adjustments__edit-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.project-cost-adjustments__item--readonly{padding:4px 0}.project-cost-adjustments__item--readonly .project-cost-adjustments__compact-line{display:block;font-size:14px;font-weight:600}.project-cost-adjustments__targets{flex-shrink:0;font-size:12px;font-weight:500;color:var(--text-muted)}.project-cost-adjustments__list--manage{margin-top:4px}.cost-adjustments-manage-overlay{z-index:8050}.cost-adjustments-manage-sheet{height:auto;max-height:50dvh;max-width:100%;min-width:0;padding-bottom:max(16px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;overflow:hidden}.cost-adjustments-manage-sheet .sheet-body{flex:0 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;min-width:0}@media (min-width: 768px){.cost-adjustments-manage-sheet{max-height:min(70vh,520px)}}.cost-adjustments-manage-sheet__body{padding-bottom:8px;min-width:0}.cost-adjustments-manage-sheet__footer{flex-shrink:0;min-width:0;overflow-x:hidden}.cost-adjustments-manage-sheet__footer.sheet-footer--split .btn{flex:1 1 0;min-width:0;max-width:none}.cost-adjustments-manage-sheet__list-wrap{display:flex;flex-direction:column;min-width:0}.cost-adjustments-manage-sheet__add-zone{margin-top:6px}.cost-adjustments-manage-sheet .project-cost-adjustments__item{min-width:0}.cost-adjustments-manage-sheet .project-cost-adjustments__item-main{min-width:0;overflow:hidden}.cost-adjustments-manage-sheet .project-cost-adjustments__name{min-width:0}.cost-adjustment-calc-hint{margin:0 0 14px;font-size:13px;color:var(--text-secondary);line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.cost-adjustment-calc-hint__example{display:block;margin-top:2.9em}.project-cost-adjustments__list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.project-cost-adjustments__item{display:flex;align-items:center;gap:6px}.project-cost-adjustments__item--off .project-cost-adjustments__item-main,.project-cost-adjustments__item--off .project-cost-adjustments__name,.project-cost-adjustments__item--off .project-cost-adjustments__pct,.project-cost-adjustments__item--off .project-cost-adjustments__amount,.project-cost-adjustments__item--off .project-cost-adjustments__targets{color:var(--text-muted)}.project-cost-adjustments__enable-btn{flex-shrink:0;padding:0;border:none;background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.project-cost-adjustments__enable-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.project-cost-adjustments__enable-spacer{width:22px;flex-shrink:0}.project-cost-adjustments__group-amount--off{font-weight:600;font-size:12px}.project-cost-adjustments__item-main{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-family:Manrope,sans-serif;font-size:14px;text-align:left;cursor:pointer}.project-cost-adjustments__item-main:disabled{cursor:default}.project-cost-adjustments__bullet{color:var(--text-muted);flex-shrink:0}.project-cost-adjustments__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-cost-adjustments__pct{flex-shrink:0;font-weight:700;font-variant-numeric:tabular-nums}.project-cost-adjustments__pct--discount{color:var(--success)}.project-cost-adjustments__pct--surcharge{color:var(--warning)}.project-cost-adjustments__delete{min-width:44px;min-height:44px}.project-cost-adjustments__empty{margin:0 0 10px;font-size:13px;color:var(--text-muted)}.project-cost-adjustments__add{width:100%}.project-detail-estimate-block{margin-bottom:16px}.project-detail-estimate-block--adjustments{margin-top:4px}.project-detail-items-head--adjustments{padding-top:8px}.project-detail-items-head__title-group{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1 auto}.project-detail-items-head__title-group .project-detail-items-head__title{flex:0 1 auto;min-width:0}.project-cost-adjustments--estimate-block,.project-estimate-totals{padding:14px 16px}.project-estimate-totals .project-cost-adjustments__estimate-totals{margin-top:0;padding-top:0;border-top:none}.project-cost-adjustments__groups{display:flex;flex-direction:column;gap:14px}.project-cost-adjustments__group-title{margin:0 0 6px;font-size:14px;font-weight:800;color:var(--text-primary)}.project-cost-adjustments__group-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.project-cost-adjustments__group-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.35}.project-cost-adjustments__group-pct{font-size:15px;flex-shrink:0}.project-cost-adjustments__group-amount{font-size:14px;text-align:right;flex-shrink:0}.project-cost-adjustments__group-row.project-cost-adjustments__pct--discount .project-cost-adjustments__group-pct,.project-cost-adjustments__group-row.project-cost-adjustments__pct--discount .project-cost-adjustments__group-amount{color:var(--success)}.project-cost-adjustments__group-row.project-cost-adjustments__pct--surcharge .project-cost-adjustments__group-pct,.project-cost-adjustments__group-row.project-cost-adjustments__pct--surcharge .project-cost-adjustments__group-amount{color:var(--accent)}.project-cost-adjustments__group-row.project-cost-adjustments__group-row--off .project-cost-adjustments__group-pct,.project-cost-adjustments__group-row.project-cost-adjustments__group-row--off .project-cost-adjustments__group-amount,.project-cost-adjustments__group-amount--off,.project-cost-adjustments__item--off .project-cost-adjustments__pct--discount,.project-cost-adjustments__item--off .project-cost-adjustments__pct--surcharge{color:var(--text-muted)}.project-cost-adjustments__amount{flex-shrink:0;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;margin-left:auto}.project-cost-adjustments__list--compact{margin-bottom:8px}.project-cost-adjustments__compact-line{font-size:14px;font-weight:600;text-align:left}.project-cost-adjustments__compact-line.project-cost-adjustments__pct--discount{color:var(--success)}.project-cost-adjustments__compact-line.project-cost-adjustments__pct--surcharge{color:var(--accent)}.project-cost-adjustments__estimate-totals{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.project-cost-adjustments__estimate-total-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.project-cost-adjustments__estimate-total-row--grand{margin-top:4px;padding-top:10px;border-top:1px dashed var(--border)}.project-cost-adjustments__estimate-total-label{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.35;flex:1;min-width:0}.project-cost-adjustments__estimate-total-row--grand .project-cost-adjustments__estimate-total-label{font-size:15px;font-weight:700}.project-cost-adjustments__estimate-total-value{font-size:17px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0}.project-cost-adjustments__estimate-total-value--grand{font-size:20px;font-weight:800}.project-finance-estimate{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.project-finance-estimate__title{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.project-finance-estimate__body{display:flex;flex-direction:column;gap:4px}.project-finance-estimate__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.project-finance-estimate__row--subtotal{margin-bottom:4px}.project-finance-estimate__row--grand{margin-top:2px}.project-finance-estimate__label{font-size:14px;color:var(--text-primary)}.project-finance-estimate__label--muted{color:var(--text-secondary);font-size:13px}.project-finance-estimate__value{font-size:14px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;flex-shrink:0}.project-finance-estimate__value--strong{font-weight:700}.project-finance-estimate__value--discount{color:var(--success)}.project-finance-estimate__value--surcharge{color:var(--accent)}.project-finance-estimate__value--grand{font-size:18px;font-weight:800;color:var(--accent)}.project-finance-estimate__divider{height:1px;margin:8px 0 6px;background:var(--border)}.project-cost-adjustments__summary{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.project-cost-adjustments__summary-title{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--text-primary)}.project-cost-adjustments__summary-block{margin-bottom:12px}.project-cost-adjustments__summary-block--total{margin-top:4px;margin-bottom:0;padding-top:10px;border-top:1px dashed var(--border)}.project-cost-adjustments__summary-block-title{margin-bottom:6px;font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.project-cost-adjustments__summary-block--total .project-cost-adjustments__summary-block-title{font-size:15px;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:normal}.project-cost-adjustments__summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px}.project-cost-adjustments__summary-row--grand{margin-top:6px;margin-bottom:0}.project-cost-adjustments__summary-label{font-size:13px;color:var(--text-secondary)}.project-cost-adjustments__summary-row--grand .project-cost-adjustments__summary-label{font-size:14px;font-weight:600;color:var(--text-primary)}.project-cost-adjustments__summary-value{font-size:14px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;flex-shrink:0}.project-cost-adjustments__summary-value--adjusted{color:var(--accent)}.project-cost-adjustments__summary-value--grand{font-size:20px;font-weight:800;color:var(--accent)}.project-cost-adjustments__note{margin:12px 0 6px;font-size:12px;color:var(--text-secondary);line-height:1.4}.project-cost-adjustments__applied-list{margin:0;padding:0 0 0 16px;font-size:12px;color:var(--text-muted);line-height:1.45}.project-detail-items-head__sum--adjusted{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.project-detail-items-head__sum-sub{font-size:11px;font-weight:500;color:var(--text-muted);text-decoration:line-through}.settings-documents-form{display:flex;flex-direction:column;gap:14px;padding:16px}.settings-documents-form__intro{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.45}.settings-documents-form__footer-text{display:block;width:100%;max-width:100%;box-sizing:border-box;resize:vertical;min-height:4.5em;max-height:16em}.settings-documents-form__char-count{margin:6px 0 0;font-size:12px;color:var(--text-muted);text-align:right}.settings-documents-form__error{background:#ff4d4d1a;border:1px solid rgba(255,77,77,.3);border-radius:var(--radius-md);padding:10px 14px;color:var(--danger);font-size:13px}.settings-documents-form__logo-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.settings-documents-form__logo-preview{max-height:56px;max-width:160px;object-fit:contain;border-radius:var(--radius-sm);background:var(--bg-input);padding:6px}.settings-documents-form__logo-placeholder{min-width:120px;min-height:56px;display:flex;align-items:center;justify-content:center;background:var(--bg-input);border-radius:var(--radius-sm);font-size:12px;color:var(--text-muted)}.settings-documents-form__colors{display:flex;flex-direction:column;gap:10px}.settings-documents-form__color-input{display:flex;gap:8px;align-items:center}.settings-documents-form__color-input input[type=color]{width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent}.settings-documents-form__row{display:flex;gap:12px;flex-wrap:wrap}.settings-documents-form__social{display:flex;flex-direction:column;gap:8px}.settings-documents-form__social-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.settings-documents-form__social-row .input{flex:1;min-width:120px}.settings-documents-form__social-remove{flex-shrink:0}.settings-documents-form__social-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:#fff;flex-shrink:0}.logo-color-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.logo-color-picker__canvas{display:none}.logo-color-picker__hint{font-size:12px;color:var(--text-muted)}.logo-color-picker__btn-compact{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0}.logo-color-picker__btn{display:inline-flex;align-items:center;gap:6px}.publish-estimate-sheet{padding:12px 0 0}@media (max-width: 767px){.sheet.sheet-3q.publish-estimate-sheet{height:100dvh;max-height:100dvh;border-radius:0;padding-top:max(8px,env(safe-area-inset-top,0px));padding-bottom:0}}.publish-estimate-sheet__head{flex-shrink:0;padding:0 16px 8px}.publish-estimate-sheet__body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 16px max(16px,env(safe-area-inset-bottom,0px))}.publish-estimate-sheet__form{display:flex;flex-direction:column;gap:12px;padding:0 0 16px}.publish-estimate-sheet__error{background:#ff4d4d1a;border:1px solid rgba(255,77,77,.3);border-radius:var(--radius-md);padding:10px 14px;color:var(--danger);font-size:13px}.publish-estimate-sheet__hint{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.45}.publish-estimate-sheet__check{display:flex;align-items:center;gap:8px;font-size:14px}.publish-estimate-sheet__password-row{display:flex;gap:8px;align-items:stretch}.publish-estimate-sheet__password-row .input{flex:1}.publish-estimate-sheet__success{padding:12px;display:flex;flex-direction:column;gap:8px}.publish-estimate-sheet__success-title{font-weight:700}.publish-estimate-sheet__link{font-size:12px;word-break:break-all;color:var(--accent)}.publish-estimate-sheet__pw-hint{margin:0;font-size:13px}.publish-estimate-sheet__share{margin-bottom:16px;padding:14px;border:1px solid var(--accent);background:var(--accent-soft)}.publish-estimate-sheet__share-badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-bottom:6px}.publish-estimate-sheet__share-title{margin:0 0 8px;font-size:16px;font-weight:800}.publish-estimate-sheet__share-intro{margin:0 0 12px;font-size:13px;color:var(--text-secondary);line-height:1.45}.publish-estimate-sheet__copy-block{margin-bottom:10px}.publish-estimate-sheet__copy-value{margin-top:4px;padding:10px 12px;background:var(--bg-input);border-radius:var(--radius-sm);font-size:12px;word-break:break-all;line-height:1.45}.publish-estimate-sheet__copy-value--password{font-size:18px;font-weight:800;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.06em}.publish-estimate-sheet__share-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.publish-estimate-sheet__password-group{display:flex;flex-direction:column;gap:8px}.publish-estimate-sheet__password-note{margin:0;font-size:12px;color:var(--text-muted);line-height:1.4}.publish-estimate-sheet__password-input{font-size:18px;font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.publish-estimate-sheet__password-generate{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:auto;align-self:stretch;padding:0}.publish-estimate-sheet__versions-note{margin:0 0 10px;font-size:12px;color:var(--text-muted);line-height:1.4}.publish-estimate-sheet__versions{padding:0 0 8px}.publish-estimate-sheet__versions-title{margin:0 0 10px;font-size:14px;font-weight:700}.publish-estimate-sheet__versions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.publish-estimate-sheet__version-item{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--bg-input);border-radius:var(--radius-md);font-size:13px}.publish-estimate-sheet__version-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.publish-estimate-sheet__version-summary{min-width:0;flex:1}.publish-estimate-sheet__version-date{display:block;color:var(--text-muted);font-size:12px;margin-top:2px}.publish-estimate-sheet__version-revoked{display:inline-block;margin-left:8px;color:var(--danger);font-size:11px;font-weight:700}.publish-estimate-sheet__version-views{font-size:11px;color:var(--text-muted);margin-top:4px}.publish-estimate-sheet__version-actions{display:flex;gap:6px;flex-shrink:0}.publish-estimate-sheet__version-details-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin:0;padding:6px 0 0;border:none;border-top:1px solid var(--border);background:transparent;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;text-align:left}.publish-estimate-sheet__version-details-toggle.is-open .publish-estimate-sheet__version-details-chev{transform:rotate(180deg)}.publish-estimate-sheet__version-details-chev{flex-shrink:0;transition:transform .2s ease}.publish-estimate-sheet__version-details{margin:0;padding:8px 0 0;display:flex;flex-direction:column;gap:8px}.publish-estimate-sheet__version-details-row{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:8px 12px;align-items:start}.publish-estimate-sheet__version-details-row dt{margin:0;font-size:11px;font-weight:600;color:var(--text-muted);line-height:1.35}.publish-estimate-sheet__version-details-row dd{margin:0;font-size:12px;line-height:1.4;word-break:break-word}.publish-estimate-sheet__version-details-muted{color:var(--text-muted);font-style:italic}.publish-estimate-sheet__version-details-link{display:block;margin-bottom:6px;font-size:11px;word-break:break-all}a.publish-estimate-sheet__version-details-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}a.publish-estimate-sheet__version-details-link:hover{color:var(--accent-hover, var(--accent))}.publish-estimate-sheet__version-details-link--inactive{color:var(--text-muted);text-decoration:none;cursor:default}.publish-estimate-sheet__copy-value--link{display:block;color:var(--accent);text-decoration:underline;text-underline-offset:2px}.publish-estimate-sheet__copy-value--link:hover{color:var(--accent-hover, var(--accent))}.publish-estimate-sheet__version-details-copy{width:100%}.publish-estimate-sheet__version-details-loading,.publish-estimate-sheet__version-details-error{margin:4px 0 0;font-size:12px;color:var(--text-muted)}.publish-estimate-sheet__version-details-error{color:var(--danger)}.sheet-footer--estimate-share{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 16px}.sheet-footer--estimate-share .btn{flex:1 1 auto;min-width:0}.public-estimate-gate{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--bg-primary)}.public-estimate-gate__card{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 20px}.public-estimate-gate__title{margin:0 0 8px;font-size:20px;font-weight:800}.public-estimate-gate__hint{margin:0 0 16px;font-size:14px;color:var(--text-secondary)}.public-estimate-gate__form{display:flex;flex-direction:column;gap:16px}.public-estimate-gate__form .input-group{margin:0}.public-estimate-gate__submit{width:100%;margin-top:4px}.public-estimate-gate__error{margin:0;padding:10px 12px;border-radius:var(--radius-md);background:#ff4d4d1a;color:var(--danger);font-size:13px}.public-estimate-view{min-height:100dvh;display:flex;flex-direction:column;background:#f3f4f6}.public-estimate-view__toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 16px;background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.public-estimate-view__version{margin-left:auto;font-size:12px;color:var(--text-muted)}.public-estimate-view__frame{flex:1;width:100%;min-height:calc(100dvh - 56px);border:none;background:#fff}@media print{.public-estimate-view__toolbar{display:none!important}.public-estimate-view__frame{min-height:auto;height:auto}}
