:root{--color-background: var(--bg-color);--color-surface-1: color-mix(in srgb, var(--secondary-bg-color) 85%, white 15%);--color-surface-2: color-mix(in srgb, var(--secondary-bg-color) 70%, white 30%);--color-primary: var(--primary-color);--color-text-primary: var(--text-color);--color-text-secondary: var(--hint-color);--color-text-placeholder: var(--hint-color);--color-success: var(--success-color);--color-danger: var(--danger-color);--color-separator: var(--border-color);--text-color-secondary: var(--hint-color);--input-bg: var(--bg-color);--font-size-xs: 13px;--font-size-s: 15px;--font-size-m: 16px;--font-size-l: 22px;--line-height-m: 1.4;--spacing-xs: 4px;--spacing-s: 8px;--spacing-m: 12px;--spacing-l: 16px;--spacing-xl: 24px;--border-radius-s: 8px;--border-radius-m: 12px;--shadow-m: 0 4px 12px rgba(0, 0, 0, .08)}body.dark-theme,.construction-calculator-module.dark-theme{--color-background: #000000;--color-surface-1: #1C1C1E;--color-surface-2: #2C2C2E;--color-primary: #2481cc;--color-text-primary: #FFFFFF;--color-text-secondary: #8D8D92;--color-text-placeholder: #5C5C5E;--color-success: #30D158;--color-danger: #FF453A;--color-separator: #38383A;--shadow-m: 0 4px 12px rgba(0, 0, 0, .2)}*,*:before,*:after{box-sizing:border-box}:root{--tg-theme-bg-color: #eff3f8;--tg-theme-secondary-bg-color: #ffffff;--tg-theme-text-color: #212121;--tg-theme-hint-color: #aab2bb;--tg-theme-button-color: #2481cc;--tg-theme-button-text-color: #ffffff;--tg-theme-link-color: #2481cc;--tg-theme-destructive-text-color: #e53935;--primary-color: var(--tg-theme-button-color, #2481cc);--primary-text-color: var(--tg-theme-button-text-color, #ffffff);--bg-color: var(--tg-theme-bg-color, #eff3f8);--secondary-bg-color: var(--tg-theme-secondary-bg-color, #ffffff);--text-color: var(--tg-theme-text-color, #212121);--hint-color: var(--tg-theme-hint-color, #aab2bb);--link-color: var(--tg-theme-link-color, #2481cc);--danger-color: var(--tg-theme-destructive-text-color, #e53935);--success-color: #28a745;--border-color: #e0e0e0;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--border-radius: 10px;--box-shadow: 0 4px 12px rgba(0, 0, 0, .08);--vh: 1vh;--header-h: calc(70px + env(safe-area-inset-top, 0px)) ;--nav-h: calc(60px + env(safe-area-inset-bottom, 0px)) ;--text-color-secondary: var(--hint-color);--input-bg: var(--secondary-bg-color);--priority-low: #808080;--priority-medium: #ffc107;--priority-high: #e53935;--priority-urgent: #d32f2f}body.dark-theme{--tg-theme-bg-color: #1c1c1d;--tg-theme-secondary-bg-color: #2c2c2e;--tg-theme-text-color: #ffffff;--tg-theme-hint-color: #8d8d92;--tg-theme-button-color: #2481cc;--tg-theme-button-text-color: #ffffff;--tg-theme-link-color: #2481cc;--tg-theme-destructive-text-color: #ff453a;--border-color: #3a3a3c;--success-color: #30d158;--box-shadow: 0 4px 12px rgba(0, 0, 0, .2);--priority-low: #808080;--priority-medium: #ffc107;--priority-high: #ff453a;--priority-urgent: #ff4d4d}html{scroll-behavior:smooth;overscroll-behavior-x:none}html,body{height:100%}body{margin:0;font-family:var(--font-family);background-color:var(--tg-theme-bg-color, #eff3f8);color:var(--tg-theme-text-color, #212121);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease;position:relative;width:100%;min-height:100dvh;min-height:calc(var(--vh, 1vh) * 100);overflow:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-x:none;overscroll-behavior-y:auto;transform:none!important}.app-container{max-width:600px;margin:0 auto;padding:0 16px}.app-main{position:relative;height:calc(var(--vh, 1vh) * 100);box-sizing:border-box;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding-top:var(--header-h);padding-bottom:var(--nav-h)}.app-main>*:last-child{margin-bottom:12px}@media (hover: none) and (pointer: coarse){.app-main,.modal-body{scrollbar-width:none;-ms-overflow-style:none}.app-main::-webkit-scrollbar,.modal-body::-webkit-scrollbar{width:0;height:0;background:transparent;display:none}}header{display:flex;justify-content:space-between;align-items:center;gap:8px}.estimate-header,.projects-list-header,.project-detail-header,.workspace-header{position:relative;background-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;z-index:1;padding:12px 0;margin:8px 0 16px;box-shadow:none;min-height:48px;display:flex;align-items:center;justify-content:space-between}body.dark-theme .estimate-header,body.dark-theme .projects-list-header,body.dark-theme .workspace-header,body.dark-theme .project-detail-header{box-shadow:0 2px 4px #0003}header h1{font-size:24px;font-weight:600;margin:0;color:var(--text-color);text-align:left;flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;align-items:center;gap:0;flex-shrink:0}.header-btn{background:none;border:none;cursor:pointer;font-size:24px;padding:4px;color:var(--tg-theme-hint-color, #aab2bb);line-height:1}.header-btn .icon-wrapper{width:24px;height:24px}.add-project-btn{background:var(--primary-color);border:none;border-radius:50%;width:48px;height:48px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;transition:background-color .2s ease,transform .1s ease;box-shadow:0 2px 8px #3390ec4d}.add-project-btn:hover{background:#1e6bb8;transform:scale(1.05)}.add-project-btn:active{transform:scale(.95)}.add-project-btn .icon-wrapper{width:24px;height:24px}.projects-list-header .header-left{display:flex;align-items:center;gap:12px}.projects-list-header .back-btn{background:none;border:none;cursor:pointer;color:var(--color-text-primary);padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.card{background-color:var(--tg-theme-secondary-bg-color, #ffffff);border-radius:var(--border-radius);padding:12px;margin-bottom:12px;box-shadow:var(--box-shadow);transition:background-color .2s ease}input,select{background-color:var(--tg-theme-secondary-bg-color, #ffffff)!important;color:var(--tg-theme-text-color, #212121)!important;border:1px solid var(--border-color)!important;border-radius:8px;padding:6px 10px;appearance:none;font-size:16px;font-family:inherit;width:100%;-webkit-appearance:none;height:44px}input.input-error,textarea.input-error{border-color:var(--danger-color)!important}.error-message{color:var(--danger-color);font-size:12px;margin-top:-8px;margin-bottom:4px}textarea{background-color:var(--tg-theme-secondary-bg-color, #ffffff)!important;color:var(--tg-theme-text-color, #212121)!important;border:1px solid var(--border-color)!important;border-radius:8px;padding:6px 10px;font-size:16px;font-family:inherit;width:100%;-webkit-appearance:none;min-height:44px}input::placeholder,textarea::placeholder{color:var(--tg-theme-hint-color, #aab2bb)}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(var(--is-dark, 0))}body.dark-theme input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1)}.client-info-input{padding:12px}.estimate-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 16px}.meta-field{display:flex;flex-direction:column;gap:4px}.meta-field label{font-size:var(--font-size-xs);color:var(--hint-color)}.meta-field input{padding:8px}.items-list{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.item-card{background-color:var(--tg-theme-secondary-bg-color, #ffffff);border-radius:var(--border-radius);padding:10px 14px;box-shadow:var(--box-shadow);position:relative;display:flex;flex-direction:column;gap:10px}.item-card.dragging{opacity:.5;background-color:var(--primary-color)}.drag-handle{color:var(--tg-theme-hint-color, #aab2bb);padding-right:12px;touch-action:none;cursor:grab}.drag-handle .icon-wrapper{width:20px;height:20px}.item-header{display:flex;justify-content:space-between;align-items:center;color:var(--tg-theme-hint-color, #aab2bb);font-size:var(--font-size-xs)}.item-number{flex-grow:1}.item-header-actions{display:flex;align-items:center;gap:4px}.attach-btn,.remove-btn{background:none;border:none;color:var(--tg-theme-hint-color, #aab2bb);cursor:pointer;padding:4px;line-height:1}.attach-btn .icon-wrapper,.remove-btn .icon-wrapper{width:20px;height:20px}.item-inputs{display:flex;flex-direction:column;gap:10px}.item-name-input{width:100%}.item-details-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:10px;align-items:center}.item-row-total{text-align:right;font-weight:500}.image-preview-container{position:relative;width:80px;height:80px;margin-top:4px}.image-preview-container.large-preview{width:120px;height:120px}.image-preview{width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid var(--border-color)}.remove-image-btn{position:absolute;top:-8px;right:-8px;background-color:var(--danger-color);color:#fff;border:2px solid var(--secondary-bg-color);border-radius:50%;width:24px;height:24px;font-size:16px;line-height:1;text-align:center;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.remove-image-btn .icon-wrapper{width:16px;height:16px}.item-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;border-top:1px solid var(--border-color);padding-top:12px}.item-type-toggle{display:flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.item-type-toggle button{background-color:var(--tg-theme-secondary-bg-color, #ffffff);border:none;padding:6px 10px;font-size:12px;cursor:pointer;color:var(--tg-theme-hint-color, #aab2bb);font-weight:500}.item-type-toggle button.active{background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff)}.item-total{text-align:right;font-weight:500;font-size:16px;color:var(--text-color)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:var(--border-radius);font-size:16px;font-weight:600;cursor:pointer;border:none;transition:transform .1s ease,opacity .2s}.btn .icon-wrapper{width:20px;height:20px}.btn:disabled,button:disabled{cursor:not-allowed!important;opacity:.6;transform:scale(1)!important}.btn-primary{background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff)}.btn-secondary{background-color:transparent;color:var(--tg-theme-link-color, #2481cc);border:1px solid var(--tg-theme-link-color, #2481cc)}.save-btn{color:var(--tg-theme-text-color, #212121);background-color:var(--tg-theme-secondary-bg-color, #ffffff);border:1px solid var(--border-color)}.view-all-btn{background-color:var(--tg-theme-secondary-bg-color, #ffffff);color:var(--tg-theme-link-color, #2481cc);border:1px solid var(--tg-theme-link-color, #2481cc);border-radius:var(--border-radius);padding:12px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;margin-top:12px}.add-items-container{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:16px}.add-items-container .btn{font-weight:500}.btn-ai{border-color:#9c27b0;color:#9c27b0}body.dark-theme .btn-ai{border-color:#ce93d8;color:#ce93d8}.btn-tertiary{background:none;color:var(--tg-theme-hint-color, #aab2bb);padding:14px;width:100%;text-align:center}.summary-details{display:flex;flex-direction:column;gap:16px}.summary-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.summary-row label{font-size:16px;font-weight:500;flex-shrink:0}.input-group{display:flex;align-items:center;gap:4px;flex-grow:1}.input-group input{flex:1;min-width:0}.toggle-group{display:flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;flex-shrink:0}.toggle-group button{background-color:var(--tg-theme-secondary-bg-color, #ffffff);border:none;padding:10px 12px;cursor:pointer;color:var(--tg-theme-hint-color, #aab2bb);font-weight:600}.total-container{margin-top:24px;margin-bottom:24px;padding:20px}.total-breakdown{width:100%;display:flex;flex-direction:column;gap:12px}.total-row{display:flex;justify-content:space-between;font-size:16px}.total-row span:first-child{color:var(--hint-color)}.total-row span:last-child{font-weight:500}.grand-total{font-size:22px;font-weight:700;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.grand-total span:first-child{color:var(--text-color)}.grand-total span:last-child{color:var(--primary-color)}.actions-footer{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.actions-footer .shopping-list-btn,.actions-footer .share-btn{grid-column:1 / -1}.progress-input-container{display:flex;align-items:center;gap:var(--spacing-m);margin-bottom:var(--spacing-m)}.progress-slider{flex:1;height:6px;border-radius:3px;background:var(--color-surface-2);outline:none;-webkit-appearance:none}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-primary);cursor:pointer}.progress-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:none}.progress-value{min-width:40px;text-align:center;font-weight:600;color:var(--color-text-primary)}.auto-status-update{background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:var(--border-radius-s);padding:var(--spacing-s);margin-top:var(--spacing-s);text-align:center;color:var(--color-success)}.work-stage-details{display:flex;flex-direction:column;gap:4px}.work-stage-dates{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.work-stage-status{display:flex;align-items:center;gap:8px}.status-badge{padding:2px 8px;border-radius:12px;font-size:10px;font-weight:500;text-transform:uppercase}.status-planned{background:#9e9e9e33;color:#9e9e9e}.status-in_progress{background:#2481cc33;color:#2481cc}.status-completed{background:#4caf5033;color:#4caf50}.progress-indicator{font-size:10px;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface-2);padding:2px 6px;border-radius:8px}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;overscroll-behavior-x:none;touch-action:pan-y}.modal-content{width:100%;max-width:500px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;overscroll-behavior-x:none;touch-action:pan-y;-webkit-overflow-scrolling:touch}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border-color);flex-shrink:0}.modal-header h2{margin:0;font-size:22px}.close-btn{background:none;border:none;cursor:pointer;color:var(--tg-theme-hint-color, #aab2bb);line-height:1;padding:8px}.close-btn .icon-wrapper{width:24px;height:24px}.modal-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--border-color)}.modal-tabs button{background:none;border:none;padding:10px 16px;font-size:16px;font-weight:500;cursor:pointer;color:var(--tg-theme-hint-color, #aab2bb);border-bottom:3px solid transparent}.modal-body{display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex-grow:1}.estimates-modal-list .modal-search-input{margin-bottom:12px}.no-results-message{text-align:center;color:var(--tg-theme-hint-color, #aab2bb);padding:20px 0}.modal-body label{font-size:var(--font-size-xs);font-weight:500;color:var(--tg-theme-hint-color, #aab2bb);margin-bottom:-8px}.modal-footer{margin-top:20px;flex-shrink:0}.logo-preview-container{display:flex;align-items:center;gap:16px}.logo-preview{max-width:80px;max-height:80px;border-radius:8px;border:1px solid var(--border-color)}.remove-logo-btn{width:auto;padding:8px 12px;font-size:14px;text-align:left}.list-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;border:1px solid var(--border-color);background-color:var(--tg-theme-secondary-bg-color, #ffffff);border-radius:var(--border-radius);transition:border-color .2s,background-color .2s}.list-item:active{background-color:var(--tg-theme-bg-color, #eff3f8)}.list-item-info{display:flex;flex-direction:column;gap:4px;flex-grow:1;overflow:hidden}.list-item-info strong{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;font-weight:600}.list-item-info span{font-size:var(--font-size-xs);color:var(--tg-theme-hint-color, #aab2bb)}.list-item-actions{display:flex;gap:8px;flex-shrink:0;align-items:center;flex-wrap:wrap;justify-content:flex-end;min-width:0}.list-item-actions .btn{padding:8px 12px;font-size:14px;width:auto}.list-item-actions .btn .icon-wrapper{width:16px;height:16px}.list-item-actions .btn-tertiary{padding:8px;min-width:36px;border:none}.list-item-actions .btn-primary{font-weight:700;min-width:36px}.list-item-actions .btn-secondary{padding:8px;min-width:36px}.status-badge{font-size:12px;font-weight:600;padding:3px 8px;border-radius:12px;color:#fff;margin-left:8px;vertical-align:middle}.estimate-date{font-size:var(--font-size-xs);color:var(--hint-color)}.status-select{font-size:var(--font-size-xs)}.estimate-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;min-width:0}.status-badge{white-space:nowrap;overflow:visible;text-overflow:clip;flex-shrink:0}.estimate-subtitle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.estimate-amount{font-weight:600;color:var(--color-text-primary)}.library-modal-body{gap:16px}.library-add-form-wrapper h3,.library-list-wrapper h3{font-size:16px;margin:0 0 10px;color:var(--text-color)}.library-add-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.library-add-form input:first-child{grid-column:1 / -1}.library-add-form input:last-child{grid-column:1 / -1}.library-form-actions{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.library-form-actions .btn-primary{grid-column:1 / -1}.library-form-actions .btn-primary:has(+.btn-secondary){grid-column:1 / 2}.library-modal-body hr{border:none;border-top:1px solid var(--border-color);margin:0}.library-list{display:flex;flex-direction:column;gap:10px}.list-item.editing{border-color:var(--primary-color);background-color:color-mix(in srgb,var(--primary-color) 10%,transparent)}.library-filters{display:flex;gap:10px;margin-bottom:12px}.library-filters>*{flex:1}.category-group h4{margin:16px 0 8px;font-size:14px;font-weight:600;color:var(--hint-color);text-transform:uppercase}.category-group:first-child h4{margin-top:0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;width:100%;transform:none;display:flex;justify-content:space-around;background-color:var(--tg-theme-secondary-bg-color, #ffffff);border-top:1px solid var(--border-color);box-shadow:0 -2px 10px #0000001a;z-index:999;min-height:var(--nav-h);padding:8px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}body.dark-theme .bottom-nav{box-shadow:0 -2px 10px #0000004d}.bottom-nav button{background:none;border:none;cursor:pointer;flex-grow:1;padding:0;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--tg-theme-hint-color, #aab2bb);font-family:inherit;font-size:12px}.bottom-nav button .icon{font-size:24px}.bottom-nav button .icon-wrapper{width:24px;height:24px}.bottom-nav button.active{color:var(--tg-theme-link-color, #2481cc)}.bottom-nav button:hover{color:var(--tg-theme-link-color, #2481cc);transition:color .2s ease}.project-filters{margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.toggle-switch{display:flex;width:100%;background-color:var(--tg-theme-secondary-bg-color, #ffffff);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.toggle-switch button{flex-grow:1;background:none;border:none;padding:10px;font-size:14px;font-weight:600;color:var(--tg-theme-hint-color, #aab2bb);cursor:pointer;transition:background-color .2s,color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.toggle-switch button.active{background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff)}.projects-list{display:flex;flex-direction:column;gap:10px}.project-card{cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:transform .1s}.project-card strong{font-size:18px;font-weight:600}.project-card small{color:var(--hint-color);font-size:var(--font-size-xs)}.project-detail-header h1,.estimate-header h1{display:flex;align-items:center;gap:12px}.estimate-header h1.with-back-btn{text-align:center}.back-btn{background:none;border:none;padding:0 8px 0 0;color:var(--tg-theme-hint-color, #aab2bb);cursor:pointer;flex-shrink:0}.back-btn .icon-wrapper{width:24px;height:24px}.project-detail-main{display:flex;flex-direction:column;gap:12px}.project-section{padding:0}.project-section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 12px}.project-section-header.collapsible-header{cursor:pointer;user-select:none}.project-section-header .header-actions{display:flex;align-items:center;gap:8px;position:relative}.collapse-icon{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;margin-left:auto;flex-shrink:0}.project-section-body.collapsed{display:none!important}.collapsed-indicator{text-align:center;padding:12px;color:var(--color-text-secondary);font-size:var(--font-size-xs);border-top:1px solid var(--color-border);margin-top:8px}.project-section-header h3{font-size:18px;font-weight:600;margin:0}.add-in-header-btn{background:none;border:none;color:var(--tg-theme-link-color, #2481cc);cursor:pointer;padding:4px}.add-in-header-btn .icon-wrapper{width:24px;height:24px}.project-section-body{padding:12px 16px 14px;margin-top:0;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.project-section-body .btn{margin-top:0}.project-items-list{display:flex;flex-direction:column;gap:10px}.project-items-list .list-item{cursor:pointer}.list-item>.icon-wrapper{flex-shrink:0;color:var(--tg-theme-hint-color, #aab2bb);width:24px;height:24px}.list-item-arrow{color:var(--tg-theme-hint-color, #aab2bb)}.list-item-arrow .icon-wrapper{width:20px;height:20px}.project-items-list .list-item .list-item-info{cursor:pointer}.project-list{display:flex;flex-direction:column;gap:10px}.project-item{padding:12px;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;background-color:var(--tg-theme-secondary-bg-color, #ffffff);transition:background-color .2s ease}.project-item:active{background-color:var(--tg-theme-bg-color, #eff3f8)}.project-name{font-weight:600;margin-bottom:4px;color:var(--tg-theme-text-color, #212121)}.project-details{font-size:var(--font-size-xs);color:var(--tg-theme-hint-color, #aab2bb)}.no-projects{text-align:center;color:var(--tg-theme-hint-color, #aab2bb);padding:20px;margin:0}.financial-dashboard .project-section-body{display:flex;flex-direction:column;gap:16px}.dashboard-grid-final{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.dashboard-column{display:flex;flex-direction:column;gap:16px}.dashboard-item{background-color:var(--tg-theme-secondary-bg-color, #ffffff);padding:16px;border-radius:var(--border-radius);display:flex;flex-direction:column;gap:4px;height:100%}.expenses-card{justify-content:space-between}.dashboard-breakdown{margin-top:8px;display:flex;flex-direction:column;gap:8px}.breakdown-item{display:flex;justify-content:space-between;font-size:14px;color:var(--tg-theme-hint-color, #aab2bb)}.profit-card-final{flex-direction:row;justify-content:space-between;align-items:center}.profit-details-final{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.cashflow-item{display:grid;grid-template-columns:60px 100px 1fr;align-items:center;gap:1rem}.cashflow-date{color:var(--tg-theme-hint-color, #aab2bb)}.cashflow-type span{font-weight:500}.cashflow-amount-details{text-align:right}.cashflow-amount-details .amount{font-weight:500}.cashflow-amount-details .description{font-size:14px;color:var(--tg-theme-hint-color, #aab2bb);margin-top:2px}.dashboard-value{font-size:18px;font-weight:700}.dashboard-value.profit-value{color:var(--success-color)}.dashboard-value.expense-value{color:var(--danger-color)}.dashboard-value.payment-value{color:var(--tg-theme-link-color, #2481cc)}.dashboard-label{font-size:12px;color:var(--tg-theme-hint-color, #aab2bb)}.finance-item{cursor:default!important}.finance-item>.icon-wrapper,.finance-item .finance-receipt-thumb{flex-shrink:0}.finance-item>.icon-wrapper{width:24px;height:24px}.finance-receipt-thumb{width:40px;height:40px;object-fit:cover;border-radius:8px;border:1px solid var(--border-color)}.expense-value{color:var(--danger-color)}.payment-value{color:var(--success-color)}.cashflow-list{display:flex;flex-direction:column;gap:12px}.cashflow-item{display:flex;gap:12px;align-items:flex-start}.cashflow-date{font-size:14px;color:var(--tg-theme-text-color, #212121);min-width:60px}.cashflow-details{flex:1;display:flex;flex-direction:column;gap:4px}.cashflow-type{font-size:14px;color:var(--tg-theme-text-color, #212121)}.cashflow-amount-details{display:flex;flex-direction:column;gap:2px}.cashflow-amount-details .amount{font-size:16px;font-weight:600}.cashflow-amount-details .description{font-size:12px;color:var(--tg-theme-hint-color, #aab2bb)}.income-color{color:var(--success-color)}.expense-color{color:var(--error-color)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.photo-thumbnail{aspect-ratio:1 / 1;cursor:pointer;overflow:hidden;border-radius:var(--border-radius);border:1px solid var(--border-color)}.photo-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease-in-out}.photo-viewer-overlay{background-color:#000c;align-items:stretch;justify-content:center}.photo-viewer-content{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px;width:100%;height:100%}.photo-viewer-content img{max-width:100%;max-height:80%;object-fit:contain;border-radius:var(--border-radius)}.photo-viewer-caption{color:#fff;background-color:#00000080;padding:8px 12px;border-radius:var(--border-radius);text-align:center;max-width:100%}.photo-viewer-actions{position:absolute;top:16px;right:16px;display:flex;gap:16px}.photo-viewer-actions .close-btn,.photo-viewer-actions .delete-photo-btn{color:#fff;background-color:#0006;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer}.photo-viewer-actions .delete-photo-btn .icon-wrapper,.photo-viewer-actions .close-btn .icon-wrapper{width:28px;height:28px}.tag-chip{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-color);border-radius:16px;padding:4px 10px;font-size:12px;cursor:pointer}.tag-chip.active{border-color:var(--primary-color);background:color-mix(in oklab,var(--primary-color) 15%,transparent)}.lazy-image{display:block}.lazy-image.blur-up{filter:blur(10px);transform:translateZ(0)}.lazy-image:not(.blur-up){filter:none;transition:filter .3s ease}.shopping-list{display:flex;flex-direction:column;gap:10px}.shopping-list-item{display:flex;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.shopping-list-item:last-child{border-bottom:none}.shopping-list-item span:last-child{font-weight:500}.document-preview{margin-top:12px;padding:10px;background-color:var(--bg-color);border-radius:var(--border-radius);border:1px solid var(--border-color)}.document-preview p{margin:0 0 4px;font-size:var(--font-size-xs)}.document-item{cursor:default!important}.note-item{padding:0;border:none;background:transparent;cursor:default!important}.note-item .list-item-info{background-color:var(--bg-color);padding:12px;border-radius:var(--border-radius);border:1px solid var(--border-color)}.note-content{margin:0;white-space:pre-wrap;font-size:16px}.note-date{font-size:12px!important;color:var(--hint-color)!important;text-align:right;margin-top:8px}.note-textarea{min-height:150px;resize:vertical}.act-textarea{width:100%;height:40vh;min-height:250px;resize:vertical;font-family:Courier New,Courier,monospace;font-size:14px;white-space:pre-wrap}.ai-modal-status{display:flex;justify-content:center;align-items:center;padding:20px 0;color:var(--hint-color)}.ai-modal-status.error-message{color:var(--danger-color);text-align:center}.ai-suggestions-list{margin-top:16px;display:flex;flex-direction:column;gap:8px}.ai-suggestions-list h4{margin:0 0 8px;font-size:16px}.ai-suggestion-item{display:flex;align-items:center;gap:12px;padding:10px;background-color:var(--bg-color);border-radius:var(--border-radius)}.ai-suggestion-item input[type=checkbox]{width:20px;height:20px;flex-shrink:0}.ai-suggestion-item .suggestion-details{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--text-color)}.ai-suggestion-item .suggestion-details span{color:var(--hint-color);font-size:12px}.icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}.icon-wrapper svg{width:100%;height:100%}.loader{border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@media (min-width: 481px){.add-items-container{grid-template-columns:1fr 1fr}.add-items-container .btn-ai{grid-column:1 / -1}}@media (max-width: 500px){.list-item{flex-direction:row;align-items:center;gap:12px}.estimates-modal-list .list-item{flex-direction:column;align-items:stretch;gap:16px}.estimates-modal-list .list-item-actions{justify-content:space-between}.actions-footer{grid-template-columns:1fr}}@media (max-width: 480px){.toggle-switch button{padding:8px 6px;font-size:13px}}@media (max-width: 400px){.summary-row{flex-direction:column;align-items:flex-start;gap:8px}.input-group{width:100%}.toggle-switch{flex-wrap:wrap;gap:2px}.toggle-switch button{flex:1 1 calc(50% - 1px);padding:8px 4px;font-size:12px;min-width:0}}.app-header{position:fixed;top:0;left:0;right:0;width:100%;transform:none;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;background-color:var(--tg-theme-secondary-bg-color, #ffffff);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);gap:10px;z-index:500;min-height:calc(70px + env(safe-area-inset-top,0px))}.app-header-left{display:flex;align-items:center;gap:10px;overflow:hidden}.app-header-right{display:flex;align-items:center;gap:0;flex-shrink:0}.app-header-right .header-btn{background:none;border:none;cursor:pointer;font-size:24px;padding:6px;color:var(--tg-theme-hint-color, #aab2bb);line-height:1}.app-header-right .header-btn .icon-wrapper{width:24px;height:24px}.app-logo{height:60px;width:60px;border-radius:8px;flex-shrink:0}.app-header h1{font-size:18px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-container{display:flex;flex-direction:column;gap:16px;height:100%;min-height:0;position:relative;overflow-y:auto;-webkit-overflow-scrolling:touch}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-header h2{margin:0;font-size:20px}.card-header .btn{padding:6px 12px;font-size:14px;width:auto;flex-grow:0}.document-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.document-list-item{display:flex;align-items:center;gap:12px;padding:10px;background-color:var(--tg-theme-secondary-bg-color, #ffffff);border-radius:var(--border-radius);border:1px solid var(--border-color)}.document-list-item .icon-wrapper{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:var(--tg-theme-bg-color, #eff3f8);color:var(--tg-theme-hint-color, #aab2bb);flex-shrink:0}.document-list-item .icon-wrapper svg{width:20px;height:20px}.doc-info{flex-grow:1;overflow:hidden}.doc-info span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.doc-info small{color:var(--tg-theme-hint-color, #aab2bb);font-size:12px}.doc-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.btn-icon{background:none;border:none;cursor:pointer;color:var(--tg-theme-hint-color, #aab2bb);padding:6px;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.btn-icon .icon-wrapper{width:20px;height:20px}.task-input-container{display:flex;gap:8px;margin-bottom:12px;align-items:flex-start}.task-input-container textarea{flex-grow:1;min-height:44px;line-height:1.4;padding:10px}.task-input-container .add-task-btn{flex-shrink:0;width:44px;height:44px;padding:0;border-radius:50%;background-color:var(--primary-color);color:var(--primary-text-color);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.task-input-container .add-task-btn .icon-wrapper{width:24px;height:24px}.task-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.task-list li{display:flex;align-items:center;gap:8px;font-size:16px;padding:4px 0;min-height:32px}.task-list li.completed span{text-decoration:line-through;color:var(--hint-color)}.task-list li span{flex-grow:1;cursor:pointer;word-break:break-word}.task-list li button{background:none;border:none;color:var(--tg-theme-hint-color, #aab2bb);cursor:pointer;padding:4px;flex-shrink:0}.task-list li button .icon-wrapper{width:20px;height:20px}.scratchpad-card{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.expand-btn{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--tg-theme-link-color, #2481cc);cursor:pointer;padding:6px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px;z-index:10}.scratchpad-card .expand-btn{position:absolute;top:8px;right:8px}.project-section .expand-btn,.card .expand-btn{position:relative;top:auto;right:auto;margin-left:8px}.project-section,.scratchpad-card{position:relative}.scratchpad-modal.modal-overlay{display:flex;align-items:center;justify-content:center;padding:10px}.scratchpad-modal .modal-content{height:85vh;max-width:90vw;width:min(800px,90vw);display:flex;flex-direction:column;margin:0 auto;position:relative}.scratchpad-modal .modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border-color);background-color:var(--card-bg-color);border-radius:var(--border-radius) var(--border-radius) 0 0}.scratchpad-modal .modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-color)}.scratchpad-modal textarea{flex:1;width:100%;resize:none;font-size:16px;line-height:1.6;padding:24px;border:none;background-color:var(--bg-color);color:var(--text-color);font-family:inherit;outline:none;border-radius:0 0 var(--border-radius) var(--border-radius)}.scratchpad-modal textarea::placeholder{color:var(--hint-color);opacity:.7}@media (max-width: 768px){.scratchpad-modal.modal-overlay{padding:5px}.scratchpad-modal .modal-content{height:90vh;width:95vw;max-width:none}.scratchpad-modal .modal-header{padding:16px 20px 12px}.scratchpad-modal .modal-header h2{font-size:18px}.scratchpad-modal textarea{padding:20px;font-size:16px}}@media (max-width: 480px){.scratchpad-modal.modal-overlay{padding:2px}.scratchpad-modal .modal-content{height:95vh;width:98vw}.scratchpad-modal .modal-header{padding:12px 16px 8px}.scratchpad-modal .modal-header h2{font-size:16px}.scratchpad-modal textarea{padding:16px;font-size:16px}}.scratchpad-card textarea{flex:1;min-height:0;width:100%;resize:none;font-size:16px;line-height:1.5;border:none!important;outline:none!important;background:transparent!important;box-shadow:none!important;-webkit-appearance:none;appearance:none;color:var(--tg-theme-text-color, #212121);font-family:inherit;box-sizing:border-box;overflow-y:auto;padding:12px;touch-action:manipulation}.scratchpad-card{overflow:hidden}.public-client-report .client-note-card{display:flex;flex-direction:column;gap:12px}.public-client-report .client-note-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}.public-client-report .client-note-header h2{margin:0;font-size:18px}.public-client-report .client-note-status{font-size:12px;line-height:1.2;color:var(--hint-color);padding:4px 10px;border-radius:999px;background-color:#8d8d921f;white-space:nowrap}.public-client-report .client-note-status.status-saving{color:var(--link-color);background-color:#3390ec1f}.public-client-report .client-note-status.status-saved{color:var(--success-color);background-color:#30d1581f}.public-client-report .client-note-status.status-error{color:var(--danger-color);background-color:#ff453a1f}.public-client-report .client-note-card textarea{border:1px solid var(--border-color)!important;background-color:var(--bg-color)!important;border-radius:12px;padding:12px;min-height:180px;resize:vertical;color:var(--text-color)}.public-client-report .client-note-card textarea[readonly]{cursor:not-allowed;opacity:.85}.public-client-report .client-note-hint{margin:0;font-size:12px;color:var(--hint-color)}body.telegram-webapp .workspace-container{height:calc(var(--vh, 1vh) * 100 - 120px);overflow-y:auto;scroll-behavior:smooth}body.telegram-webapp .workspace-container .scratchpad-card{display:flex;flex-direction:column;flex:1;min-height:300px}body.telegram-webapp .workspace-container .scratchpad-card textarea{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:300px}body.telegram-webapp .card.scratchpad-card:not(.workspace-container .scratchpad-card){display:flex;flex-direction:column;max-height:350px;flex-shrink:0}body.telegram-webapp .card.scratchpad-card:not(.workspace-container .scratchpad-card) textarea{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:250px;min-height:150px}.project-detail-header{min-height:48px!important;max-height:48px!important;padding:12px 16px!important}.project-detail-header .back-btn{padding:2px;margin-right:8px}.project-detail-header .header-actions .header-btn{padding:2px;font-size:20px}.project-detail-header .header-actions .header-btn .icon-wrapper{width:20px;height:20px}.note-textarea{width:100%;height:calc(100vh - 80px);resize:none;font-size:16px;line-height:1.6;padding:20px;border:none;background-color:var(--tg-theme-bg-color, #eff3f8);color:var(--tg-theme-text-color, #212121);font-family:inherit;outline:none}.note-textarea::placeholder{color:var(--tg-theme-hint-color, #aab2bb);opacity:.7}.task-list li.completed span{text-decoration:line-through;color:var(--tg-theme-hint-color, #aab2bb)}.task-list li input[type=checkbox]{width:16px;height:16px;margin-right:8px;flex-shrink:0}.task-list li .task-info{display:flex;flex-direction:column;flex-grow:1;gap:4px;cursor:pointer}.task-list li .task-title{font-size:16px}.task-list li .task-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--tg-theme-hint-color, #aab2bb)}.task-list li .task-project{font-weight:500}.task-list li .task-duedate{background-color:var(--border-color);color:var(--text-color);padding:2px 6px;border-radius:6px}.task-group{margin-bottom:20px}.task-group:last-child{margin-bottom:0}.inventory-item .list-item-info{flex-direction:row;align-items:center}.inventory-item .status-select{flex-basis:120px;flex-shrink:0}.task-group h4{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--tg-theme-hint-color, #aab2bb);text-transform:uppercase;border-bottom:1px solid var(--border-color);padding-bottom:6px}.tags-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.tag-item{display:flex;align-items:center;gap:6px;background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);padding:4px 8px;border-radius:16px;font-size:14px;font-weight:500}.remove-tag-btn{background:none;border:none;color:var(--tg-theme-button-text-color, #ffffff);cursor:pointer;padding:0;line-height:1;opacity:.7}.remove-tag-btn .icon-wrapper{width:16px;height:16px}.add-tag-form{display:flex;gap:8px;margin-top:12px}.add-tag-form .btn{width:auto;padding:10px 16px}.tool-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:150px;height:150px;background-color:var(--tg-theme-secondary-bg-color, #ffffff);border:2px dashed var(--border-color);border-radius:var(--border-radius);color:var(--tg-theme-hint-color, #aab2bb);cursor:pointer;margin:0 auto}.tool-photo-placeholder .icon-wrapper{width:48px;height:48px}@media (max-width: 768px){input[type=text],input[type=number],input[type=email],input[type=tel],input[type=url],input[type=search],textarea,select{font-size:16px!important}.modal-content{max-height:90vh;overflow-y:auto}input:focus,textarea:focus,select:focus{position:relative;z-index:1000}html{scroll-behavior:smooth}body.modal-open{overflow:hidden;position:fixed;width:100%}body{-webkit-overflow-scrolling:touch}}.tabs{display:flex;margin-bottom:16px;background:var(--tg-theme-secondary-bg-color, #ffffff);border-radius:12px;padding:4px;gap:4px}.tab-button{padding:12px 20px;cursor:pointer;background:none;border:none;color:var(--tg-theme-hint-color, #aab2bb);font-size:16px;font-weight:500;border-radius:8px;transition:all .2s ease;flex:1;text-align:center}.tab-button.active{background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);font-weight:600}.tab-button:active:not(.active){background:var(--tg-theme-bg-color, #eff3f8)}.empty-list-message-with-button{text-align:center;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:16px}.empty-list-message-with-button .no-results-message{margin:0}.add-consumable-form{margin-bottom:20px}.form-row{margin-bottom:12px}.form-input-long{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius-m);background-color:var(--input-bg);color:var(--text-color);font-size:var(--font-size-m);outline:none;transition:border-color .2s}.form-input-small{width:100px;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius-m);background-color:var(--input-bg);color:var(--text-color);font-size:var(--font-size-m);outline:none;transition:border-color .2s}.form-row{display:flex;gap:12px;align-items:center}.add-button{padding:12px 24px;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-m);font-size:var(--font-size-m);font-weight:500;cursor:pointer;transition:background-color .2s}.add-button:disabled{background-color:var(--color-surface-2);color:var(--color-text-secondary);cursor:not-allowed}.consumables-list{display:flex;flex-direction:column;gap:12px}.cashflow-list{display:flex;flex-direction:column;gap:1rem}.cashflow-item{display:flex;align-items:flex-start;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.cashflow-item:last-child{border-bottom:none}.cashflow-date{flex-shrink:0;width:55px;color:var(--text-color-secondary);font-size:.9em}.cashflow-details{flex-grow:1;display:flex;flex-direction:column}.cashflow-main-row{display:flex;justify-content:space-between;width:100%;font-weight:500}.cashflow-description{font-size:.85em;color:var(--text-color-secondary);text-align:right;width:100%;margin-top:4px}.income-color{color:#28a745}.expense-color{color:#dc3545}.task-item-with-actions{display:flex;align-items:center;gap:8px}.task-checkbox{width:18px;height:18px;margin-right:8px;cursor:pointer}.task-info{flex:1;cursor:pointer;padding:8px 0}.task-title{display:block;font-weight:500;color:var(--text-color);margin-bottom:4px}.task-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tg-theme-hint-color, #aab2bb)}.task-status{font-size:12px;color:var(--tg-theme-hint-color, #aab2bb)}.tasks-list{list-style:none;padding:0;margin:0}.tasks-list li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-color)}.tasks-list li:last-child{border-bottom:none}.tasks-list li.completed{opacity:.6}.tasks-list li.completed .task-title{text-decoration:line-through}.tasks-list input[type=checkbox]{width:18px;height:18px;margin-right:8px;cursor:pointer}.task-project{font-size:12px;color:var(--tg-theme-hint-color, #aab2bb)}.task-duedate{font-size:12px;color:var(--tg-theme-hint-color, #aab2bb);margin-left:8px}.priority-dot{width:12px!important;height:12px!important;border-radius:50%!important;margin-left:8px;display:inline-block;flex-shrink:0;box-sizing:border-box;min-width:12px!important;min-height:12px!important;max-width:12px!important;max-height:12px!important}.task-groups-container{display:flex;flex-direction:column;gap:16px}.task-group h4{font-size:14px;font-weight:600;color:var(--hint-color);margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.task-list{list-style:none;padding:0;margin:0}.task-list li{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--border-color);min-height:32px}.task-list li:last-child{border-bottom:none}.task-list li.completed{opacity:.6}.task-list li.completed .task-title{text-decoration:line-through}.task-list input[type=checkbox]{width:16px;height:16px;margin-right:8px;cursor:pointer}.task-actions{display:flex;gap:4px;margin-left:auto}.task-action-btn{background:none;border:none;padding:4px;border-radius:4px;cursor:pointer;color:var(--tg-theme-hint-color, #aab2bb);transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.task-action-btn svg{width:14px;height:14px}.file-preview-container{display:flex;align-items:center;justify-content:space-between;padding:12px;background-color:var(--secondary-bg-color);border-radius:var(--border-radius);margin-bottom:12px}.file-preview{display:flex;flex-direction:column;gap:4px}.file-name{font-weight:500;color:var(--text-color)}.file-size{font-size:12px;color:var(--hint-color)}.remove-file-btn{background:none;border:none;padding:4px;border-radius:4px;cursor:pointer;color:var(--tg-theme-hint-color, #aab2bb);transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.file-info{margin-top:8px;display:flex;flex-direction:column;gap:4px}.file-info small{color:var(--hint-color);font-size:12px}.photo-report-modal{max-width:800px;max-height:calc(var(--vh, 1vh) * 100 - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px);display:flex;flex-direction:column;overflow:hidden}.photos-preview-container{margin-top:16px}.photos-preview-container h4{margin:0 0 12px;color:var(--text-color);font-size:14px;font-weight:500}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:16px}.photo-preview{position:relative;border-radius:var(--border-radius);overflow:hidden;aspect-ratio:1}.photo-preview img{width:100%;height:100%;object-fit:cover}.remove-photo-btn{position:absolute;top:4px;right:4px;background:#000000b3;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.photo-item textarea{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--bg-color);color:var(--text-color);font-size:12px;resize:vertical;min-height:40px}.photo-report-modal .modal-body{overflow-y:auto}.photo-report-modal .modal-header{position:sticky;top:0;background:var(--bg-color);z-index:1}.photo-report-modal .modal-footer{position:sticky;bottom:0;background:var(--bg-color);padding-top:12px;border-top:1px solid var(--border-color)}.photos-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:16px}.photo-preview-item{display:flex;flex-direction:column;gap:8px}.photo-preview-item .photo-preview{position:relative;border-radius:var(--border-radius);overflow:hidden;aspect-ratio:1;background-color:var(--bg-secondary)}.photo-preview-item .photo-preview img{width:100%;height:100%;object-fit:cover}.photo-caption-input{width:100%;padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--bg-color);color:var(--text-color);font-size:12px;resize:none}.photo-caption-input:focus{outline:none;border-color:var(--primary-color)}.photo-reports-list{display:flex;flex-direction:column;gap:16px}.photo-report-item{border:1px solid var(--border-color);border-radius:var(--border-radius);padding:16px;background-color:var(--bg-color)}.photo-report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.photo-report-header h4{margin:0;color:var(--text-color);font-size:16px;font-weight:500}.photo-report-date{font-size:12px;color:var(--hint-color)}.photo-report-item .photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.photo-report-item .photo-thumbnail{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:1;cursor:pointer;transition:transform .2s ease}.photo-report-item .photo-thumbnail img{width:100%;height:100%;object-fit:cover}.photo-thumbnail.more-photos{background-color:var(--secondary-bg-color);display:flex;align-items:center;justify-content:center;color:var(--hint-color);font-size:12px;font-weight:500}.photo-viewer-overlay{background-color:#000000e6;backdrop-filter:blur(4px)}.photo-viewer-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;background-color:var(--bg-color);border-radius:var(--border-radius);overflow:hidden}.photo-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color)}.photo-viewer-header h3{margin:0;color:var(--text-color);font-size:18px;font-weight:500}.photo-counter{font-size:14px;color:var(--hint-color)}.photo-viewer-main{position:relative;display:flex;align-items:center;justify-content:center;min-height:400px;max-height:60vh}.photo-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;border:none;border-radius:50%;width:48px;height:48px;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.photo-nav-btn.prev-btn{left:16px}.photo-nav-btn.next-btn{right:16px}.photo-container{display:flex;flex-direction:column;align-items:center;max-width:100%;max-height:100%}.photo-container img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--border-radius)}.pdf-viewer-overlay{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:16px;background:#000000bf;backdrop-filter:blur(2px)}.pdf-viewer-container{width:min(960px,100%);height:min(calc(var(--vh, 1vh) * 100),100vh);background:var(--bg-color);color:var(--text-color);box-shadow:0 16px 48px #00000059;border-radius:20px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-color)}.pdf-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--secondary-bg-color);border-bottom:1px solid var(--border-color);gap:12px}.pdf-viewer-button{display:inline-flex;align-items:center;gap:8px;border:none;background:var(--primary-color);color:var(--primary-text-color);border-radius:12px;padding:10px 16px;cursor:pointer;font-size:14px;font-weight:600;transition:opacity .2s ease,transform .2s ease;box-shadow:0 6px 18px #3390ec4d}.pdf-viewer-button svg{width:20px;height:20px}.pdf-viewer-button:hover{opacity:.92;transform:translateY(-1px)}.pdf-viewer-button:active{transform:translateY(0);opacity:1}.pdf-viewer-button[data-variant=secondary]{background:transparent;color:var(--text-color);border:1px solid var(--border-color);box-shadow:none}.pdf-viewer-button[data-variant=secondary]:hover{opacity:1;background:var(--secondary-bg-color);transform:none}.pdf-viewer-title{flex:1;text-align:center;font-size:15px;font-weight:600;color:var(--text-color);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pdf-viewer-frame{flex:1;width:100%;border:none;background:var(--secondary-bg-color)}@media (max-width: 768px){.pdf-viewer-overlay{padding:0}.pdf-viewer-container{width:100%;height:calc(var(--vh, 1vh) * 100);border-radius:0}.pdf-viewer-toolbar{padding:12px}.pdf-viewer-button{padding:10px 14px;font-size:13px}}@media (max-width: 768px){.photo-grid{grid-template-columns:repeat(3,1fr);gap:4px}}.photo-viewer-caption{margin:12px 0 0;padding:0 16px;text-align:center;color:var(--text-color);font-size:14px;line-height:1.4}.photo-thumbnails{display:flex;gap:8px;padding:16px;overflow-x:auto;border-top:1px solid var(--border-color)}.photo-thumbnail-btn{flex-shrink:0;width:60px;height:60px;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s ease;background:none;padding:0}.photo-thumbnail-btn img{width:100%;height:100%;object-fit:cover}.priority-dot{width:12px!important;height:12px!important;border-radius:50%!important;min-width:12px!important;min-height:12px!important;max-width:12px!important;max-height:12px!important;transform:translateZ(0);will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.list-item-icon-wrapper,.list-item-icon-button{width:40px!important;height:40px!important;border-radius:50%!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;transform:translateZ(0);will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}@media (max-width: 768px){.modal-content{max-height:85vh;display:flex;flex-direction:column}.modal-body{max-height:calc(85vh - 120px);overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-footer{position:sticky;bottom:0;background-color:var(--card-bg-color);border-top:1px solid var(--border-color);padding:16px;margin-top:0;flex-shrink:0;z-index:10}}.photo-viewer-actions{display:flex;justify-content:space-between;align-items:center;padding:16px;border-top:1px solid var(--border-color)}.close-btn,.delete-photo-btn{background:none;border:none;padding:8px;border-radius:8px;cursor:pointer;color:var(--tg-theme-hint-color, #aab2bb);transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.photo-report-modal .form-group{margin-bottom:20px}.photo-report-modal .form-group label{display:block;font-size:14px;font-weight:600;color:var(--text-color);margin-bottom:8px}.photo-report-modal .form-input,.photo-report-modal .form-select{width:100%;padding:12px;font-size:15px;border:1px solid var(--border-color);border-radius:8px;background:var(--secondary-bg-color);color:var(--text-color);transition:all .2s ease}.photo-report-modal .form-input:focus,.photo-report-modal .form-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #3478f61a}.photo-report-modal .form-input::placeholder{color:var(--hint-color)}.file-input-wrapper{position:relative;display:flex;align-items:center;gap:12px}.file-input{position:absolute;opacity:0;pointer-events:none}.file-input-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease}.file-input-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.file-input-hint{font-size:13px;color:var(--hint-color)}.photos-preview-container{margin-top:20px}.photos-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.photos-preview-header h4{margin:0;font-size:16px;font-weight:600;color:var(--text-color)}.photos-count{font-size:13px;font-weight:500;color:var(--hint-color);background:var(--secondary-bg-color);padding:4px 12px;border-radius:12px}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.photo-item{display:flex;flex-direction:column;gap:8px}.photo-preview{position:relative;width:100%;padding-top:100%;border-radius:8px;overflow:hidden;background:var(--secondary-bg-color)}.photo-preview img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.photo-number{position:absolute;top:8px;left:8px;background:#000000b3;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.remove-photo-btn{position:absolute;top:8px;right:8px;background:#ef4444e6;backdrop-filter:blur(4px);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .2s ease;padding:0}.remove-photo-btn:hover{background:#ef4444;transform:scale(1.1)}.remove-photo-btn svg{width:14px;height:14px}.photo-caption-input{width:100%;padding:8px;font-size:13px;border:1px solid var(--border-color);border-radius:6px;background:var(--secondary-bg-color);color:var(--text-color);resize:vertical;min-height:60px;font-family:inherit;transition:all .2s ease}.photo-caption-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #3478f61a}.photo-caption-input::placeholder{color:var(--hint-color)}.file-info{margin-top:16px;padding:12px;background:var(--secondary-bg-color);border-radius:8px;border:1px solid var(--border-color)}.file-info p{margin:0;font-size:13px;color:var(--hint-color);line-height:1.6}.file-info p:not(:last-child){margin-bottom:4px}@media (max-width: 480px){.photos-grid{grid-template-columns:repeat(2,1fr);gap:10px}.photo-report-modal .form-input,.photo-report-modal .form-select{font-size:16px}.file-input-btn{width:100%;justify-content:center}.file-input-hint{display:none}}.tabs{display:flex;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;margin-bottom:16px}.tab-button{flex:1;background:none;border:none;padding:12px 16px;font-size:14px;font-weight:600;color:var(--tg-theme-hint-color, #aab2bb);cursor:pointer;transition:background-color .2s,color .2s}.tab-button.active{background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff)}.scratchpad-card{margin-top:16px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.card-header h2{margin:0;font-size:16px;font-weight:600;color:var(--tg-theme-text-color, #212121)}.expand-btn{background:none;border:none;color:var(--tg-theme-hint-color, #aab2bb);cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.expand-btn:active{background-color:var(--tg-theme-bg-color, #eff3f8)}.expand-btn .icon-wrapper{width:20px;height:20px}.add-consumable-form{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding:16px;background-color:var(--tg-theme-secondary-bg-color, #ffffff);border-radius:var(--border-radius);border:1px solid var(--border-color)}.form-row{display:flex;gap:8px;align-items:center}.form-input-long,.form-input-small{flex:1;background-color:var(--tg-theme-secondary-bg-color, #ffffff)!important;color:var(--tg-theme-text-color, #212121)!important;border:1px solid var(--border-color)!important;border-radius:8px;padding:8px 12px;font-size:16px;font-family:inherit}.add-button{width:100%;margin-top:4px}.consumables-list{display:flex;flex-direction:column;gap:8px}.empty-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--tg-theme-hint-color, #aab2bb)}.empty-state-container .icon-wrapper{width:48px;height:48px;margin-bottom:16px;opacity:.5}.empty-state-container p{margin:0 0 20px;font-size:16px;line-height:1.4}.empty-state-container .btn{max-width:280px}.list-item[style*="cursor: pointer"]{transition:transform .1s ease,background-color .2s ease}.list-item[style*="cursor: pointer"]:active{background-color:var(--tg-theme-bg-color, #eff3f8)}.list-item[style*="cursor: pointer"]:active{transform:scale(.98)}@media (max-width: 480px){.form-row{flex-direction:column;gap:8px}.form-input-small{width:100%}.tabs{margin-bottom:12px}.tab-button{padding:10px 12px;font-size:13px}}.tool-item{cursor:pointer;transition:transform .1s ease,background-color .2s ease}.tool-item:active{background-color:var(--tg-theme-bg-color, #eff3f8)}.tool-item:active{transform:scale(.98)}.tool-icon{margin-right:12px;font-size:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px}
