.schedule-manager{border:1px solid var(--border);background:#fff;border-radius:11px;overflow:hidden}.schedule-manager-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;padding:20px;display:flex}.schedule-manager-title h3{margin:0 0 5px;font-size:15px}.schedule-manager-title p{max-width:620px;margin:0;font-size:9px}.schedule-manager-title>span{color:#558176;background:#edf4f1;border-radius:6px;flex:none;padding:6px 9px;font-size:9px;font-weight:700}.schedule-manager-tools{border-bottom:1px solid var(--border);background:#fafcfa;gap:12px;padding:14px 20px;display:grid}.schedule-selection,.schedule-group-action{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.schedule-selection{color:#69867e;align-items:center;font-size:10px}.schedule-selection button{color:#357a6b;background:0 0;border:0;padding:3px 6px;font-size:9px}.schedule-group-action label{color:#789087;flex:180px;gap:5px;min-width:180px;font-size:9px;display:grid}.schedule-group-action label>span{font-weight:600}.schedule-group-action select,.schedule-group-action input{padding:9px 10px;font-size:10px}.schedule-group-action>button{min-height:34px;padding:8px 11px;font-size:9px}.schedule-manager-readonly{color:#7a9088;background:#f5f8f6;border-bottom:1px solid #e7eeeb;margin:0;padding:11px 20px;font-size:9px}.schedule-manager>.error-box,.schedule-manager-success{margin:14px 20px 0}.schedule-manager-success{color:#3c7767;background:#eef8f2;border:1px solid #cee4d9;border-radius:7px;padding:10px;font-size:10px}.schedule-manager-groups{gap:11px;max-height:min(68vh,760px);padding:15px 20px;display:grid;overflow:auto}.schedule-layout-group{border:1px solid #e4ebe8;border-radius:8px;overflow:hidden}.schedule-layout-group>header{color:#52776d;background:#f1f6f3;align-items:center;gap:9px;min-height:42px;padding:8px 11px;display:flex}.schedule-layout-group input[type=checkbox],.schedule-layout-group article input[type=checkbox]{width:15px;height:15px;accent-color:var(--green);flex:none;margin:0;padding:0}.schedule-layout-group>header>b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.schedule-layout-group>header>span{color:#8b9e98;flex:none;margin-left:auto;font-size:8px}.schedule-order-buttons{flex:none;gap:3px;display:flex}.schedule-order-buttons button{color:#66837b;background:#fff;border-color:#dce6e1;width:27px;height:27px;padding:0}.schedule-layout-group article{border-top:1px solid #edf1ef;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;padding:8px 11px;display:grid}.schedule-layout-group article>div:nth-child(2){grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;min-width:0;display:grid}.schedule-layout-group article small{color:#9ba8a4;grid-column:1/-1;font-size:8px}.schedule-layout-group article b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.schedule-layout-group article span{color:#82938e;white-space:nowrap;font-size:8px}.schedule-manager-footer{border-top:1px solid var(--border);background:#fafbfb;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.schedule-manager-footer button{font-size:10px}.schedule-manager-empty{text-align:center;color:#7b9b91;padding:36px 20px}.schedule-manager-empty h3{margin:10px 0 5px}.schedule-manager-empty p{margin:0;font-size:10px}.modal .schedule-manager-groups{max-height:max(240px,92vh - 430px)}@media (width<=600px){.schedule-manager-title{flex-direction:column;padding:16px}.schedule-manager-tools{padding:13px 16px}.schedule-group-action{align-items:stretch}.schedule-group-action label{flex-basis:100%}.schedule-group-action select,.schedule-group-action input{font-size:16px}.schedule-group-action>button{flex:calc(50% - 4px)}.schedule-manager-groups{max-height:none;padding:12px}.schedule-layout-group>header{padding:8px}.schedule-layout-group article{padding:9px 8px}.schedule-layout-group article>div:nth-child(2){grid-template-columns:1fr}.schedule-layout-group article span,.schedule-layout-group article small{grid-column:1}.schedule-manager-footer{z-index:2;padding:12px;position:sticky;bottom:62px}.modal .schedule-manager-groups{max-height:max(220px,94vh - 520px)}.modal .schedule-manager-footer{position:static}.schedule-manager-footer button{flex:1}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.access-block{border-top:1px solid var(--border);gap:9px;padding:16px 18px 18px;display:grid}.object-side .access-block h3{color:var(--teal);align-items:center;gap:7px;margin:0;padding:0;font-size:12px;display:flex}.access-block p{margin:0;font-size:10px;line-height:1.5}.access-block .access-summary{color:#4f6b64;font-weight:600}.access-block .access-note{color:#a1b1aa;font-size:9px}.access-block>button{padding:9px 12px;font-size:11px}.access-names{gap:5px;margin:0;padding:0;list-style:none;display:grid}.access-names li{color:#43555a;justify-content:space-between;gap:8px;font-size:10px;display:flex}.access-names li span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.access-names small,.access-more{color:#9aaaa5;font-size:9px}.access-offline{color:#b0875a;align-items:center;gap:6px;margin:0;font-size:10px;line-height:1.4;display:flex}.access-offline svg{flex:none}.access-dialog{gap:14px;display:grid}.access-search{color:#93a39f;border:1px solid #dce3e4;border-radius:7px;align-items:center;gap:8px;padding:0 11px;display:flex}.access-search input{box-shadow:none;border:0;padding:10px 0}.access-list{border:1px solid var(--border);border-radius:9px;min-width:0;max-height:min(52vh,420px);margin:0;padding:0;overflow:auto}.access-option{cursor:pointer;align-items:flex-start;gap:11px;padding:11px 13px;display:flex}.access-option+.access-option{border-top:1px solid var(--border)}.access-option:hover{background:#f7faf9}.access-list:disabled .access-option{cursor:not-allowed}.access-option input[type=checkbox]{width:17px;height:17px;accent-color:var(--teal);flex:none;margin:2px 0 0;padding:0}.access-option-text{flex:1;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;min-width:0;display:grid}.access-option-text b{color:#29444a;overflow-wrap:anywhere;font-size:12px}.access-option-text small{color:#8b9b97;overflow-wrap:anywhere;grid-column:1;font-size:10px}.access-option-text i{color:#558176;white-space:nowrap;background:#edf4f1;border-radius:5px;grid-area:1/2/span 2;align-self:center;padding:4px 7px;font-size:9px;font-style:normal;font-weight:600}.access-empty-list{color:#93a39f;margin:0;padding:18px;font-size:11px}.access-dialog-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.access-dialog-footer span{color:#739087;margin-right:auto;font-size:11px}.access-team{margin-top:18px}.access-team-note{padding:14px 22px 0}.access-team td b{color:#34504a;display:block}.access-cell-email{color:#9aaaa5;font-size:10px;display:block}.access-projects{gap:2px;display:grid}.access-projects small{color:#8b9b97;font-size:10px}.access-none{color:#b0875a;align-items:center;gap:5px;font-weight:600;display:inline-flex}.access-action{text-align:right;white-space:nowrap}.access-action button{padding:7px 10px;font-size:10px}.access-empty svg{color:#c2a36b}.access-empty p+p{margin-top:6px}@media (width<=600px){.access-option-text{grid-template-columns:minmax(0,1fr)}.access-option-text i{grid-area:auto/1;justify-self:start;margin-top:4px}.access-team-note{padding:12px 14px 0}}.project-documents{margin-top:22px}.project-documents .panel-title p{font-size:11px;line-height:1.5}.documents-body{gap:12px;padding:16px 22px 22px;display:grid}.documents-body .notice,.documents-body .error-box{margin:0}.documents-empty{color:#9c7c43;text-align:center;background:#faf7ef;border-radius:8px;justify-items:center;gap:8px;padding:18px;display:grid}.documents-empty p{color:inherit;margin:0;font-size:12px}.documents-empty button{padding:8px 12px;font-size:11px}.documents-path{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px;font-size:11px;display:flex}.documents-path span{align-items:center;gap:2px;display:inline-flex}.documents-path button{color:#257a6f;background:0 0;border:0;padding:4px 6px;font-size:11px}.documents-path button:disabled{opacity:1;color:#253b40;cursor:default}.documents-readonly{color:#6f7f84;background:#f3f5f6;border-radius:7px;align-items:flex-start;gap:6px;margin:0;padding:9px 11px;font-size:11px;line-height:1.5;display:flex}.documents-toolbar,.documents-folder-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.documents-toolbar button{padding:8px 12px;font-size:11px}.documents-toolbar small{color:var(--muted);font-size:10px}.documents-folder-form input{width:220px;max-width:100%;padding:8px 10px;font-size:12px}.documents-list{border:1px solid var(--border);border-radius:9px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.documents-list li{border-top:1px solid var(--border);align-items:center;gap:6px;min-width:0;display:flex}.documents-list li:first-child{border-top:0}.documents-list li.virtual .documents-name{color:#8a989c}.documents-name{color:#36494e;text-align:left;background:0 0;border:0;border-radius:0;flex:auto;justify-content:flex-start;align-items:center;gap:10px;min-width:0;padding:10px 12px;font-weight:500;text-decoration:none;display:flex}.documents-name:hover{background:#f4f8f7}.documents-name>span{gap:1px;min-width:0;display:grid}.documents-name b{overflow-wrap:anywhere;font-size:12px;font-weight:600}.documents-name small{color:var(--muted);font-size:10px}.documents-download{color:#8a989c;flex:none;margin-left:auto}.documents-actions{gap:4px;padding-right:10px;display:flex}.documents-actions button{padding:6px}.documents-none,.documents-loading{color:var(--muted);padding:14px;font-size:11px}.documents-loading{align-items:center;gap:6px;margin:0;display:flex}.documents-more{justify-self:center;padding:8px 14px;font-size:11px}@media (width<=600px){.documents-body{padding:14px}.documents-toolbar small{flex-basis:100%}}.discussion{gap:10px;min-width:0;display:grid}.discussion .error-box{margin:0}.discussion-note,.discussion-empty{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:11px;line-height:1.5;display:flex}.discussion-note{color:#9a6b2c}.discussion-note svg,.discussion-empty svg{flex:none}.discussion-earlier{border-radius:20px;justify-self:center;padding:6px 12px;font-size:11px}.discussion-list{gap:10px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.discussion-list.scroll{overscroll-behavior:contain;max-height:440px;padding-right:4px;overflow-y:auto}.discussion-message{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;display:grid}.discussion-avatar{color:#698173;background:#e5eee9;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex}.discussion-message.own .discussion-avatar{background:var(--teal);color:#fff}.discussion-bubble{border:1px solid var(--border);background:#fff;border-radius:4px 12px 12px;gap:6px;min-width:0;padding:9px 12px 10px;display:grid}.discussion-message.own .discussion-bubble{background:#f1f7f4;border-color:#d9e9e1}.discussion-meta{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:11px;display:flex}.discussion-meta b{color:#253b40;font-size:12px}.discussion-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;color:#33484d;margin:0;font-size:13px;line-height:1.5}.discussion-bubble p.discussion-deleted{color:var(--muted);font-size:12px;font-style:italic}.discussion-files{gap:6px;display:grid}.discussion-images{flex-wrap:wrap;gap:6px;display:flex}.discussion-images a{border:1px solid var(--border);background:#f2f5f4;border-radius:8px;width:96px;height:96px;display:block;overflow:hidden}.discussion-images img{object-fit:cover;width:100%;height:100%;display:block}.discussion-document{border:1px solid var(--border);color:#2f5f58;background:#fff;border-radius:8px;align-items:center;gap:6px;min-width:0;padding:7px 10px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.discussion-document span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.discussion-document small{color:var(--muted);flex:none;margin-left:auto;font-weight:500}.discussion-own-actions,.discussion-edit>div{flex-wrap:wrap;gap:6px;display:flex}.discussion-own-actions button{color:#5f7a74;background:0 0;border-color:#0000;padding:4px 8px;font-size:11px}.discussion-own-actions button:hover{background:#e8f1ed}.discussion-edit{gap:6px;display:grid}.discussion-edit button{padding:6px 12px;font-size:12px}.discussion-form{border:1px solid var(--border);background:#fbfcfc;border-radius:11px;gap:8px;padding:10px;display:grid}.discussion-form textarea{resize:vertical;background:#fff;min-height:58px;font-size:13px;line-height:1.45}.discussion-drafts{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.discussion-drafts li{border:1px solid var(--border);background:#fff;border-radius:20px;align-items:center;gap:6px;max-width:100%;padding:3px 4px 3px 10px;font-size:11px;display:flex}.discussion-drafts span{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:180px;overflow:hidden}.discussion-drafts small{color:var(--muted)}.discussion-form-actions{align-items:center;gap:8px;display:flex}.discussion-attach{padding:7px 11px;font-size:12px}.discussion-refresh{color:var(--muted);margin-left:auto}.discussion-form-actions .primary{padding:8px 14px;font-size:12px}.discussion-toggle{padding:7px 10px;font-size:11px}.discussion-toggle.open{color:var(--teal);background:#e8f2ee;border-color:#cfe3da}.task-item.with-discussion{flex-wrap:wrap}.task-item.with-discussion>.task-main{flex:1 1 0}.task-item>.task-discussion{border-top:1px dashed #dfe8e5;flex:100%;min-width:0;padding-top:12px}.project-discussion{margin-top:22px}.project-discussion .panel-title p{font-size:11px;line-height:1.5}.discussion-body{padding:16px 22px 22px}.drawer-discussion{margin:4px 0 18px}@media (width<=600px){.task-item.with-discussion{flex-wrap:nowrap}.task-item.with-discussion>.task-main,.task-item>.task-discussion{flex:none;width:100%}.discussion-body{padding:14px}.project-discussion .panel-title{padding:16px}.discussion-list.scroll{max-height:60dvh}.discussion-images a{width:84px;height:84px}.discussion-form textarea{font-size:16px}.discussion-form-actions .primary,.discussion-attach,.discussion-refresh,.discussion-toggle{min-height:44px}.discussion-refresh{min-width:44px}.discussion-own-actions button,.discussion-drafts .icon-button,.discussion-edit button,.discussion-earlier{min-width:44px;min-height:44px}}.adaptive-body{min-width:0}.adaptive-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.adaptive-sheet .adaptive-body{padding-top:6px}.project-tasks{margin-top:22px}.project-tasks .panel-title p{font-size:11px;line-height:1.5}.project-tasks .panel-actions button{padding:8px 12px;font-size:12px}.tasks-body{gap:12px;padding:16px 22px 22px;display:grid}.tasks-body .notice,.tasks-body .error-box{margin:0}.tasks-body .notice span{align-items:flex-start;gap:6px;line-height:1.5;display:inline-flex}.tasks-body .notice svg{flex:none;margin-top:2px}.task-filters{flex-wrap:wrap;gap:6px;display:flex}.task-filters button{border-radius:20px;padding:6px 12px;font-size:11px}.task-filters button.selected{background:var(--teal);border-color:var(--teal);color:#fff}.task-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.task-item{border:1px solid var(--border);background:#fff;border-left:3px solid #9cc7bb;border-radius:9px;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.task-item.overdue{background:#fffaf9;border-color:#f1cdc6 #f1cdc6 #f1cdc6 #c8473b}.task-item.closed{background:#fafbfb;border-left-color:#d5dde0}.task-item.closed .task-title{color:#7f9095}.task-main{gap:4px;min-width:0;display:grid}.task-project{letter-spacing:.3px;color:#328575;font-size:10px;font-weight:700}.task-title{color:#253b40;overflow-wrap:anywhere;font-size:13px}.task-main p{white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.5}.task-meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:10px;display:flex}.task-due{color:#4f6b64;align-items:center;gap:4px;font-weight:600;display:inline-flex}.task-item.overdue .task-due{color:#c8473b}.task-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.task-actions button{padding:7px 10px;font-size:11px}.tasks-empty{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.my-tasks .empty{padding:30px 16px}@media (width<=600px){.tasks-body{padding:14px}.task-item{flex-direction:column;gap:10px}.task-actions{justify-content:flex-start;width:100%}.task-actions button{flex:auto}.project-tasks .panel-title{padding:16px}.form-row.task-form-row{grid-template-columns:1fr}}.task-item.priority-critical:not(.closed){border-left-color:#b3261e}.task-item.priority-high:not(.closed):not(.overdue){border-left-color:#d58a3a}.task-priority{vertical-align:middle;color:#b0621c;background:#fdf0e3;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.task-priority.critical{color:#fff;background:#b3261e}.task-link{color:#3c6b5d;align-items:center;gap:4px;font-weight:600;display:inline-flex}.task-link.missing{color:var(--muted);font-weight:400;text-decoration:line-through}.task-source-hint{color:#6f8580;font-size:10px}.task-views{margin:0 0 12px}.task-views button{min-height:36px;padding:6px 16px;font-size:12px}.task-overview-filters{border:1px solid var(--border);background:#fafbfb;border-radius:9px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;padding:12px;display:grid}.task-overview-filters select,.task-overview-sheet select{width:100%;min-width:0;min-height:42px}.task-overview-sheet{gap:12px;display:grid}.task-overview-toolbar{gap:8px;display:flex}.task-overview-toolbar button{min-height:44px;font-size:12px}.task-overview-toolbar button:first-child{flex:auto}.task-overview-toolbar button.selected{border-color:var(--teal);color:var(--teal);font-weight:700}.task-overview-counts{color:var(--muted);margin:0;font-size:11px}@media (width<=600px){.task-actions button,.task-views button{min-height:44px}}.prescriptions{margin-top:22px;scroll-margin-top:70px}.prescriptions .panel-title{flex-wrap:wrap;align-items:flex-start;padding:16px}.prescriptions .panel-title h2{align-items:center;gap:8px;display:flex}.prescriptions .panel-title p{font-size:11px;line-height:1.5}.prescriptions .panel-actions{flex-wrap:wrap;width:100%}.prescriptions .panel-actions button,.prescriptions .panel-actions .button{padding:8px 12px;font-size:12px}.prescriptions .panel-actions .primary{flex:auto}.prescriptions .panel-actions a[aria-disabled=true]{opacity:.5;pointer-events:none}.prescription-count-overdue.count{color:#c8473b;background:#fbe3df}.prescriptions-body{gap:12px;padding:14px;display:grid}.prescriptions-body .notice,.prescriptions-body .error-box,.prescription-drawer .notice,.prescription-drawer .error-box{margin:0}.prescriptions-body .notice span,.prescription-drawer .notice span{align-items:flex-start;gap:6px;line-height:1.5;display:inline-flex}.prescription-filters{align-items:center}.prescription-filters button.danger:not(.selected){color:#c8473b;border-color:#f1cdc6}.prescription-filters button.danger.selected{background:#c8473b;border-color:#c8473b}.prescription-filters .prescription-awaiting{color:#a87e2c;background:#fbf5e7;border-color:#efdcb1;font-size:11px;font-weight:600}.prescription-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.prescription-row{text-align:left;border-left:3px solid #9cc7bb;border-radius:9px;grid-template-columns:auto minmax(0,1fr);justify-content:stretch;align-items:start;gap:10px 12px;width:100%;padding:12px;font-weight:400;display:grid}.prescription-row.submitted{border-left-color:#d9a84a}.prescription-row.new{border-left-color:#8aa3c9}.prescription-row.closed{background:#fafbfb;border-left-color:#d5dde0}.prescription-row.overdue{background:#fffaf9;border-color:#f1cdc6 #f1cdc6 #f1cdc6 #c8473b}.prescription-number{color:var(--teal);white-space:nowrap;font-size:12px;font-weight:800}.prescription-main{gap:6px;min-width:0;display:grid}.prescription-main b{color:#253b40;overflow-wrap:anywhere;font-size:13px}.prescription-row.closed .prescription-main b{color:#7f9095}.prescription-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:11px;display:flex}.prescription-overdue{color:#c8473b;font-weight:700}.prescription-status{white-space:nowrap;color:#3f7a6c;background:#eaf2f0;border-radius:4px;align-items:center;gap:4px;padding:3px 7px;font-size:10px;font-weight:600;display:inline-flex}.prescription-status.new{color:#4b6594;background:#edf1f8}.prescription-status.in_progress{color:#2f6a8a;background:#e6f0f6}.prescription-status.submitted{color:#a87e2c;background:#fbf5e7}.prescription-status.closed{color:#72858a;background:#eef1f2}.prescription-status.overdue{color:#c8473b;background:#fbe9e6}.prescription-thumbs{grid-column:1/-1;align-items:center;gap:6px;display:flex}.prescription-thumbs img,.prescription-thumbs .prescription-file-icon{object-fit:cover;background:#eef3f2;border-radius:6px;width:44px;height:44px}.prescription-thumbs small{color:var(--muted);font-size:11px}.prescription-file-icon{color:#5f7d75;background:#eef3f2;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:inline-flex;overflow:hidden}.prescription-file-icon small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 4px;font-size:9px;overflow:hidden}.prescriptions-empty{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:11px;display:flex}.prescription-drawer{flex-direction:column;gap:14px;width:560px;padding:20px 16px 40px;display:flex}.prescription-drawer>header{margin-bottom:0}.prescription-drawer>h2{align-items:center;gap:8px;margin:0;font-size:22px;display:flex}.prescription-drawer>h3{margin:8px 0 0;font-size:13px}.prescription-badges{flex-wrap:wrap;gap:6px;display:flex}.prescription-text{color:#253b40;white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.55}.prescription-callout{color:#8a6a26;background:#fbf5e7;border-radius:8px;gap:8px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.prescription-callout svg{flex:none;margin-top:3px}.prescription-facts{border:1px solid var(--border);background:#fff;border-radius:9px;gap:8px;margin:0;padding:12px;display:grid}.prescription-facts>div{grid-template-columns:130px minmax(0,1fr);gap:8px;font-size:12px;display:grid}.prescription-facts dt{color:var(--muted)}.prescription-facts dd{color:#253b40;overflow-wrap:anywhere;gap:2px;margin:0;display:grid}.prescription-facts dd a{font-weight:700}.prescription-facts dd a[aria-disabled=true]{opacity:.5}.prescription-facts dd small{color:var(--muted)}.prescription-gallery{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.prescription-gallery a{aspect-ratio:1;background:#eef3f2;border-radius:8px;display:block;overflow:hidden}.prescription-gallery img,.prescription-gallery .prescription-file-icon{object-fit:cover;width:100%;height:100%}.prescription-actions{margin:0}.prescription-actions button{flex:100%;padding:11px 14px;font-size:13px}.prescription-step{border:1px solid var(--border);background:#fff;border-radius:9px;gap:12px;padding:14px;display:grid}.prescription-step fieldset{border:0;gap:12px;min-width:0;margin:0;padding:0;display:grid}.prescription-step-actions{flex-wrap:wrap;gap:8px;display:flex}.prescription-step-actions button{flex:auto}.prescription-photos small{color:var(--muted);font-weight:400}.prescription-photo-buttons{flex-wrap:wrap;gap:8px;display:flex}.prescription-photo-buttons .button{color:#3d6a60;flex:140px;font-size:12px;position:relative}.prescription-photo-buttons input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.prescription-photo-buttons .button:focus-within{outline-offset:2px;outline:3px solid #64ad9c}.prescription-picked{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.prescription-picked li{gap:3px;display:grid;position:relative}.prescription-picked img,.prescription-picked .prescription-file-icon{aspect-ratio:1;object-fit:cover;border-radius:7px;width:100%}.prescription-picked small{align-items:center;gap:3px;font-size:10px;display:inline-flex}.prescription-picked .icon-button{background:#ffffffe6;border-radius:50%;padding:3px;position:absolute;top:3px;right:3px}.prescription-history{border-left:2px solid #dfe8e5;gap:12px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.prescription-history li{gap:4px;font-size:12px;display:grid}.prescription-history small{color:var(--muted)}.prescription-history p{white-space:pre-line;overflow-wrap:anywhere;color:#43555a;margin:0}.prescription-refresh{align-self:flex-start;padding:6px 10px;font-size:11px}.form-row.prescription-document-row{grid-template-columns:minmax(0,1fr) 90px}@media (width<=600px){.prescription-drawer{width:100%}.prescription-facts>div{grid-template-columns:1fr;gap:2px}}@media (width>=700px){.prescriptions .panel-title{flex-wrap:nowrap;align-items:center;padding:22px}.prescriptions .panel-actions{flex-wrap:nowrap;width:auto}.prescriptions .panel-actions .primary{flex:none}.prescriptions-body{padding:16px 22px 22px}.prescription-row{grid-template-columns:46px minmax(0,1fr) auto;align-items:center}.prescription-thumbs{grid-column:auto}.prescription-drawer{padding:27px}.prescription-actions button{flex:0 auto}}.prescription-place{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.prescription-place button{padding:6px 10px;font-size:11px}.prescription-place-text{color:#3c6b5d;align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.prescription-place-error{color:#b07767;flex-basis:100%;font-size:11px}.prescription-priority,.prescription-category{white-space:nowrap;color:#5d7176;background:#eef1f2;border-radius:4px;align-items:center;padding:3px 7px;font-size:10px;font-weight:600;display:inline-flex}.prescription-priority.high{color:#b0621c;background:#fdf0e3}.prescription-priority.critical{color:#fff;background:#b3261e}.prescription-category{color:#3c6b5d;white-space:normal;background:#f1f5f4}.prescription-muted{color:var(--muted)}.prescription-history-status{color:#3c6b5d;font-size:11px;font-weight:600;display:block}.prescription-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prescription-toolbar .prescription-search{flex:220px;min-width:0;max-width:none}.prescription-toolbar .prescription-search input{width:100%;min-width:0;min-height:42px;font-size:13px}.prescription-toolbar button{min-height:44px;font-size:12px}.prescription-filter-button.selected{border-color:var(--teal);color:var(--teal);font-weight:700}.prescription-filter-row{border:1px solid var(--border);background:#fafbfb;border-radius:9px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;padding:12px;display:grid}.prescription-filter-row select,.prescription-filter-sheet select{width:100%;min-width:0;min-height:44px}.prescription-filter-sheet{gap:12px;display:grid}.prescription-step select{width:100%;min-height:44px}@media (width<=600px){.prescriptions .panel-actions .button,.prescriptions .panel-actions button{min-height:44px}.prescription-filters{flex-wrap:wrap}.prescription-filters button{min-height:40px}.form-row.remark-class-row{grid-template-columns:1fr}}.organization-acts{border:1px solid var(--border);border-radius:9px;gap:10px;padding:10px 12px;display:grid}.organization-acts[open]{padding-bottom:12px}.organization-acts summary{cursor:pointer;color:#5f7d74;font-size:11px;font-weight:600}.organization-acts[open] summary{margin-bottom:4px}.project-contract{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;margin:-10px 0 25px;padding:18px 23px;display:grid}.project-contract>div{border-right:1px solid var(--border);min-width:0;padding-right:20px}.project-contract>div:nth-child(4){border:0}.project-contract.without-money{grid-template-columns:repeat(3,minmax(0,1fr))}.project-contract.without-money>div:nth-child(3){border:0}.project-contract span{color:#93a2a6;margin-bottom:8px;font-size:10px;display:block}.project-contract strong{color:#356259;letter-spacing:-.3px;font-size:17px;display:block}.project-contract small{color:#a4574a;margin-top:5px;font-size:10px;display:block}.project-contract .violated strong{color:#b4473a}.project-contract>p{border-top:1px solid var(--border);color:#739087;grid-column:1/-1;margin:14px 0 0;padding-top:12px;font-size:10px}.project-status{color:#6f7d82;background:#f1f3f4;border-radius:4px;margin-left:6px;padding:4px 7px;font-size:8px;font-weight:600;display:inline-flex}.project-status.suspended{color:#a1824a;background:#fbf5e9}.project-kind{color:#55707a;background:#f1f5f7;border-radius:4px;margin-left:6px;padding:4px 7px;font-size:8px;font-weight:600;display:inline-flex}.passport-badges .project-kind{margin-left:0}@media (width<=900px){.project-contract{grid-template-columns:1fr 1fr;gap:14px 18px;padding:16px 18px}.project-contract>div:nth-child(2){border:0}.project-contract.without-money{grid-template-columns:1fr 1fr}}.passport-group{border-radius:10px;border:1px solid var(--border)!important;gap:12px!important;padding:14px!important}.passport-group>legend{letter-spacing:1.2px;text-transform:uppercase;color:#8a9b9e;padding:0 6px;font-size:10px;font-weight:700}.passport-group .form-hint{margin:0}.area-row{grid-template-columns:2fr 1fr}.field-label{font-weight:600}.readonly-field b{color:#4d6560;background:#f8faf9;border:1px dashed #dce3e4;border-radius:7px;padding:11px 12px;font-weight:600}.organization-picker{align-self:start;position:relative}.organization-input{color:#9aa8ab;background:#fff;border:1px solid #dce3e4;border-radius:7px;align-items:center;gap:6px;padding:0 6px 0 11px;display:flex}.organization-input:focus-within{border-color:#4c9686;box-shadow:0 0 0 3px #32857512}.organization-input input{border:0;padding-left:0;padding-right:0;box-shadow:none!important}.organization-meta{color:#8c9d99;font-weight:400}.organization-options{z-index:12;background:#fff;border:1px solid #dce7e2;border-radius:9px;max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% - 2px);left:0;right:0;overflow:auto;box-shadow:0 12px 30px #183d3d24}.organization-options li{cursor:pointer;color:#2f4c50;border-radius:6px;align-items:center;gap:8px;padding:8px 9px;font-size:12px;font-weight:600;display:flex}.organization-options li span{gap:2px;display:grid}.organization-options li small{color:#8c9d99;font-size:10px;font-weight:400}.organization-options li.active{background:#eef6f2}.organization-options li.create{color:#2c6a5e;border-top:1px solid var(--border)}.organization-options li.loading{cursor:default;color:#8c9d99;font-weight:400}.organization-create{background:#f6faf8;border:1px solid #cfe2da;border-radius:9px;gap:10px;padding:12px;display:grid}.organization-create>b{color:#2f5a52;font-size:12px}.organization-fields{gap:10px;display:grid}.organization-fields.compact input{padding:8px 10px}.organization-create-actions{justify-content:flex-end;gap:6px;display:flex}.organization-create-actions button{padding:7px 11px;font-size:11px}.cover-choices{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.cover-choice{cursor:pointer;color:#7c8f8a;border:2px solid #0000;border-radius:9px;gap:4px;padding:4px;font-size:10px;display:grid;position:relative}.cover-choice input{opacity:0;width:1px;height:1px;position:absolute}.cover-choice img{aspect-ratio:4/3;object-fit:cover;background:#eef3f1;border-radius:6px;width:100%}.cover-choice.auto{text-align:center;border:1px dashed #cddbd5;place-content:center;min-height:80px;line-height:1.4}.cover-choice.checked{border-color:var(--green);color:#2c6a5e;background:#eef6f2}.cover-choice:has(input:focus-visible){outline-offset:2px;outline:3px solid #64ad9c}.form-row.passport-kind-row{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=600px){.area-row{grid-template-columns:1fr 1fr}.passport-group .form-row{grid-template-columns:1fr}}.drawing-viewer{z-index:1000;color:#e9eff0;overscroll-behavior:contain;background:#1d2a2c;flex-direction:column;display:flex;position:fixed;inset:0}.drawing-viewer-fallback{flex-direction:row;justify-content:center;align-items:center;gap:10px}.drawing-viewer button,.drawing-viewer .button{border-radius:8px;padding:7px 10px;font-size:12px}.drawing-header{color:#253b40;border-bottom:1px solid var(--border);background:#fff;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 12px;display:flex}.drawing-viewer .drawing-icon{min-width:36px;min-height:36px;padding:6px}.drawing-title{flex:200px;min-width:0;display:grid}.drawing-title b,.drawing-title small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drawing-title b{font-size:14px}.drawing-title small{color:var(--muted);font-size:11px}.drawing-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.drawing-group{align-items:center;gap:4px;display:inline-flex}.drawing-viewer .drawing-zoom{font-variant-numeric:tabular-nums;min-width:62px;min-height:36px}.drawing-count{color:#52706a;background:#eef3f2;border-radius:9px;padding:0 6px;font-size:10px}.drawing-viewer button.primary .drawing-count{color:#fff;background:#fff3}.drawing-page-input{color:#52666b;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.drawing-page-input input{text-align:center;font-variant-numeric:tabular-nums;width:48px;padding:7px 6px}.drawing-banner{color:#6b5316;background:#fff6e0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:8px 14px;font-size:12px;display:flex}.drawing-body{flex:1;min-height:0;display:flex}.drawing-stage{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:radial-gradient(circle,#ffffff0f 1px,#0000 1px) 0 0/18px 18px,#2a3a3d;flex:1;min-width:0;position:relative;overflow:hidden}.drawing-stage:active{cursor:grabbing}.drawing-stage.adding{cursor:crosshair}.drawing-page{transform-origin:0 0;background:#fff;position:absolute;top:0;left:0;box-shadow:0 4px 30px #00000059}.drawing-base,.drawing-details{position:absolute;inset:0}.drawing-details{overflow:hidden}.drawing-canvas{width:100%;height:100%;display:block}.drawing-detail{display:block;position:absolute}.drawing-pin{--pin:#d9542b;touch-action:none;cursor:pointer;background:0 0;border:0;width:0;height:0;padding:0;position:absolute;top:0;left:0}.drawing-viewer .drawing-pin{border-radius:0;min-width:0;padding:0}.drawing-pin>span{background:var(--pin);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;line-height:1;display:grid;position:absolute;top:-38px;left:-15px;box-shadow:0 2px 8px #00000059}.drawing-pin:after{content:"";border:5px solid #0000;border-top:9px solid var(--pin);position:absolute;top:-10px;left:-5px}.drawing-pin.prescription{--pin:#b3261e}.drawing-pin.selected{--pin:#113d40;z-index:2}.drawing-pin.selected>span{outline:3px solid #7fd1bd}.drawing-pin.dragging{z-index:3;cursor:grabbing}.drawing-pin.dragging>span{box-shadow:0 8px 20px #00000073}.drawing-pin.ghost{--pin:#7d8c8f;opacity:.85}.drawing-pin.ghost>span{border-style:dashed}.drawing-pin.draft{--pin:#328575;pointer-events:none}.drawing-pin:focus-visible{outline:none}.drawing-pin:focus-visible>span{outline:3px solid #64ad9c}.drawing-overlay{color:#253b40;text-align:center;background:#fffffff5;border-radius:12px;justify-items:center;gap:10px;width:min(420px,100% - 32px);padding:18px;font-size:13px;line-height:1.45;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.drawing-overlay.error{color:#8a3f2c}.drawing-overlay progress{width:100%;accent-color:var(--green)}.drawing-overlay-actions,.drawing-actions{flex-wrap:wrap;gap:6px;display:flex}.drawing-rendering,.drawing-hint{color:#fff;background:#113d40eb;border-radius:10px;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:6px 8px 6px 12px;font-size:12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.drawing-rendering{padding-right:12px;top:12px}.drawing-hint{bottom:14px}.drawing-hint.picking{background:#113d40f5;flex-wrap:wrap;justify-content:flex-end;gap:8px;width:min(560px,100% - 24px);padding:10px 12px}.drawing-hint.picking>span{flex:100%}.drawing-viewer .drawing-hint.picking button.primary{background:var(--green);border-color:var(--green)}.drawing-viewer .drawing-hint.picking button.primary:disabled{opacity:.55}.drawing-picking{background:#f3f8f6;border:1px solid #cfe3dc;border-radius:9px;gap:10px;padding:10px;display:grid}.drawing-picking h3{margin:0}.drawing-picking .field{color:#52666b;gap:4px;font-size:11px;font-weight:600;display:grid}.drawing-hint button{flex:none}.drawing-panel{color:#253b40;border-left:1px solid var(--border);background:#fff;flex-direction:column;flex:none;gap:14px;width:320px;padding:14px;display:flex;overflow-y:auto}.drawing-panel h3{align-items:center;gap:6px;margin:0 0 8px;font-size:13px;display:flex}.drawing-panel h3 small{color:#6f8d84;background:#eef3f2;border-radius:10px;padding:1px 6px;font-size:10px}.drawing-panel .error-box{margin:0}.drawing-pins{border:1px solid var(--border);border-radius:9px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.drawing-pins>li{border-top:1px solid var(--border);gap:8px;display:grid}.drawing-pins>li:first-child{border-top:0}.drawing-pins>li.selected{background:#f3f8f6;padding-bottom:10px}.drawing-pins>li>.drawing-actions,.drawing-pins>li>.drawing-draft,.drawing-pins>li>.drawing-tip{margin:0 10px}.drawing-viewer .drawing-pin-row{text-align:left;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:flex-start;gap:10px;width:100%;padding:9px 10px;font-weight:500;display:flex}.drawing-pin-row>span:last-child{min-width:0;display:grid}.drawing-pin-row b{overflow-wrap:anywhere;font-size:12px}.drawing-pin-row small,.drawing-tip{color:var(--muted);font-size:11px}.drawing-number{color:#fff;background:#d9542b;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:grid}.drawing-number.prescription{background:#b3261e}.drawing-ghosts .drawing-number{background:#7d8c8f}.drawing-viewer button.danger{color:#fff;background:#b3261e;border-color:#b3261e}.drawing-draft{gap:8px;display:grid}.drawing-draft>b{font-size:12px}.drawing-panel>.drawing-draft{background:#f3f8f6;border:1px solid #cfe3dc;border-radius:9px;padding:10px}.drawing-empty{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.drawing-pages{flex-wrap:wrap;gap:6px;display:flex}.drawing-pages small{color:var(--muted)}.drawing-ghosts{gap:8px;display:grid}.drawing-check{cursor:pointer;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.drawing-check input{width:auto}@media (width<=760px){.drawing-header{padding:6px 8px}.drawing-toolbar{order:3;justify-content:space-between;gap:4px;width:100%}.drawing-label{display:none}.drawing-body{flex-direction:column}.drawing-panel{border-left:0;border-top:1px solid var(--border);width:auto;max-height:45%;box-shadow:0 -6px 18px #0003}}.drawing-draft-kinds{flex-wrap:wrap;gap:6px;display:flex}.drawing-viewer .drawing-draft-kinds button{background:#fff;border:1px solid #cfe3dc;border-radius:999px;min-height:36px;padding:6px 10px;font-size:12px;font-weight:600}.drawing-viewer .drawing-draft-kinds button.selected,.drawing-viewer .drawing-draft-kinds button.selected:hover:not(:disabled){border-color:var(--teal);background:var(--teal);color:#fff}.drawing-draft .field{gap:4px;font-size:12px;display:grid}.drawing-draft select{width:100%;min-width:0}.drawing-draft-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.45}@media (pointer:coarse){.drawing-viewer .drawing-draft-kinds button{min-height:44px}}.object-docs{margin-top:22px}.object-docs .panel-title p{font-size:11px;line-height:1.5}.object-docs .panel-actions button{padding:8px 12px;font-size:11px}.object-docs-body{gap:14px;padding:16px 22px 22px;display:grid}.object-docs-body .notice,.object-docs-body .error-box,.asbuilt-dialog .notice,.asbuilt-dialog .error-box{margin:0}.object-docs-section h3{align-items:center;gap:6px;margin:0 0 8px;font-size:13px;display:flex}.object-docs-section h3 small{color:#6f8d84;background:#eef3f2;border-radius:10px;padding:1px 6px;font-size:10px}.object-docs-list,.object-docs-history{margin:0;padding:0;list-style:none;display:grid}.object-docs-list{border:1px solid var(--border);border-radius:9px;overflow:hidden}.object-docs-list>li{border-top:1px solid var(--border);min-width:0}.object-docs-list>li:first-child{border-top:0}.object-docs-history{background:#fafbfb;padding:0 0 6px 26px}.object-doc-row{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.object-doc-name{color:#36494e;flex:260px;align-items:center;gap:10px;min-width:0;padding:10px 12px;font-weight:500;text-decoration:none;display:flex}a.object-doc-name:hover{background:#f4f8f7}.object-doc-name>svg{color:#6f8d84;flex:none}.object-doc-name>span{gap:1px;min-width:0;display:grid}.object-doc-name b{overflow-wrap:anywhere;font-size:12px;font-weight:600}.object-doc-name small{color:var(--muted);overflow-wrap:anywhere;font-size:10px}.object-doc-actions{flex-wrap:wrap;align-items:center;gap:4px;padding:0 10px 0 12px;display:flex}.object-doc-actions button,.object-doc-actions .button{gap:4px;padding:6px 8px;font-size:11px}.object-docs-form{border:1px solid var(--border);background:#fafbfb;border-radius:9px;gap:10px;padding:14px;display:grid}.object-docs-form header{justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.object-docs-form fieldset{border:0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;min-width:0;margin:0;padding:0;display:grid}.object-docs-form .field{gap:4px;min-width:0;display:grid}.object-docs-form .field span{color:#6d8581;font-size:11px}.object-docs-form input{padding:8px 10px;font-size:12px}.object-docs-form small,.asbuilt-journal small{color:var(--muted);font-size:10px}.object-docs-form-actions,.asbuilt-actions{flex-wrap:wrap;gap:8px;display:flex}.object-docs-form-actions button,.asbuilt-actions button{padding:8px 12px;font-size:12px}.object-docs-empty,.asbuilt-empty{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.asbuilt-dialog{gap:12px;display:grid}.asbuilt-subtitle{color:#6d8581;margin:0;font-size:12px}.asbuilt-journal{gap:8px;display:grid}.asbuilt-linked{color:#6b9478;align-items:center;gap:4px;font-size:11px;display:inline-flex}.asbuilt-button{white-space:nowrap;gap:5px;padding:5px 8px;font-size:11px}.asbuilt-button.missing{color:#b0473a;background:#fbefef;border-color:#e7b9b2}.asbuilt-button.missing:hover{background:#f7e0de}.asbuilt-counter{color:#b0473a;white-space:nowrap;background:#fbefef;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:700}.asbuilt-table td{vertical-align:middle}@media (width<=600px){.object-docs-body{padding-left:14px;padding-right:14px}.object-docs .panel-title{flex-wrap:wrap}.object-doc-actions{padding:0 12px 10px 39px}.asbuilt-table td,.asbuilt-table th{padding:12px 14px}}.folder-path{flex-wrap:wrap;align-items:center;gap:2px;min-width:0;display:flex}.folder-path-step{color:#a3b0b3;align-items:center;gap:2px;min-width:0;display:inline-flex}.folder-path button{color:#4f7f71;overflow-wrap:anywhere;text-align:left;background:0 0;border:0;max-width:100%;padding:6px 9px;font-size:12px;font-weight:600}.folder-path button.current{color:#2c4448;background:#eef3f1}.folder-list{border:1px solid var(--border);border-radius:9px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.folder-row{border-top:1px solid var(--border);align-items:center;gap:4px;min-width:0;display:flex}.folder-row:first-child{border-top:0}.folder-open{text-align:left;color:#36494e;background:0 0;border:0;border-radius:0;flex:1;align-items:center;gap:10px;min-width:0;padding:10px 12px;font-weight:500;display:flex}.folder-open:hover{background:#f4f8f7}.folder-open>svg:first-child{color:#c68538;flex:none}.folder-open>svg:last-child{color:#a3b0b3;flex:none;margin-left:auto}.folder-open>span{gap:1px;min-width:0;display:grid}.folder-open b{overflow-wrap:break-word;font-size:12px;font-weight:600}.folder-open small{color:var(--muted);font-size:10px}.folder-actions{gap:2px;padding-right:8px;display:flex}.folder-template-apply{justify-self:start;padding:7px 11px;font-size:11px}.move-tree{gap:2px;max-height:50vh;display:grid;overflow-y:auto}.move-option{color:#36494e;cursor:pointer;border-radius:8px;align-items:center;gap:9px;min-height:40px;padding:6px 12px;font-size:13px;display:flex}.move-option:hover{background:#f4f8f7}.move-option.checked{background:#e8f2ee;font-weight:600}.move-option input{width:16px;height:16px;accent-color:var(--teal);flex:none;margin:0;padding:0}.move-option>svg{color:#c68538;flex:none}.move-option>span{overflow-wrap:anywhere}@media (width<=600px){.folder-path button{min-height:44px;font-size:14px}.folder-open{min-height:52px}.folder-open b{font-size:14px}.folder-open small{font-size:12px}.folder-actions .icon-button{min-width:44px;min-height:44px}.folder-actions{padding-right:4px}.object-doc-actions button,.object-doc-actions .button,.folder-template-apply{min-width:44px;min-height:44px;font-size:13px}.move-option{min-height:48px;font-size:15px}}.checklist-fields{background:#f8fbfa;border:1px solid #cfe3dc;border-radius:10px;gap:12px;min-width:0;padding:14px;display:grid}.checklist-loading{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.checklist-progress{color:var(--teal);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.checklist-progress span{align-items:center;gap:6px;display:inline-flex}.checklist-progress button{padding:7px 11px;font-size:12px}.checklist-section{gap:8px;min-width:0;display:grid}.checklist-section h4{color:#587074;margin:4px 0 0;font-size:12px}.checklist-section ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.checklist-answer{border:1px solid var(--border);background:#fff;border-left:3px solid #d6dfe1;border-radius:9px;gap:8px;min-width:0;padding:12px;display:grid}.checklist-answer.ok,.checklist-result.ok{border-left-color:#6fb08a}.checklist-answer.fail,.checklist-result.fail{border-left-color:#c8473b}.checklist-answer.na,.checklist-result.na{border-left-color:#b8c3c6}.checklist-answer-text{color:#253b40;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.45}.checklist-answer-text span,.checklist-result-head p span{color:var(--muted);font-weight:600}.checklist-verdicts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.checklist-verdicts button{white-space:normal;gap:5px;min-height:40px;padding:8px 6px;font-size:12px;line-height:1.2}.checklist-verdicts button.selected.verdict-ok{color:#2f7a4b;background:#e5f3ea;border-color:#6fb08a}.checklist-verdicts button.selected.verdict-fail{color:#b4392c;background:#fbe8e5;border-color:#d77a6e}.checklist-verdicts button.selected.verdict-na{color:#53676b;background:#eef2f3;border-color:#a9b6b9}.checklist-more{color:#4a786d;background:0 0;border:0;justify-self:start;padding:4px 0;font-size:11px}.checklist-answer-details{gap:8px;min-width:0;display:grid}.checklist-photos{flex-wrap:wrap;gap:10px;display:flex}.checklist-thumb{position:relative}.checklist-thumb img{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:72px;height:72px;display:block}.checklist-thumb button{background:#fff;border-radius:50%;width:26px;height:26px;padding:0;position:absolute;top:-8px;right:-8px;box-shadow:0 1px 6px #12312b33}.checklist-photo-add{color:#4a786d;cursor:pointer;border:1px dashed #b9cfc8;border-radius:8px;align-content:center;place-items:center;gap:2px;width:72px;height:72px;font-size:10px;display:grid;position:relative}.checklist-photo-add input{opacity:0;cursor:pointer;position:absolute;inset:0}.checklist-remark{background:#fdf3f1;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:10px 16px;padding:10px 12px;display:flex}.checklist-check{color:#8a3a2e;cursor:pointer;align-items:center;gap:8px;min-height:40px;font-size:12px;font-weight:600;display:inline-flex}.checklist-check input{width:18px;height:18px}.checklist-remark .field{flex:160px}.checklist-note,.checklist-problem{margin:0;font-size:11px;line-height:1.5}.checklist-note{color:#8a6a60}.checklist-problem{color:#b4492f}.checklist-summary{color:#2f6b5c;align-items:flex-start;gap:6px;margin:0;font-size:12px;line-height:1.4;display:flex}.checklist-summary svg{flex:none;margin-top:1px}.checklist-summary.has-fail{color:#9a3b2e}.checklist-view{gap:10px;min-width:0;display:grid}.checklist-view-title{color:var(--teal);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.checklist-view-title small{color:var(--muted);font-weight:400}.checklist-result{background:#f7f9f9;border-left:3px solid #d6dfe1;border-radius:8px;gap:6px;min-width:0;padding:10px 12px;display:grid}.checklist-result-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.checklist-result-head p{color:#34494e;overflow-wrap:anywhere;flex:220px;margin:0;font-size:12px;line-height:1.45}.verdict-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.verdict-badge.ok{color:#2f7a4b;background:#e5f3ea}.verdict-badge.fail{color:#b4392c;background:#fbe8e5}.verdict-badge.na{color:#6b7f83;background:#eef2f3}.checklist-result-comment{color:#587074;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:11px}.checklist-remark-link,.checklist-remark-add{text-align:left;justify-self:start;padding:6px 10px;font-size:11px}.checklist-remark-link.overdue{color:#b4392c;border-color:#f1cdc6}.checklist-remark-add{color:#9a3b2e;border-color:#efcfc8}.visit-template-chip{color:#477b6d;white-space:normal;background:#eaf2f0;border-radius:20px;align-items:center;gap:4px;margin-left:6px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.checklist-templates-panel{grid-column:1/-1}.checklist-templates{gap:6px;margin:0;padding:0;list-style:none;display:grid}.checklist-templates li{border:1px solid var(--border);border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.checklist-templates li.archived{background:#f7f9f9}.checklist-templates li>div{flex:280px;gap:3px;min-width:0;display:grid}.checklist-templates b{overflow-wrap:anywhere;font-size:13px}.checklist-templates small{color:var(--muted);font-size:11px}.checklist-templates p{color:#587074;overflow-wrap:anywhere;margin:0;font-size:11px}.checklist-template-actions{flex-wrap:wrap;gap:6px;display:flex}.checklist-template-actions button{padding:7px 11px;font-size:12px}.template-rows-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;font-size:12px;display:flex}.template-rows-head small{color:var(--muted)}.template-rows{gap:6px;margin:0;padding:0;list-style:none;display:grid}.template-row{grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.template-row.section{margin-top:6px}.template-row.section input{background:#f1f8f5;font-weight:700}.template-row-mark{color:var(--muted);justify-content:center;font-size:11px;font-weight:600;display:inline-flex}.template-row input{padding:8px 10px;font-size:13px}.template-row-actions{gap:2px;display:flex}.template-row-actions .icon-button{width:34px;height:34px;padding:0}.template-add{flex-wrap:wrap;gap:8px;display:flex}.template-add button{padding:8px 12px;font-size:12px}@media (width<=600px){.overlay.overlay-sheet{align-items:flex-end;padding:0}.modal.modal-sheet{width:100%;max-width:100%;max-height:92dvh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.checklist-fields{padding:12px 10px}.checklist-answer{padding:10px}.checklist-verdicts button{flex-direction:column;gap:2px;min-height:48px;padding:6px 4px;font-size:11px}.checklist-progress button,.checklist-more,.checklist-remark-link,.checklist-remark-add,.checklist-template-actions button,.template-add button{min-height:44px}.checklist-thumb button{width:32px;height:32px}.checklist-photo-add,.checklist-thumb img{width:76px;height:76px}.checklist-check{min-height:44px}.template-row{grid-template-columns:22px minmax(0,1fr)}.template-row-actions{grid-column:2;justify-content:flex-end}.template-row-actions .icon-button{width:44px;height:44px}.checklist-templates-panel .panel-title{flex-wrap:wrap}.checklist-template-actions{width:100%}}.construction-control{margin-top:22px;scroll-margin-top:80px}.construction-control .panel-title p{font-size:11px;line-height:1.5}.construction-control .panel-actions{flex-wrap:wrap;justify-content:flex-end}.construction-control .panel-actions button{padding:8px 12px;font-size:12px}.visits-body{gap:14px;padding:16px 22px 22px;display:grid}.visits-body .notice,.visits-body .error-box{margin:0}.visits-body .notice span{align-items:flex-start;gap:6px;line-height:1.5;display:inline-flex}.visit-muted{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.next-visit{color:var(--teal);background:#f1f8f5;border:1px solid #cfe3dc;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.next-visit>div:first-child{align-items:flex-start;gap:10px;display:flex}.next-visit>div:first-child span{gap:3px;display:grid}.next-visit b{font-size:13px}.next-visit small{color:#6f8d84}.next-visit.overdue{background:#fffaf9;border-color:#f1cdc6}.next-visit.overdue small{color:#b4492f}.next-visit-actions{flex-wrap:wrap;gap:6px;display:flex}.next-visit-actions button{padding:7px 11px;font-size:12px}.planned-visits{gap:6px;margin:0;padding:0;list-style:none;display:grid}.planned-visits li{border:1px solid var(--border);border-left:3px solid #9cc7bb;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:12px;display:flex}.planned-visits li.overdue{border-left-color:#c8473b}.planned-visits.cancelled li{color:var(--muted);border-left-color:#c9d2d4}.visit-feed{gap:10px;display:grid}.visit-card{border:1px solid var(--border);background:#fff;border-radius:10px;gap:8px;padding:14px 16px;display:grid}.visit-card.queued{background:#fffdf6;border-style:dashed}.visit-card.legacy{background:#fbfcfc}.visit-card header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.visit-card header>div{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.visit-card time{color:var(--teal);font-size:14px;font-weight:700}.visit-card header span{color:#587074;font-size:12px}.visit-result{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.visit-counts{color:var(--muted)}.visit-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:600;display:inline-flex}.visit-card header .visit-badge.confirmed,.visit-badge.confirmed{color:#2f7a4b;background:#e5f3ea}.visit-card header .visit-badge.unconfirmed,.visit-badge.unconfirmed{color:#9a6b12;background:#fbf1dc}.visit-card header .visit-badge.remarks,.visit-badge.remarks{color:#b4392c;background:#fbe8e5}.visit-card header .visit-badge.empty,.visit-badge.empty{color:#6b7f83;background:#eef2f3}.visit-card header .visit-badge.queued,.visit-badge.queued{color:#8a6a1c;background:#fff3d6}.visit-actions{flex-wrap:wrap;gap:6px;display:flex}.visit-actions button{padding:7px 11px;font-size:12px}.visit-report{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.visit-report-label{color:var(--muted);font-size:12px}.visit-details{border-top:1px solid var(--border);gap:10px;padding-top:8px;display:grid}.visit-entries{gap:6px;margin:0;padding:0;list-style:none;display:grid}.visit-entry{background:#f7f9f9;border-left:3px solid #d9c38f;border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:10px 12px;display:flex}.visit-entry.approved{border-left-color:#6fb08a}.visit-entry.rejected{border-left-color:#c8473b}.visit-entry>div:first-child{flex:240px;gap:3px;min-width:0;display:grid}.visit-entry b{font-size:12px}.visit-entry p{color:#587074;overflow-wrap:anywhere;margin:0;font-size:11px}.visit-entry-volume{color:#4a786d;font-size:13px;font-weight:700}.visit-review-comment{color:#b07767!important}.visit-entry-side{align-content:start;justify-items:end;gap:6px;display:grid}.visit-entry-actions{gap:6px;display:flex}.visit-entry-actions button{padding:6px 10px;font-size:11px}.visit-photos{flex-wrap:wrap;gap:8px;display:flex}.visit-photos img{object-fit:cover;border:1px solid var(--border);background:#eef2f3;border-radius:8px;width:84px;height:84px;display:block}.visit-file{align-items:center;gap:5px;font-size:11px;display:inline-flex}.visit-queue-error{color:#b4492f;margin:0;font-size:11px}.visit-group{gap:10px;display:grid}.visit-group-toggle{justify-self:start;padding:7px 12px;font-size:12px}.entry-visit-label{color:#477b6d;background:#eaf2f0;border-radius:20px;align-items:center;gap:5px;margin:0 0 6px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.visit-templates{flex-wrap:wrap;gap:6px;margin-top:-6px;display:flex}.visit-templates button{border-radius:20px;padding:5px 10px;font-size:11px}.visit-works{gap:10px;display:grid}.visit-works-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;font-weight:600;display:flex}.visit-works-head small{color:var(--muted);font-weight:400}.visit-work-row{border:1px solid var(--border);border-radius:9px;gap:10px;min-width:0;margin:0;padding:12px 14px 14px;display:grid}.visit-work-title{color:#6f8d84;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.visit-add-work{justify-self:start;font-size:12px}@media (width<=600px){.visits-body{padding:14px}.construction-control .panel-title{flex-wrap:wrap}.next-visit-actions,.visit-actions{width:100%}.visit-report{margin-left:0}.visit-entry-side{justify-items:start}}.visit-badge.empty{text-align:left;padding:4px 9px}.inbox{display:flex;position:relative}.inbox-bell{color:#5d7478;background:0 0;border:1px solid #0000;border-radius:50%;width:38px;height:38px;padding:0;position:relative}.inbox-bell:hover,.inbox-bell.open{color:var(--teal);background:#eef4f2}.inbox-badge{color:#fff;text-align:center;box-sizing:border-box;background:#c8473b;border:2px solid #fff;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:14px;position:absolute;top:1px;right:0}.inbox-popover{z-index:50;border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;width:400px;max-width:calc(100vw - 32px);max-height:min(72vh,600px);display:flex;position:absolute;top:calc(100% + 10px);right:-8px;overflow:hidden;box-shadow:0 16px 40px #12312b24}.inbox-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:14px 12px 12px 16px;display:flex}.inbox-head b{color:#253b40;font-size:15px}.inbox-read-all{color:#2f6f63;border-color:#0000;margin-left:auto;padding:6px 10px;font-size:12px}.inbox-close{color:var(--muted)}.inbox-head .inbox-read-all+.inbox-close{margin-left:0}.inbox-head b+.inbox-close{margin-left:auto}.inbox-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:6px;overflow-y:auto}.inbox-scroll .error-box{margin:6px}.inbox-note{color:#9a6b2c;align-items:center;gap:6px;margin:8px 10px;font-size:12px;display:flex}.inbox-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.inbox-item{text-align:left;color:#43555a;background:0 0;border:0;border-radius:10px;grid-template-columns:32px minmax(0,1fr) 10px;align-items:start;gap:10px;width:100%;padding:10px;font-weight:400;display:grid}.inbox-item:hover{background:#f2f7f5}.inbox-item.unread{background:#f3f8f6}.inbox-item.unread:hover{background:#e8f2ee}.inbox-icon{color:#4b7a6f;background:#eaf1ee;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.inbox-item.unread .inbox-icon{background:var(--teal);color:#fff}.inbox-body{gap:3px;min-width:0;display:grid}.inbox-body b{color:#253b40;overflow-wrap:anywhere;font-size:13px;font-weight:600}.inbox-item:not(.unread) .inbox-body b{color:#43555a;font-weight:500}.inbox-text{color:#5b6f73;white-space:pre-line;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.inbox-body small{color:var(--muted);font-size:11px}.inbox-dot{background:#c8473b;border-radius:50%;width:9px;height:9px;margin-top:6px}.inbox-empty{text-align:center;color:var(--muted);justify-items:center;gap:6px;padding:28px 22px 32px;display:grid}.inbox-empty b{color:#43555a;font-size:14px}.inbox-empty p{margin:0;font-size:12px;line-height:1.5}.inbox-more{width:calc(100% - 12px);margin:6px;font-size:12px}.inbox-sheet{height:86dvh;padding-left:0;padding-right:0}.inbox-sheet .inbox-head{padding:2px 8px 10px 16px}.inbox-sheet .inbox-scroll{flex:1;padding:6px 8px}@media (width<=600px){.inbox-bell{width:44px;height:44px}.inbox-badge{top:3px;right:1px}.inbox-read-all,.inbox-close,.inbox-more{min-height:44px}.inbox-close{min-width:44px}.inbox-item{min-height:56px;padding:12px 10px}.inbox-body b{font-size:14px}.inbox-text{font-size:13px}}.bulk-panel{margin-bottom:18px;display:grid}.panel.bulk-panel{overflow:visible}.bulk-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;display:flex}.bulk-all{cursor:pointer;color:#3d5358;flex:1;align-items:center;gap:10px;min-height:44px;font-size:13px;display:flex}.bulk-all input,.bulk-list input{width:18px;height:18px;accent-color:var(--teal);flex:none;margin:0}.bulk-close{min-width:44px;min-height:44px}.bulk-actions{border-bottom:1px solid var(--border);background:#fafcfb;flex-wrap:wrap;gap:6px;padding:10px 14px;display:flex}.bulk-actions button{padding:8px 12px;font-size:12px}.bulk-list{max-height:340px;margin:0;padding:6px;list-style:none;overflow-y:auto}.bulk-list label{cursor:pointer;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:6px 8px;display:flex}.bulk-list label:hover{background:#f3f8f6}.bulk-list label.checked{background:#e8f2ee}.bulk-list span{color:#2f464b;gap:1px;min-width:0;font-size:13px;font-weight:600;display:grid}.bulk-list small{color:#7d918c;font-weight:500}.bulk-empty{color:#7d918c;padding:14px;font-size:12px}.bulk-bar{bottom:calc(66px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fff;border-radius:0 0 12px 12px;padding:10px 12px;position:sticky}.bulk-bar button{width:100%;min-height:48px;font-size:14px}.bulk-form .form-hint{margin-top:0}.bulk-toggle{white-space:nowrap}@media (width<=600px){.bulk-list{max-height:none}}.objects-screen{--late:#c8473b;--late-soft:#fdf0ee}.object-filters{flex-wrap:wrap;align-items:center;gap:8px;margin:-6px 0 20px;display:flex}.filter-select{flex:160px;min-width:150px;max-width:230px;position:relative}.filter-select-button{border:1px solid var(--border);text-align:left;background:#fff;border-radius:10px;gap:1px;width:100%;min-height:44px;padding:6px 10px 6px 12px;display:grid}.filter-select-button:hover{background:#f6faf8}.filter-select-caption{color:#7d918c;font-size:10px;font-weight:600}.filter-select-value{color:#33494e;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:600;display:flex}.filter-select-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.filter-select-value svg{color:#7d918c;flex:none;transition:transform .15s}.filter-select-button[aria-expanded=true] .filter-select-value svg{transform:rotate(180deg)}.filter-select.chosen .filter-select-button{border-color:var(--teal);background:#eef6f3}.filter-select.chosen .filter-select-value,.filter-select.chosen .filter-select-value svg{color:var(--teal)}.filter-select-list{z-index:30;background:#fff;border:1px solid #dfe8e4;border-radius:12px;width:max-content;min-width:100%;max-width:320px;max-height:340px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 16px 40px #173d3d26}.filter-select-list:focus{outline:none}.filter-select-list li{color:#33494e;cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:6px 8px;font-size:12px;display:flex}.filter-select-list li.all{border-bottom:1px solid var(--border);border-radius:8px 8px 0 0;margin-bottom:4px}.filter-select-list li.active{background:#f0f6f4}.filter-select-list:focus-visible li.active{box-shadow:inset 0 0 0 2px #64ad9c}.filter-select-list li[aria-selected=true]{color:var(--teal);font-weight:700}.filter-select-mark{flex:none;width:14px;display:inline-flex}.filter-select-option{flex:1;min-width:0}.filter-select-list li[aria-selected=true] .chip-count{background:var(--teal);color:#fff}.object-filter-flags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.object-filter-flags .chip{min-height:34px}.chip-reset:disabled{opacity:.45;cursor:default}.chip-reset:disabled:hover{background:#fff}.sheet-selects{gap:10px;margin-top:4px;display:grid}.sheet-select{gap:4px;display:grid}.sheet-select>span{letter-spacing:.6px;text-transform:uppercase;color:#8ba096;font-size:11px}.sheet-select select{border:1px solid var(--border);width:100%;min-height:46px;color:var(--text);background-color:#fff;border-radius:10px;padding:8px 12px;font-size:16px}.sheet-select select.chosen{border-color:var(--teal);color:var(--teal);background-color:#eef6f3;font-weight:600}.chip{--chip-color:#5b9e89;border:1px solid var(--border);color:#5f7378;white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-size:11px;font-weight:600;display:inline-flex}.chip:hover{background:#f3f8f6}.chip[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}.chip-dot{background:var(--chip-color);border-radius:50%;flex:none;width:8px;height:8px}.chip[aria-pressed=true] .chip-dot{box-shadow:0 0 0 2px #fff5}.chip-count{color:#5d7672;background:#edf2f1;border-radius:9px;justify-content:center;align-items:center;min-width:20px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.chip[aria-pressed=true] .chip-count{color:#fff;background:#ffffff26}.chip-count.alert{background:var(--late-soft,#fdf0ee);color:#b4473a}.chip-late{--chip-color:#b9c4c6}.chip-late.alert{--chip-color:var(--late);color:#b4473a;background:#fffaf9;border-color:#efc9c3}.chip-late.alert .chip-count{background:var(--late-soft);color:#b4473a}.chip-late.alert[aria-pressed=true]{background:var(--late);border-color:var(--late);color:#fff}.chip-late.alert[aria-pressed=true] .chip-dot{background:#fff}.chip-late.alert[aria-pressed=true] .chip-count{color:#fff;background:#ffffff2e}.chip-group{gap:2px;display:inline-flex;position:relative}.chip-group>.chip[aria-pressed=true]+.chip-clear{margin-left:-4px}.chip-clear{padding:7px 8px}.finish-picker{z-index:30;background:#fff;border:1px solid #dfe8e4;border-radius:12px;width:290px;padding:14px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px #173d3d26}.finish-picker-hint{margin:0 0 10px;font-size:10px;line-height:1.5}.finish-year{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.finish-year b{color:#2f5a52;font-size:13px}.finish-months{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.finish-months button{border-color:#edf1ef;padding:8px 0;font-size:11px;font-weight:600}.finish-months button.current{border-color:#9cc7bb}.finish-months button.selected{background:var(--teal);border-color:var(--teal);color:#fff}.finish-range{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:6px;margin-top:12px;padding-top:12px;display:grid}.finish-range>span{color:#7d918c;grid-column:1/-1;font-size:10px;font-weight:600}.finish-range input{padding:7px 8px;font-size:11px}.finish-range button{grid-column:1/-1}.objects-nav-head{align-items:stretch;gap:2px;display:flex}.sidebar nav .objects-nav-head>button:first-child{flex:1}.sidebar nav .objects-nav-toggle{color:#93a3a6;flex:none;padding:0 10px}.objects-nav-toggle svg{transition:transform .15s;transform:rotate(-90deg)}.objects-nav.expanded .objects-nav-toggle svg{transform:none}.objects-nav-panel{background:#f8faf9;border:1px solid #e8eeee;border-radius:10px;gap:6px;margin:6px 0;padding:8px;display:grid}.objects-nav-search{color:#9aa8ab;background:#fff;border:1px solid #e1e8e8;border-radius:7px;align-items:center;gap:6px;padding:0 8px;display:flex}.objects-nav-search:focus-within{border-color:#4c9686;box-shadow:0 0 0 3px #32857512}.objects-nav-search input{box-shadow:none;background:0 0;border:0;padding:8px 0;font-size:11px}.objects-nav-search input:focus{box-shadow:none}.sidebar nav .objects-nav-search button,.sidebar nav .objects-nav-filters button{color:#6f8a85;background:0 0;padding:3px;font-size:10px}.objects-nav-filters{color:#7a8f8a;justify-content:space-between;align-items:center;gap:6px;padding:0 2px;font-size:9px;display:flex}.sidebar nav .objects-nav-filters button{color:#2f7466;text-decoration:underline}.objects-nav-archived{color:#7d8f8c;align-items:center;gap:6px;padding:2px;font-size:10px;display:flex}.objects-nav-archived input,.objects-archived-toggle input{width:auto;margin:0}.object-list{border-radius:7px;outline:none}.object-list:focus-visible{box-shadow:0 0 0 3px #64ad9c66}.object-list.nav{overscroll-behavior:contain;background:#fff;border:1px solid #e8eeee;max-height:clamp(160px,100vh - 560px,520px);position:relative;overflow-y:auto}.object-list-spacer{position:relative}.object-row{cursor:pointer;color:#3e5559;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.object-list.nav .object-row{border-bottom:1px solid #f1f4f3;height:40px;padding:0 9px;font-size:11px;position:absolute;left:0;right:0}.object-row:hover{background:#f3f8f6}.object-row.active{box-shadow:inset 0 0 0 2px #9cc7bb}.object-list:not(:focus-visible) .object-row.active:not(:hover){box-shadow:none}.object-row.selected{color:#1f5a50;background:#e3f0eb}.object-row.selected:before{content:"";background:var(--green);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}.object-dot{border-radius:50%;flex:none;width:9px;height:9px}.object-row-text{flex:1;min-width:0;display:grid}.object-row-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.object-row-progress{color:#6e8a83;font-variant-numeric:tabular-nums;flex:none;font-size:10px}.object-late,.object-late-space{border-radius:50%;flex:none;width:8px;height:8px}.object-late{background:#c8473b;box-shadow:0 0 0 3px #c8473b26}.object-list-empty{text-align:center;color:#93a4a0;padding:18px 10px;font-size:10px;line-height:1.5}.object-list-empty.nav{background:#fff;border:1px solid #e8eeee;border-radius:7px}.object-list.page{border-top:1px solid var(--border)}.object-list.page .object-row{border-bottom:1px solid #eef2f1;min-height:60px;padding:12px 16px;font-size:13px;position:relative}.object-list.page .object-row small{color:#93a29f;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;overflow:hidden}.object-list.page .object-row-progress{font-size:12px;font-weight:700}.object-list-more{text-align:center;color:#93a4a0;padding:14px;font-size:11px}.objects-archived-toggle{color:#6f8580;align-items:center;gap:8px;padding:14px 16px;font-size:12px;display:flex}.sidebar:has(.objects-nav.expanded){overflow-y:auto}.sidebar:has(.objects-nav.expanded) .pwa-card{display:none}.sidebar:has(.objects-nav.expanded) .workspace-label{margin:22px 0 18px}.sidebar:has(.objects-nav.expanded) .sidebar-bottom{padding-top:16px}.sidebar:has(.objects-nav.expanded) .profile{margin-top:0;padding-top:14px}.objects-kpis .stat{flex-direction:column;display:flex}.objects-kpis .stat>small{margin-top:auto}.objects-kpis .kpi-alert{color:#b4473a;font-weight:700}.kpi-cash{color:#839398;justify-content:space-between;align-items:baseline;gap:8px;margin:-2px 0 6px;font-size:10px;display:flex}.kpi-cash b{color:#3d6a60;font-size:13px}.objects-kpis .progress{margin-bottom:8px}.object-cards{margin-bottom:28px;scroll-margin-top:16px}.object-cards-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.object-cards-head .eyebrow{margin:0}.object-cards-head>div{align-items:center;gap:6px;display:flex}.object-cards-head button.small{padding:7px 10px;font-size:11px}.object-cards-close{border:1px solid var(--border);background:#fff;border-radius:8px;padding:6px}.object-cards-grid{grid-template-columns:minmax(0,1.55fr) repeat(3,minmax(0,1fr));gap:14px;display:grid}.object-card{border:1px solid var(--border);background:#fff;border-radius:11px;flex-direction:column;min-width:0;padding:16px 18px;display:flex;position:relative}.object-card h4{letter-spacing:1.2px;text-transform:uppercase;color:#8a9b9e;align-items:center;gap:6px;margin:0 0 12px;font-size:10px;display:flex}.object-card dl{gap:9px;margin:0;display:grid}.object-card dt{color:#93a2a6;font-size:10px}.object-card dd{color:#2f4c50;overflow-wrap:break-word;margin:2px 0 0;font-size:12px;font-weight:600}.object-card .muted{color:#a3b0b2;font-weight:500}.passport-card{flex-direction:row;gap:14px;padding:14px}.passport-cover{background:#eef3f1;border-radius:8px;flex:0 0 38%;max-width:180px;min-height:150px;overflow:hidden}.passport-cover img{object-fit:cover;width:100%;height:100%;display:block}.passport-cover-empty{text-align:center;color:#93aba3;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;padding:12px;display:flex}.passport-cover-empty small{font-size:9px;line-height:1.4}.passport-body{flex-direction:column;flex:1;min-width:0;display:flex}.passport-badges{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.passport-badges .project-status{margin-left:0}.passport-badges .project-status.active{color:#357765;background:#eaf5ef}.passport-body h3{color:#213f43;margin:8px 0 10px;font-size:15px;line-height:1.35}.passport-facts{grid-template-columns:1fr 1fr;column-gap:12px}.passport-facts>div:first-child{grid-column:1/-1}.passport-docs{color:#2c6a5e;align-self:flex-start;margin-top:12px;padding:8px 11px;font-size:11px}.org-name{max-width:100%;display:inline-block;position:relative}.org-trigger{color:#2c6a5e;text-align:left;text-underline-offset:3px;white-space:normal;background:0 0;border:0;padding:0;font-size:12px;font-weight:600;-webkit-text-decoration:underline dotted #9cc7bb;text-decoration:underline dotted #9cc7bb;display:inline}.org-trigger:hover{color:#1c5248;background:0 0}.org-popover{z-index:25;color:#486660;background:#fff;border:1px solid #dfe8e4;border-radius:9px;gap:4px;width:max-content;max-width:260px;padding:10px 12px;font-size:11px;font-weight:500;display:grid;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 30px #173d3d24}.org-popover a{align-items:center;gap:5px;text-decoration:none;display:inline-flex}.org-popover small{color:#93a29f}.deadline-facts dd{font-size:14px}.deadline-facts .lag{color:#b4473a;margin-top:2px;font-size:10px;display:block}.deadline-facts .readiness .progress{margin-top:6px}.schedule-state{border-radius:8px;margin:12px 0 0;padding:9px 10px;font-size:11px;line-height:1.4}.schedule-state b,p.schedule-state{align-items:center;gap:6px;font-weight:700;display:flex}.schedule-state.ok{color:#357765;background:#eaf5ef}.schedule-state.neutral{color:#6a7d80;background:#f1f4f4}.schedule-state.violated{color:#b4473a;background:#fdf0ee}.schedule-state ul{color:#a4574a;margin:4px 0 0;padding-left:21px;font-size:10px}.deadlines-card.violated{border-color:#f0cdc6}.section-buttons{gap:6px;display:grid}.section-buttons>button{text-align:left;color:#3a6d63;justify-content:flex-start;align-items:flex-start;gap:9px;padding:9px 10px;font-weight:400}.section-buttons>button>svg{flex:none;margin-top:1px}.section-buttons>button>span{gap:2px;min-width:0;display:grid}.section-buttons b{color:#2d4d50;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;font-size:11px;display:flex;overflow:hidden}.section-buttons small{color:#8fa09c;font-size:10px}.section-buttons small.amber{color:#b08a44}.section-buttons small.alert{color:#b4473a;font-weight:700}.card-tasks{gap:7px;margin:0;padding:0;list-style:none;display:grid}.card-tasks li{background:#f7faf9;border-left:3px solid #9cc7bb;border-radius:6px;padding:7px 9px}.card-tasks li.overdue{background:#fffaf9;border-left-color:#c8473b}.card-tasks b{color:#2f4c50;white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.card-tasks small{color:#8a9d98;align-items:center;gap:4px;margin-top:3px;font-size:10px;display:flex}.card-tasks li.overdue small{color:#b4473a}.card-empty{color:#93a29f;margin:0;font-size:11px}.next-visit{border-top:1px solid var(--border);color:#5f7a74;align-items:center;gap:6px;margin:12px 0 0;padding-top:10px;font-size:11px;display:flex}.card-link{color:#2f7466;background:0 0;border:0;align-self:flex-start;margin-top:auto;padding:8px 0 0;font-size:11px}.card-link:hover{background:0 0;text-decoration:underline}.objects-map.map-panel:not(.map-expanded){height:clamp(360px,58vh,620px)}.objects-map-empty{padding:4px 0 8px}.objects-empty{text-align:center;color:#7d918c;justify-items:center;gap:6px;padding:24px 16px;font-size:12px;display:grid}.objects-empty b{color:#4b6763}.map-marker.late{box-shadow:0 0 0 3px #c8473b,0 2px 6px #1b3e4840}.map-marker.selected{width:32px;height:32px;box-shadow:0 0 0 4px var(--teal), 0 4px 14px #113d4066;z-index:2;border-width:4px;outline:none}.map-marker.selected.late{box-shadow:0 0 0 4px #c8473b,0 0 0 7px #fff,0 4px 14px #113d4066}.maplibregl-marker:has(.map-marker.selected){z-index:3}.map-cluster{color:#fff;background:#2f6f64;border:3px solid #fff;border-radius:50%;width:36px;height:36px;padding:0;font-size:12px;font-weight:800;box-shadow:0 0 0 4px #2f6f6433,0 3px 8px #1b3e4840}.map-cluster.large{width:46px;height:46px;font-size:13px}.map-cluster:hover{background:#245a51;transform:scale(1.06)}.map-cluster.late{box-shadow:0 0 0 3px #c8473b,0 3px 8px #1b3e4840}.legend-late i{background:#fff;box-shadow:0 0 0 2px #c8473b}@media (width>=1500px){.chip{font-size:12px}}@media (width<=1400px){.object-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.objects-nav,.objects-nav-head{display:contents}.objects-toolbar{flex-wrap:nowrap}.objects-toolbar .search{max-width:none}.objects-toolbar .search input{font-size:12px}}@media (width<=600px){.finish-picker{width:auto;position:fixed;inset:auto 12px 76px}.object-cards-grid{grid-template-columns:1fr;gap:10px}.passport-card{flex-direction:column}.passport-cover{flex:none;max-width:none;height:170px;min-height:0}.passport-cover:has(.passport-cover-empty){height:76px}.passport-cover-empty{flex-direction:row}.objects-map.map-panel:not(.map-expanded){height:62vh}.objects-kpis .kpi-cash{flex-wrap:wrap}.object-card dd{font-size:13px}}#object-schedule,#object-tasks,#object-payments,#design-docs,#object-control,#object-prescriptions{scroll-margin-top:16px}.team-members-notes{gap:8px;padding:14px 23px 0;display:grid}.team-members-notes .notice,.team-members-notes .error-box,.team-members-notes .form-hint{margin:0}.team-members td{vertical-align:middle}.team-name b{color:#2f4c50;font-size:12px;display:block}.team-flag{color:#ba7474;background:#fbefef;border-radius:4px;align-items:center;gap:4px;margin-top:5px;padding:2px 7px;font-size:9px;font-weight:700;display:inline-flex}.team-members tr.deleted .team-flag{color:#7a8a8d;background:#eef1f2}.team-members tr.blocked td,.team-members tr.deleted td{background:#fbfcfc}.team-members tr.blocked .team-email,.team-members tr.deleted .team-email,.team-members tr.deleted .team-role{color:#a5b3b0}.team-members tr.deleted .team-name b{color:#7a8a8d}.team-role .form{gap:8px;max-width:220px}.team-role .form>button{padding:8px 11px;font-size:11px}.team-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.team-actions button{white-space:nowrap;padding:7px 10px;font-size:11px}.team-actions .team-danger{color:#b0625b}.team-actions .team-danger:hover{background:#fbefef}.team-actions .team-link{border-style:dashed}.team-state{color:#8c9d99;font-size:11px}.team-members tr.blocked .team-state{color:#ba7474}.team-confirm{gap:12px;display:grid}.team-confirm p{margin:0;font-size:12px}.team-confirm p b{color:#2f4c50}.team-consequences{color:#6d8581;gap:4px;margin:0;padding-left:18px;font-size:12px;line-height:1.5;display:grid}.team-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}button.primary.team-danger-confirm{background:#a9524b;border-color:#a9524b}button.primary.team-danger-confirm:hover{background:#8f433d}.team-handover{border:1px solid var(--border);background:#fafbfb;border-radius:9px;gap:8px;padding:12px;display:grid}.team-handover h3{color:#43555a;margin:4px 0 0;font-size:12px}.team-handover ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.team-handover li{border:1px solid var(--border);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:6px 6px 6px 10px;display:flex}.team-handover li>span{gap:2px;min-width:0;display:grid}.team-handover li b{color:#2f4c50;overflow-wrap:anywhere;font-size:12px}.team-handover li small{color:#8c9d99;font-size:10px}.team-open{flex:none;padding:7px}.team-handover-loading{align-items:center;gap:6px;display:flex}@media (width<=600px){.team-members{overflow:visible}.team-members-notes{padding:12px 14px 0}.team-members table,.team-members tbody,.team-members tr,.team-members td{width:100%;display:block}.team-members thead{display:none}.team-members tr{border-bottom:1px solid var(--border);padding:12px 14px}.team-members td{border:0;padding:0}.team-members tr.blocked td,.team-members tr.deleted td{background:0 0}.team-members tr.blocked,.team-members tr.deleted{background:#fbfcfc}.team-email{overflow-wrap:anywhere;margin-top:2px}.team-role{margin-top:10px}.team-role .form{max-width:none}.team-access{margin-top:10px}.team-actions button,.team-role .form>button,.team-open,.team-confirm-actions button{min-height:44px}.team-actions button{flex:auto;font-size:12px}.team-role select{min-height:44px}.team-confirm-actions button{flex:auto}.team-open{min-width:44px}}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-cyrillic-400-normal-BMzJvInZ.woff2)format("woff2"),url(/assets/manrope-cyrillic-400-normal-Dvx59UGC.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-cyrillic-500-normal-B1OEZity.woff2)format("woff2"),url(/assets/manrope-cyrillic-500-normal-CNwnNrRC.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-cyrillic-600-normal-DvRl3Mj-.woff2)format("woff2"),url(/assets/manrope-cyrillic-600-normal-It4mZcQk.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-cyrillic-700-normal-Dw_fZAg2.woff2)format("woff2"),url(/assets/manrope-cyrillic-700-normal-7JNVKxyl.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-cyrillic-800-normal-AvdZ5mAV.woff2)format("woff2"),url(/assets/manrope-cyrillic-800-normal-BuEMjQU-.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2)format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2)format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff)format("woff")}:root{color:#253b40;font-synthesis:none;--teal:#113d40;--green:#328575;--muted:#88969b;--border:#e6ebed;background:#f5f7f8;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.button{cursor:pointer;border:1px solid var(--border);color:#43555a;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s;display:inline-flex}button:hover,.button:hover{background:#eef4f2}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #64ad9c}input,select,textarea{color:#263d42;background:#fff;border:1px solid #dce3e4;border-radius:7px;outline:none;width:100%;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:#4c9686;box-shadow:0 0 0 3px #32857512}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1px;margin-bottom:9px;font-size:29px;font-weight:800}h2{letter-spacing:-.4px;margin-bottom:8px;font-size:18px}h3{margin-bottom:8px;font-size:15px}p{color:#839095;line-height:1.65}a{color:#257a6f}small{font-size:11px}button.primary,.primary{background:var(--teal);color:#fff;border-color:var(--teal)}button.primary:hover{background:#225b5c}.primary.small{padding:7px 11px;font-size:12px}.icon-button{background:0 0;border:0;padding:6px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--border);z-index:20;background:#fff;flex-direction:column;width:236px;padding:28px 18px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--teal);letter-spacing:-1.3px;align-items:center;gap:10px;padding:0 10px;font-size:30px;font-weight:800;text-decoration:none;display:flex}.brand img{border-radius:10px;width:42px;height:42px}.brand-caption{color:#89979b;letter-spacing:.3px;margin-top:-3px;font-size:9px;font-weight:500;display:block}.workspace-label{background:#f6f8f8;border:1px solid #e8eeee;border-radius:9px;align-items:center;gap:10px;margin:35px 0 30px;padding:12px 10px;font-size:11px;font-weight:700;display:flex}.workspace-label small{color:#91a0a3;margin-top:3px;font-size:10px;font-weight:400;display:block}.workspace-icon{color:#6f898b;background:#fff;border:1px solid #d9e2e3;border-radius:7px;padding:6px 9px;font-size:14px}.nav-label{color:#a1aeb1;letter-spacing:1.4px;margin:0 12px 13px;font-size:9px;font-weight:700}.sidebar nav{gap:6px;display:grid}.sidebar nav button{color:#7d8a8f;background:0 0;border:0;border-radius:8px;justify-content:flex-start;gap:13px;padding:14px;font-size:12px}.sidebar nav button.active{color:#276f63;background:#eaf3ef}.sidebar nav b{background:#dfeae5;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:35px}.pwa-card{color:#518477;background:#f5f8f7;border:1px solid #e7efeb;border-radius:10px;padding:17px 14px}.pwa-card b{color:#456f65;margin:8px 0;font-size:11px;display:block}.pwa-card p{color:#98a7a2;margin-bottom:10px;font-size:10px}.pwa-card button{color:#418171;background:0 0;border:0;padding:0;font-size:10px}.profile{border:0;border-top:1px solid var(--border);text-align:left;background:0 0;border-radius:0;justify-content:flex-start;align-items:center;gap:8px;width:100%;margin-top:22px;padding:20px 0 0;font-size:10px;display:flex}.profile small{color:#9da9ac;margin-top:3px;font-size:9px;display:block}.logout-button{color:#9a5d53;background:snow;border-color:#ecdeda;justify-content:flex-start;width:100%;margin-top:10px;font-size:11px}.top-logout{width:auto;margin:0;padding:8px 11px;display:none}.avatar,.top-avatar{color:#698173;background:#e5eee9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:31px;height:31px;font-weight:700;display:flex}.main-shell{margin-left:236px}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:20px;height:75px;padding:0 36px;display:flex}.breadcrumb{color:#96a2a6;align-items:center;gap:12px;font-size:10px;display:flex}.breadcrumb b{color:#566970;font-weight:600}.top-actions{align-items:center;gap:24px;display:flex}.sync-badge{color:#80a498;background:0 0;border:0;padding:0;font-size:10px;font-weight:500}.sync-badge.offline{color:#bd8a3d}.sync-badge.sync-error{color:#b75b4a}.top-avatar{width:29px;height:29px;font-size:10px}main{max-width:1760px;margin:auto;padding:30px 36px 20px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.page-heading p{margin:0;font-size:11px}.page-heading>.primary,.page-heading>.button{padding:11px 16px;font-size:11px}.page-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.page-heading-actions>button,.page-heading-actions>.button{padding:11px 16px;font-size:11px}.eyebrow{letter-spacing:1.5px;color:#8a9b9e;margin-bottom:10px;font-size:9px;font-weight:700;display:block}.count{vertical-align:middle;color:#7b8f8d;letter-spacing:0;background:#e8eeed;border-radius:6px;justify-content:center;align-items:center;min-width:26px;height:23px;margin-left:12px;font-size:12px;display:inline-flex}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px;display:grid}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{border:1px solid var(--border);background:#fff;border-radius:11px;min-height:134px;padding:18px 20px}.stat>div{color:#839398;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:10px;display:flex}.stat i{color:#91aaa3;background:#f3f7f5;border-radius:6px;padding:5px;font-style:normal;display:flex}.stat strong{letter-spacing:-1px;color:#29474b;white-space:nowrap;margin-bottom:7px;font-size:25px;font-weight:700;display:block}.stat small{color:#a1adb0;font-size:9px}.stat.accent i{color:#c7a262;background:#faf7ef}.stat.accent strong{color:#bb9758}.objects-section,.panel,.schedule-panel{border:1px solid var(--border);background:#fff;border-radius:11px;overflow:hidden}.section-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:18px 20px;display:flex}.search{color:#9da9ac;border:1px solid #e5eaeb;border-radius:7px;flex:1;align-items:center;gap:8px;min-width:150px;max-width:260px;padding:0 10px;display:flex}.search input{box-shadow:none;border:0;padding:10px 0;font-size:10px}.category-filters{flex:1;gap:2px;display:flex}.category-filters button{color:#91a0a3;white-space:nowrap;background:0 0;border:0;padding:8px 11px;font-size:9px}.category-filters button.selected{color:#3d796c;background:#eef4f1}.view-toggle{background:#f3f6f6;border-radius:7px;gap:2px;padding:3px;display:flex}.view-toggle button{color:#b1babc;background:0 0;border:0;padding:6px}.view-toggle button.selected{color:#527b74;background:#fff;box-shadow:0 1px 4px #163d4014}.map-panel{background:#e7eeea;height:354px;position:relative}.map-panel.map-expanded{z-index:100;border-radius:0;width:100vw;height:100dvh;position:fixed;inset:0}.map-panel>.map-canvas{width:100%;height:100%;position:absolute;inset:0}.map-marker{color:#0000;border:3px solid #fff;border-radius:50%;width:25px;height:25px;padding:0;box-shadow:0 2px 5px #1b3e4840}.map-marker:hover{transform:scale(1.1)}.map-marker.selected{outline:5px solid #78a79950}.boundary-handle{background:#176e65;border:3px solid #fff;border-radius:50%;width:16px;min-width:16px;height:16px;padding:0;box-shadow:0 1px 5px #143c3c66}.map-legend{color:#82918f;background:#fffffff5;border:1px solid #e9eeeb;border-radius:7px;gap:14px;padding:10px 13px;font-size:9px;display:flex;position:absolute;top:16px;left:18px;box-shadow:0 2px 8px #31524b07}.map-legend span{align-items:center;gap:5px;display:flex}.map-legend i{border-radius:50%;width:6px;height:6px;display:inline-block}.map-legend .legend-title{color:#5f7378;font-weight:700}.location-picker .maplibregl-ctrl-bottom-right{z-index:4}.maplibregl-ctrl-attrib.maplibregl-compact{font-size:11px}.map-expand-button{z-index:2;padding:8px 10px;font-size:9px;position:absolute;top:12px;right:12px;box-shadow:0 2px 10px #153b3b1f}.map-fullscreen-header{z-index:3;background:#fffffff2;border:1px solid #e4ebe7;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;width:min(520px,100% - 32px);padding:12px 14px;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #173d3d26}.map-fullscreen-header b,.map-fullscreen-header span{display:block}.map-fullscreen-header b{font-size:13px}.map-fullscreen-header span{color:#80908b;margin-top:3px;font-size:9px}.map-expanded .map-tools{z-index:3;justify-content:center;top:auto;bottom:45px}.map-expanded .map-tools span,.map-expanded .map-tools button{box-shadow:0 3px 16px #173d3d20}.map-tools{flex-wrap:wrap;align-items:center;gap:5px;font-size:9px;display:flex;position:absolute;top:55px;left:15px;right:15px}.map-tools span{background:#fff;border-radius:5px;padding:7px}.map-tools button{padding:7px;font-size:9px}.map-warning{color:#8a7134;background:#fff9e9;border-radius:7px;padding:10px;font-size:10px;position:absolute;bottom:44px;left:15px;right:15px}.map-loading{color:#81998d;background:#e9efeb;place-items:center;height:354px;display:grid}.object-list-heading{justify-content:space-between;align-items:center;padding:21px 22px 16px;display:flex}.object-list-heading h2{margin:0;font-size:14px}.object-list-heading span{color:#a1adb0;font-size:9px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:0 20px 22px;display:grid}.project-card{text-align:left;border-radius:9px;min-width:0;padding:18px;font-weight:400;display:block}.project-card:hover{background:#fbfdfc;border-color:#b8cfc6;box-shadow:0 5px 20px #24413d08}.project-card-top{color:#a8b8b4;justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.category{letter-spacing:.1px;color:#588773;background:#edf5f0;border-radius:4px;padding:4px 7px;font-size:8px;font-weight:600;display:inline-flex}.category.repair{color:#b49861;background:#fbf5e9}.category.landscaping{color:#7898c4;background:#eef3fc}.project-card h3{letter-spacing:-.2px;margin-bottom:7px;font-size:13px;line-height:1.5}.project-card>p{white-space:nowrap;text-overflow:ellipsis;margin-bottom:22px;font-size:9px;overflow:hidden}.card-progress{color:#9ba9ad;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:9px;display:flex}.card-progress strong{color:#61897d;font-size:11px;font-weight:700}.progress{background:#edf1ef;border-radius:5px;height:5px;display:flex;overflow:hidden}.progress i{background:#5b9e89;border-radius:5px;min-width:0;display:block}.progress b{background:repeating-linear-gradient(45deg,#dac391,#dac391 3px,#efe3ca 3px 6px);display:block}.project-card footer{color:#a1b0b2;border-top:1px solid #f0f3f2;justify-content:space-between;align-items:center;margin-top:18px;padding-top:15px;font-size:8px;display:flex}.project-card footer span{align-items:center;gap:5px;display:flex}.page-footer{color:#aeb9bb;justify-content:space-between;margin-top:27px;font-size:8px;display:flex}.notice{color:#477b6d;background:#eaf2f0;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding:12px 15px;font-size:11px;display:flex}.notice button{background:0 0;border:0;padding:0}.notice.storage-warning{color:#8a5a1f;background:#fff4e5;align-items:flex-start}.storage-warning>span{gap:8px;min-width:0;line-height:1.45;display:flex}.storage-warning>span>svg{flex:none;margin-top:1px}.storage-warning button{color:#8a5a1f;white-space:nowrap;font-weight:700;text-decoration:underline}.demo-banner{color:#9e9277;background:#fbf8ee;border:1px solid #f0eada;border-radius:6px;margin-bottom:17px;padding:8px 12px;font-size:10px}.outbox{color:#88723e;background:#fff8e8;border:1px solid #ecddbb;border-radius:8px;margin-bottom:18px;padding:16px;font-size:11px}.outbox b,.outbox span{margin-bottom:6px;display:block}.outbox-item{background:#ffffffb8;border:1px solid #dfe9e5;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.outbox-item+.outbox-item{margin-top:7px}.outbox-item.blocked{background:#fff8f6;border-color:#e8c7bf}.outbox-item>div{gap:4px;display:grid}.outbox-item>div>b,.outbox-item>div>span{font-size:10px}.outbox-item.blocked>div>span{color:#9d4f40}.outbox button{margin-top:8px;font-size:10px}.back-link{color:#869c98;background:0 0;border:0;margin-bottom:20px;padding:0;font-size:10px}.project-summary{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:1.2fr 1fr 1fr;gap:35px;margin-bottom:25px;padding:23px;display:grid}.project-summary>div{border-right:1px solid var(--border);padding-right:28px}.project-summary>div:last-child{border:0}.project-summary.without-money{grid-template-columns:1.2fr 1fr}.project-summary span{color:#93a2a6;margin-bottom:10px;font-size:10px;display:block}.project-summary strong{color:#356259;letter-spacing:-.8px;margin-bottom:11px;font-size:24px;display:block}.project-summary .date-range{letter-spacing:-.3px;margin-top:18px;font-size:17px}.project-detail{grid-template-columns:minmax(0,1fr) 270px;gap:22px;display:grid}.panel-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:22px;display:flex}.panel-title h2{margin:0;font-size:15px}.panel-title p{margin:6px 0 0;font-size:9px}.panel-actions{gap:6px;display:flex}.panel-actions button{padding:8px;font-size:9px}.schedule-header{color:#a0adaf;background:#fafbfb;grid-template-columns:1.3fr 1fr 1fr;gap:22px;padding:12px 22px;font-size:9px;display:grid}.group-heading{color:#5a7d71;background:#f3f7f5;border-top:1px solid #e5eeea;justify-content:space-between;align-items:center;padding:13px 22px;font-size:10px;display:flex}.group-heading span{align-items:center;gap:8px;display:flex}.group-heading b{font-size:10px}.work-row{text-align:left;border:0;border-bottom:1px solid #edf1ef;border-radius:0;grid-template-columns:1.3fr 1fr 1fr;align-items:center;gap:22px;width:100%;padding:15px 22px;font-weight:400;display:grid}.work-row>span{min-width:0}.work-row b{margin:4px 0 7px;font-size:10px;font-weight:600;display:block}.work-row small{color:#a3b0b3;font-size:8px;display:block}.work-row .amber{color:#bd9b5b;margin-top:6px}.work-flag{color:#a4574a;font-weight:700}.work-row .work-flag{color:#a4574a;margin-top:4px}.work-row .schedule-dates{color:#8da19b;justify-content:space-between;align-items:center;gap:4px;font-size:8px;display:flex}.work-row.selected{background:#eef6f2}.schedule-legend{color:#a2b0b1;align-items:center;gap:13px;padding:15px 22px;font-size:8px;display:flex}.schedule-legend span{align-items:center;gap:5px;display:flex}.schedule-legend i{background:#5b9e89;border-radius:2px;width:7px;height:7px}.schedule-legend span:nth-child(2) i{background:#dac391}.schedule-legend span:last-child{margin-left:auto}.schedule-view-toggle{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.panel-actions .schedule-view-toggle button{border:0;border-radius:0;gap:5px}.schedule-view-toggle button+button{border-left:1px solid var(--border)}.panel-actions .schedule-view-toggle button.selected{background:var(--teal);color:#fff}.object-side{border:1px solid var(--border);background:#fff;border-radius:10px;align-self:start;overflow:hidden}.object-side .map-panel:not(.map-expanded){height:235px}.object-side .map-legend{display:none}.object-side h3{padding:20px 18px 0;font-size:12px}.object-side>p{padding:0 18px;font-size:10px}.object-location-note{color:#a1b1aa;border-top:1px solid var(--border);align-items:center;gap:7px;padding:15px 18px;font-size:9px;display:flex}.address-input-wrap{display:block;position:relative}.address-suggestions{z-index:8;background:#fff;border:1px solid #dce7e2;border-radius:8px;max-height:250px;padding:5px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:auto;box-shadow:0 10px 30px #183d3d24}.address-suggestions button{text-align:left;border:0;justify-content:flex-start;width:100%;padding:10px;font-size:10px;font-weight:500}.location-picker{background:#e7eeea;border:1px solid #dce7e2;border-radius:10px;height:250px;position:relative;overflow:hidden}.location-picker>.map-canvas{width:100%;height:100%;position:absolute;inset:0}.location-picker.expanded{z-index:110;border:0;border-radius:0;width:100vw;height:100dvh;position:fixed;inset:0}.map-expand-cover{z-index:3;color:#285f57;background:linear-gradient(#ffffff0d,#193f3f36);border:0;border-radius:0;align-items:flex-end;width:100%;padding-bottom:22px;position:absolute;inset:0}.map-expand-cover:hover{background:linear-gradient(#fff0,#193f3f4d)}.location-marker{background:#23877b;border:4px solid #fff;border-radius:50% 50% 50% 0;width:28px;height:28px;transform:rotate(-45deg);box-shadow:0 2px 9px #153d3d59}.location-map-header{z-index:4;background:#fffffff2;border-radius:10px;justify-content:space-between;align-items:center;width:min(520px,100% - 32px);padding:12px 14px;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #173d3d24}.location-map-header b,.location-map-header span{display:block}.location-map-header b{font-size:13px}.location-map-header span{color:#80908b;margin-top:3px;font-size:9px}.location-mode{z-index:4;flex-wrap:wrap;gap:7px;max-width:calc(100% - 140px);display:flex;position:absolute;bottom:45px;left:18px}.location-mode button{padding:9px 11px;font-size:10px;box-shadow:0 3px 14px #173d3d20}.location-mode button.selected{color:#fff;background:#277d70;border-color:#277d70}.location-save{z-index:4;position:absolute;bottom:45px;right:18px;box-shadow:0 3px 14px #173d3d20}.location-button{align-self:flex-start;font-size:10px}.status-filters{gap:8px;margin-bottom:20px;display:flex}.status-filters button{font-size:11px}.status-filters .selected{color:#487765;background:#e5f0e9;border-color:#dae8df}.journal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.entry-card{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:12px;padding:20px}.entry-top{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.entry-top time{color:#9babad;font-size:9px}.status{border-radius:4px;align-items:center;gap:5px;padding:4px 7px;font-size:8px;display:inline-flex}.status.approved{color:#6b9478;background:#ebf5ed}.status.pending{color:#bb9b57;background:#fbf5e7}.status.rejected{color:#ba7474;background:#fbefef}.entry-card h3{font-size:13px}.entry-card p{font-size:10px}.entry-card .entry-volume{color:#4a786d;margin:12px 0;font-size:22px;font-weight:700}.entry-volume small{color:#9aada6;font-size:12px;font-weight:400}.entry-card footer{border-top:1px solid var(--border);color:#9aabaa;flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:13px;font-size:9px;display:flex}.entry-actions{gap:8px;margin-top:15px;display:flex}.entry-actions:empty{display:none}.entry-actions button{padding:8px 10px;font-size:10px}.attachment-links{flex-wrap:wrap;gap:6px;display:flex}.attachment-links a{word-break:break-word;color:#76938b;background:#f2f7f4;border-radius:4px;align-items:center;gap:4px;max-width:100%;padding:5px;font-size:9px;text-decoration:none;display:inline-flex}.review-comment{background:#fcf5ec;border-radius:5px;margin-top:10px;padding:10px}.review-waiting{color:#6f8d84;background:#f5f8f6;border-radius:5px;margin-top:10px;padding:9px 10px;font-size:10px;line-height:1.5}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:#9cabae;background:#fafbfb;font-size:10px;font-weight:500}td{color:#6d8581;font-size:11px}td,th{border-bottom:1px solid var(--border);padding:16px 23px}td b{color:#426b5e}.empty{text-align:center;color:#a5b6af;grid-column:1/-1;padding:45px 25px}.empty h3{color:#788e84;margin:15px 0 7px;font-size:14px}.empty p{margin:0;font-size:11px}.overlay,.drawer-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#12333544;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:500px;max-width:100%;max-height:92vh;padding:25px;overflow:auto;box-shadow:0 20px 100px #153b3b33}.modal.wide{width:700px}.modal>header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal h2{margin:0;font-size:19px}.form{flex-direction:column;gap:16px;display:flex}.form fieldset{border:0;flex-direction:column;gap:15px;min-width:0;margin:0;padding:0;display:flex}.field{color:#739087;flex-direction:column;gap:7px;min-width:0;font-size:11px;display:flex}.field>span:first-child{font-weight:600}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-hint{color:#8b9e96;background:#f5f8f6;border-radius:6px;margin:0;padding:11px;font-size:10px;line-height:1.6}.file-field{border:1px dashed #ccdcd3;border-radius:7px;flex-wrap:wrap;gap:8px;padding:13px;font-size:9px;display:flex;font-weight:400!important}.file-pick{flex-basis:100%;align-items:center;gap:10px;min-width:0;display:flex}.file-pick-button{border:1px solid var(--border);color:#285f57;cursor:pointer;background:#fff;border-radius:6px;flex:none;padding:7px 11px;font-size:10px;font-weight:600;position:relative}.file-pick-button:focus-within{outline-offset:1px;outline:2px solid #23877b66}.file-pick-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-pick-names{text-overflow:ellipsis;white-space:nowrap;color:#98aca1;min-width:0;font-size:10px;overflow:hidden}.entry-quantity{gap:7px;display:grid}.entry-quantity-head{color:#6f8d84;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.quantity-mode{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.quantity-mode button{border:0;border-radius:0;padding:7px 11px;font-size:10px}.quantity-mode button.selected{background:var(--teal);color:#fff}.entry-quantity-note{color:#6f8d84;margin:0;font-size:10px}.entry-quantity-note.invalid{color:#b4492f}.estimate-import{gap:16px;display:grid}.estimate-intro{margin:0;font-size:11px}.estimate-dropzone{color:#438072;cursor:pointer;text-align:left;background:#f5f9f7;border:1px dashed #b9d0c6;border-radius:10px;justify-content:center;align-items:center;gap:13px;min-height:92px;padding:20px;display:flex;position:relative}.estimate-dropzone:hover{background:#edf5f1;border-color:#80ad9f}.estimate-dropzone>span{gap:4px;display:grid}.estimate-dropzone b{color:#315f56;font-size:12px}.estimate-dropzone small{color:#8b9d97}.estimate-dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.estimate-dropzone:has(input:disabled){opacity:.6;cursor:wait}.estimate-preview,.estimate-history{border:1px solid var(--border);border-radius:10px;overflow:hidden}.estimate-preview>header{background:#fafcfa;justify-content:space-between;align-items:flex-start;gap:20px;padding:16px;display:flex}.estimate-preview>header>div:first-child{gap:4px;min-width:0;display:grid}.estimate-preview>header span,.estimate-preview>header small{color:#91a09c;font-size:9px}.estimate-preview>header b{overflow-wrap:anywhere}.estimate-total{text-align:right;flex:none}.estimate-total b{color:#2f6e61;margin-top:4px;font-size:17px;display:block}.estimate-facts{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:#84948f;gap:24px;padding:11px 16px;font-size:10px;display:flex}.estimate-facts b{color:#395f57;font-size:13px}.estimate-items>div{border-bottom:1px solid #edf1ef;grid-template-columns:minmax(0,1fr) 100px 105px;align-items:center;gap:12px;padding:11px 16px;font-size:9px;display:grid}.estimate-items>div>span:first-child{gap:3px;min-width:0;display:grid}.estimate-items>div>span:first-child b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.estimate-items small{color:#98a7a2;font-size:8px}.estimate-items>div>span:nth-child(2),.estimate-items>div>b{text-align:right}.estimate-items>p{text-align:center;background:#fafbfb;margin:0;padding:10px 16px;font-size:9px}.estimate-confirm{background:#f3f7f5;justify-content:space-between;align-items:center;gap:18px;padding:15px 16px;display:flex}.estimate-confirm p{max-width:390px;margin:0;font-size:9px}.estimate-confirm button{flex:none}.estimate-success{color:#387665;background:#eff8f3;border:1px solid #d2e7dc;border-radius:8px;align-items:flex-start;gap:9px;padding:12px;font-size:10px;line-height:1.5;display:flex}.estimate-success svg{flex:none}.estimate-history>header{border-bottom:1px solid var(--border);background:#fafbfb;justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.estimate-history>header span{align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.estimate-history>p{text-align:center;margin:0;padding:20px 15px;font-size:10px}.estimate-history>details>summary{border-bottom:1px solid #edf1ef;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 15px;display:grid}.estimate-history>details:last-child>summary{border-bottom:0}.estimate-history>details>summary>svg{color:#6f9b8d}.estimate-history>details>summary>div{gap:3px;min-width:0;display:grid}.estimate-history>details>summary b{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.estimate-history>details>summary span,.estimate-history>details>summary small{color:#99a6a2;font-size:8px}.estimate-history>details>summary>strong{color:#3d6a60;white-space:nowrap;font-size:10px}.error-box{color:#b07767;background:#fff0ee;border:1px solid #f4d9d2;border-radius:7px;padding:10px;font-size:11px}.drawer-overlay{z-index:40;justify-content:flex-end;padding:0}.work-drawer{background:#f7f9f8;width:480px;max-width:100%;height:100%;padding:27px;overflow:auto;box-shadow:-10px 0 50px #193a3622}.work-drawer>header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.work-drawer>header button{background:0 0;border:0;padding:4px}.work-drawer>header .eyebrow{margin:0;font-size:9px}.work-drawer>h2{font-size:24px}.work-drawer>p{margin:15px 0;font-size:11px}.drawer-actions{flex-wrap:wrap;gap:8px;margin:22px 0 30px;display:flex}.drawer-actions button{font-size:10px}.work-drawer>h3{margin-bottom:16px;font-size:13px}.install-guide>svg{color:#579b81}.install-guide p{font-size:12px}.install-guide h3{margin-top:25px;font-size:13px}.install-guide>.primary{width:100%;margin:15px 0}.loading-screen{flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex}.loading-screen img{border-radius:18px;width:75px}.loading-screen h1{margin:14px 0}.loading-screen p{font-size:12px}.login-page{background:#f7f9f8;grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid;position:relative}.login-brand{color:#143f40;letter-spacing:-1px;align-items:center;gap:12px;font-size:34px;font-weight:800;display:flex;position:absolute;top:42px;left:6%}.login-brand img{border-radius:12px;width:46px;height:46px}.login-art{background:radial-gradient(at 20% 90%,#dfebe3 0,#0000 60%),#eef4ef;flex-direction:column;justify-content:center;padding:220px 8% 180px 12%;display:flex}.login-art h1{color:#234d45;letter-spacing:-1.6px;font-size:44px;line-height:1.28}.login-art h1 em{color:#76a390;font-style:normal}.login-art .eyebrow{color:#94aba0;letter-spacing:2px;margin-bottom:24px;font-size:9px}.login-art p{color:#87a194;max-width:340px;margin-top:18px;font-size:12px}.login-line{background:#b8d4c3;border-radius:4px;width:80px;height:5px;margin-top:25px}.login-card{place-self:center;width:100%;max-width:410px;padding:50px 25px}.login-card h2{color:#2c524b;letter-spacing:-.7px;font-size:26px}.login-card>p{margin:14px 0 30px;font-size:11px}.login-card .field{color:#69867c;font-size:11px}.login-card .field input{padding:13px}.login-card .form{gap:22px}.login-card .primary{padding:13px;font-size:12px}.login-note{text-align:center;color:#a9b8b1;margin-top:24px;font-size:9px;display:block}.login-page>footer{color:#a1b2aa;font-size:9px;position:absolute;bottom:25px;right:40px}.demo-login{background:#eef4ef;border-radius:8px;flex-wrap:wrap;gap:6px;margin-top:25px;padding:15px;display:flex}.demo-login small{color:#819b8e;width:100%;margin-bottom:5px;font-size:9px}.demo-login button{padding:7px;font-size:9px}@media (width>=1500px){main{padding-top:40px}.map-panel{height:420px}.project-grid{gap:20px}.stat strong{font-size:29px}.project-card h3{font-size:15px}.project-card p{font-size:11px}.category{font-size:9px}.category-filters button,.search input{font-size:11px}.project-card{padding:22px}.sidebar{width:250px}.main-shell{margin-left:250px}}@media (width<=1200px){.sidebar{width:210px;padding-left:12px;padding-right:12px}.main-shell{margin-left:210px}main{padding:25px 22px}.topbar{padding:0 22px}.category-filters{gap:0}.category-filters button{padding:8px;font-size:8px}.section-toolbar{flex-wrap:wrap;gap:10px}.stats-grid{gap:10px}.stat{padding:15px}.stat strong{font-size:22px}.project-detail{grid-template-columns:1fr}.object-side{display:block}.journal-grid{grid-template-columns:repeat(2,1fr)}h1{font-size:26px}.topbar .breadcrumb>span{display:none}}@media (width<=900px){.sidebar{width:76px;padding:24px 10px}.brand{justify-content:center;padding:0}.brand>span,.workspace-label,.nav-label,.sidebar nav span,.sidebar nav b,.pwa-card,.profile>span:not(.avatar),.sidebar-bottom .logout-button{display:none}.top-logout{display:inline-flex}.sidebar nav{margin-top:45px}.sidebar nav button{justify-content:center;padding:14px 10px}.profile{justify-content:center}.main-shell{margin-left:76px}.category-filters{flex-basis:100%;order:3}.category-filters button{font-size:10px}.search{max-width:none}.project-grid{grid-template-columns:1fr}.project-card{padding:20px}.project-card h3{font-size:16px}.project-card>p{font-size:11px}.project-card footer{font-size:10px}.card-progress{font-size:11px}.category{font-size:10px}.project-card-top,.project-card>p{margin-bottom:14px}.project-card footer{margin-top:14px;padding-top:14px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat{min-height:120px}.stat strong{font-size:26px}.stat small{font-size:9px}.stat>div{font-size:10px}.login-art h1{font-size:34px}.login-art{padding-left:9%;padding-right:9%}.project-summary{gap:15px}.project-summary>div{padding-right:15px}.project-summary strong{font-size:20px}}.sheet-backdrop{z-index:60;background:#10231f7a;align-items:flex-end;animation:.15s ease-out sheet-fade;display:flex;position:fixed;inset:0}.sheet{width:100%;max-height:86dvh;padding:8px 16px calc(14px + env(safe-area-inset-bottom));background:#fff;border-radius:18px 18px 0 0;flex-direction:column;animation:.22s cubic-bezier(.22,1,.36,1) sheet-rise;display:flex;box-shadow:0 -8px 30px #12312b26}@keyframes sheet-fade{0%{opacity:0}}@keyframes sheet-rise{0%{transform:translateY(18px)}}@media (prefers-reduced-motion:reduce){.sheet-backdrop,.sheet{animation:none}}.sheet-handle{background:#d8e3dd;border-radius:3px;width:42px;height:4px;margin:2px auto 10px}.sheet-head,.sheet-profile{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:8px;padding:4px 0 12px;display:flex}.sheet-head b,.sheet-profile b{font-size:15px}.sheet-profile small{color:#6f8d84;font-size:11px;display:block}.sheet-head>button,.sheet-profile>button{margin-left:auto}.sheet-profile .avatar{width:38px;height:38px;font-size:14px}.sheet-items{gap:2px;display:grid}.sheet-items button,.sheet-row{width:100%;min-height:48px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:10px;justify-content:flex-start;align-items:center;gap:12px;padding:12px;font-size:14px;display:flex}.sheet-items button:active,.sheet-row:active{background:#eef4f1}.sheet-items button.active{color:var(--teal);background:#e8f2ee;font-weight:600}.sheet-items button>b{background:var(--teal);color:#fff;border-radius:20px;margin-left:auto;padding:2px 8px;font-size:11px}.sheet-scroll{-webkit-overflow-scrolling:touch;overflow-y:auto}.sheet-label{letter-spacing:.6px;text-transform:uppercase;color:#8ba096;margin:14px 0 4px;font-size:11px}.sheet-row>span{flex:1}.sheet-row>b{color:#6f8d84;font-size:12px}.sheet-row.checked{color:var(--teal);background:#e8f2ee;font-weight:600}.sheet-row.checked.alert{color:#b4492f;background:#fdecea}.sheet-clear{color:#b4492f;background:0 0;border:0;padding:10px 12px;font-size:12px}.sheet-actions{border-top:1px solid var(--border);gap:10px;margin-top:10px;padding-top:12px;display:flex}.sheet-actions button{flex:1;min-height:46px;font-size:14px}.sheet-logout{color:#b4492f;background:#fdf5f3;border:1px solid #f2d2cb;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:12px;font-size:14px;font-weight:600;display:flex}.filter-bar{align-items:center;gap:12px;margin-bottom:14px;display:flex}.filter-bar-button{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:14px;font-weight:600;display:inline-flex}.filter-bar-button.active{border-color:var(--teal);color:var(--teal)}.filter-bar-total{color:#6f8d84;font-size:12px}@media (width<=600px){.sidebar{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border-top:1px solid #dde7e1;border-right:0;width:100%;height:auto;padding:0;top:auto;bottom:0}.sidebar .brand,.sidebar-bottom,.workspace-label,.nav-label{display:none}.sidebar nav{padding:0 4px env(safe-area-inset-bottom);justify-content:space-around;align-items:stretch;margin:0;display:flex}.sidebar nav button{color:#6f8d84;border-radius:0;flex-direction:column;flex:1;justify-content:center;gap:4px;min-height:56px;padding:9px 2px 10px;font-size:11px;font-weight:500;transition:color .15s,background .15s;position:relative}.sidebar nav button:active{background:#eef4f1}.sidebar nav button.active{color:var(--teal);background:0 0}.sidebar nav button.active:before{content:"";background:var(--teal);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:22%;right:22%}.sidebar nav span{white-space:nowrap;font-size:11px;line-height:1.2;display:block}.sidebar nav button>b{position:absolute;top:6px;right:22%}.main-shell{padding-bottom:calc(66px + env(safe-area-inset-bottom));margin-left:0}.topbar{height:56px;padding:0 16px;padding-top:env(safe-area-inset-top);height:calc(56px + env(safe-area-inset-top));gap:10px}.breadcrumb{display:none}.topbar-title{letter-spacing:-.2px;white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:16px;font-weight:600;overflow:hidden}.top-actions{gap:10px}.sync-badge{min-height:34px;padding:7px 10px;font-size:10px}.sync-badge svg{width:14px}.top-avatar{width:25px;height:25px;font-size:9px}main{padding:21px 16px}.page-heading{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:22px}.page-heading h1{letter-spacing:-.9px;font-size:25px}.page-heading p{max-width:290px;font-size:10px}.page-heading>.primary,.page-heading>.button{padding:9px 12px;font-size:10px}.page-heading-actions{justify-content:flex-start;width:100%}.page-heading-actions>button,.page-heading-actions>.button{padding:9px 12px;font-size:10px}.eyebrow{letter-spacing:1.2px;font-size:8px}.stats-grid,.stats-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.stat{min-height:118px;padding:14px}.stat>div{margin-bottom:11px;font-size:8px}.stat strong{font-size:23px}.stat i{padding:3px}.stat i svg{width:15px;height:15px}.stat small{font-size:8px}.stat:last-child strong{font-size:22px}.section-toolbar{padding:13px}.category-filters{scrollbar-width:none;flex-wrap:nowrap;overflow:auto}.category-filters button{padding:7px 8px;font-size:8px}.map-panel{height:310px}.map-legend{flex-wrap:wrap;justify-content:center;gap:4px 10px;padding:8px;font-size:7px;top:12px;left:12px;right:12px}.map-fullscreen-header,.location-map-header{top:10px}.map-expanded .map-tools,.location-mode{justify-content:center;max-width:none;bottom:40px;left:10px;right:10px}.map-expanded .map-tools span{text-align:center;flex-basis:100%}.location-save{bottom:105px;right:10px}.location-mode button{padding:8px;font-size:9px}.project-grid{gap:12px;padding:0 13px 15px}.object-list-heading{padding:20px 14px 15px}.object-list-heading h2{font-size:13px}.project-card{padding:17px}.project-card h3{font-size:15px}.project-card p{font-size:10px}.category{font-size:8px}.project-card footer,.card-progress{font-size:9px}.page-footer{gap:20px;margin-top:23px;font-size:7px;line-height:1.6}.project-summary{grid-template-columns:1fr 1fr;gap:18px;padding:18px}.project-summary>div:nth-child(2){border:0}.project-summary>div:last-child{border-top:1px solid var(--border);grid-column:1/-1;padding-top:12px}.project-summary.without-money>div:first-child{border:0;grid-column:1/-1;padding-right:0}.project-summary strong{font-size:21px}.project-summary .date-range{margin-top:7px;margin-bottom:0;font-size:17px}.panel-title{flex-wrap:wrap;align-items:flex-start;padding:16px}.panel-title h2{font-size:14px}.schedule-scroll{overflow:auto}.schedule-header,.work-row{gap:15px;min-width:550px;padding-left:16px;padding-right:16px}.group-heading{padding:13px 16px}.schedule-legend{flex-wrap:wrap;padding:15px;font-size:7px}.schedule-legend span:last-child{margin:0}.schedule-panel .panel-actions{flex-wrap:wrap;width:100%}.schedule-view-toggle{flex:100%}.panel-actions .schedule-view-toggle button{flex:1;min-height:44px;font-size:13px}.status-filters{white-space:nowrap;gap:5px;overflow:auto}.status-filters button{padding:8px;font-size:9px}.journal-grid{grid-template-columns:1fr;gap:8px}.entry-card{padding:17px}.entry-card h3{font-size:15px}.entry-card p{font-size:11px}.entry-card footer,.entry-top time{font-size:10px}.status{font-size:9px}td,th{padding:13px 14px;font-size:10px}.panel{overflow:auto}.overlay{padding:12px}.modal{border-radius:12px;max-height:94vh;padding:20px}.modal h2{font-size:17px}.field{font-size:11px}input,select,textarea{font-size:16px}.form-hint{font-size:10px}.estimate-preview>header,.estimate-confirm{flex-direction:column;align-items:stretch}.estimate-total{text-align:left}.estimate-items>div{grid-template-columns:minmax(0,1fr) auto}.estimate-items>div>b{grid-column:2}.estimate-items>div>span:nth-child(2){grid-area:1/2}.estimate-confirm button{width:100%}.estimate-history>details>summary{grid-template-columns:auto minmax(0,1fr)}.estimate-history>details>summary>strong{grid-column:2}.work-drawer{padding:23px 18px}.login-page{background:linear-gradient(140deg,#eef5ef,#fafcfa);flex-direction:column;justify-content:center;padding:100px 16px 60px;display:flex}.login-brand{font-size:32px;top:38px;left:calc(50% - 65px)}.login-brand img{width:42px;height:42px}.login-art{display:none}.login-card{background:#ffffffed;border:1px solid #e3ebe5;border-radius:14px;max-width:400px;margin:auto;padding:40px 22px;box-shadow:0 12px 50px #4264490a}.login-card .eyebrow{font-size:8px}.login-page>footer{text-align:center;margin-top:28px;font-size:8px;position:static}.notice{font-size:10px}.demo-banner{font-size:9px}.form-row{gap:10px}.field input[type=date]{font-size:13px}}.work-row small.work-meta{color:#7f918c;margin-top:4px}.work-drawer .work-dates{color:#7f918c;margin:10px 0 0;font-size:11px}.entry-card .review-time{color:#6f8d84;margin:6px 0 0;font-size:10px}@media (width<=600px){.work-drawer .work-dates{font-size:12px}.entry-card .review-time{font-size:11px}}.section-loading{border:1px dashed var(--border);color:var(--muted);border-radius:9px;align-items:center;gap:8px;margin:0;padding:12px;font-size:12px;display:flex}@media (width<=600px){.modal header .icon-button{min-width:44px;min-height:44px}.form>button[type=submit],.location-button{min-height:44px}}
