.estimates-module{display:grid;gap:14px;max-width:1180px}.estimate-source-banner{display:flex;align-items:center;gap:13px;padding:14px 16px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff}.estimate-source-banner>span{width:37px;height:37px;display:grid;place-items:center;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff}.estimate-source-banner svg{width:17px}.estimate-source-banner>div{flex:1}.estimate-source-banner p,.estimate-source-banner small,.estimate-source-banner strong{display:block}.estimate-source-banner small{color:var(--muted,#6b7076);font-size:12px;font-weight:900;letter-spacing:.8px}.estimate-source-banner strong{margin-top:2px;font-size:12px}.estimate-source-banner p{margin:3px 0 0;color:var(--muted,#6b7076);font-size:12px}.estimate-source-banner>b{display:flex;align-items:center;gap:5px;padding:7px 9px;border-radius:var(--radius-sm,8px);background:var(--surface-soft,#f2f4f6);color:#5a5a5a;font-size:12px}.estimate-source-banner>b svg{width:13px}.estimate-module-head{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff}.estimate-module-head>div{display:flex;align-items:center;gap:11px}.estimate-module-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff}.estimate-module-icon svg{width:17px}.estimate-module-head h2{margin:0;font-size:15px}.estimate-module-head p{margin:4px 0 0;color:var(--muted,#6b7076);font-size:12px}.estimate-toolbar{display:flex;align-items:center;gap:10px}.estimate-toolbar label{height:38px;max-width:420px;flex:1;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid #d9d9d6;border-radius:var(--radius-sm,8px);background:#fff}.estimate-toolbar label svg{width:15px;color:var(--muted,#6b7076)}.estimate-toolbar input{width:100%;border:0;outline:0;background:transparent;font-size:12px}.estimate-toolbar>span{display:flex;align-items:center;gap:6px;margin-left:auto;color:var(--muted,#6b7076);font-size:12px;font-weight:800}.estimate-toolbar>span svg{width:14px}.estimate-list{display:grid;gap:8px}.estimate-card{width:100%;display:grid;grid-template-columns:42px minmax(220px,1fr) auto auto 18px;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff;color:var(--ink,#203743);text-align:left;cursor:pointer}.estimate-card:hover{border-color:#aaa;box-shadow:0 5px 16px #0000000b}.estimate-card>svg{width:15px;color:var(--muted,#6b7076)}.estimate-card-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff}.estimate-card-icon svg{width:17px}.estimate-card-main p,.estimate-card-main small,.estimate-card-main strong{display:block}.estimate-card-main small{color:var(--muted,#6b7076);font-size:12px;font-weight:900}.estimate-card-main strong{margin-top:3px;font-size:13px}.estimate-card-main p{margin:3px 0 0;color:var(--muted,#6b7076);font-size:12px}.estimate-card-stats{display:flex;align-items:center;gap:18px}.estimate-card-stats>span{min-width:72px}.estimate-card-stats b,.estimate-card-stats small{display:block}.estimate-card-stats b{font-size:12px}.estimate-card-stats small{margin-top:3px;color:#888;font-size:12px;text-transform:uppercase}.estimate-card-date{min-width:130px;display:grid;grid-template-columns:14px 1fr;align-items:center;gap:4px;color:var(--muted,#6b7076)}.estimate-card-date svg{width:13px}.estimate-card-date span{font-size:12px}.estimate-card-date b{grid-column:2;width:max-content;margin-top:2px;padding:4px 6px;border-radius:var(--radius-md,12px);background:#ededeb;color:var(--muted,#6b7076);font-size:12px}.estimate-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;border:1px dashed #d2d2ce;border-radius:var(--radius-md,12px);background:var(--surface-soft,#f2f4f6);text-align:center}.estimate-empty>svg{width:26px;color:var(--muted,#6b7076)}.estimate-empty h3{margin:12px 0 5px;font-size:14px}.estimate-empty p{max-width:440px;margin:0 0 16px;color:var(--muted,#6b7076);font-size:12px;line-height:1.6}.estimate-loading{display:grid;gap:8px}.estimate-loading span{height:68px;border-radius:var(--radius-md,12px);background:linear-gradient(90deg,#eee,#f8f8f7,#eee);background-size:200% 100%;animation:estimate-shimmer 1.3s infinite}.estimate-create-dialog,.estimate-line-dialog{max-width:650px!important;border:1px solid #d8d8d8!important;background:#fff!important;color:var(--ink,#203743)!important;box-shadow:0 24px 70px #0005!important}.estimate-create-dialog [data-slot=dialog-description],.estimate-line-dialog [data-slot=dialog-description]{color:var(--muted,#6b7076)!important}.estimate-form,.estimate-line-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.estimate-form label,.estimate-line-form label{display:grid;gap:5px}.estimate-form label>span,.estimate-line-form label>span{color:var(--muted,#6b7076);font-size:12px;font-weight:900}.estimate-form input,.estimate-form select,.estimate-form textarea,.estimate-line-form input,.estimate-line-form select,.estimate-line-form textarea{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);background:var(--surface-soft,#f2f4f6);color:var(--ink,#203743);font-size:12px;outline:0}.estimate-form textarea,.estimate-line-form textarea{resize:vertical;line-height:1.45}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus,.estimate-line-form input:focus,.estimate-line-form select:focus,.estimate-line-form textarea:focus{border-color:#111;box-shadow:0 0 0 3px #0000000c}.estimate-form .wide,.estimate-line-form .wide{grid-column:1/-1}.project-estimates-section>header>button{display:flex;align-items:center;gap:5px;border:0;background:var(--accent,#277571);color:#fff;border-radius:var(--radius-sm,8px);padding:7px 9px;font-size:12px;font-weight:800;cursor:pointer}.project-estimates-section>header>button svg{width:13px}.project-estimate-list{display:grid}.project-estimate-list>button{display:grid;grid-template-columns:30px minmax(0,1fr) auto 16px;align-items:center;gap:10px;padding:12px 15px;border:0;border-top:1px solid #e8e8e5;background:#fff;color:var(--ink,#203743);text-align:left;cursor:pointer}.project-estimate-list>button:hover{background:var(--surface-soft,#f2f4f6)}.project-estimate-list>button>svg:first-child{width:17px}.project-estimate-list>button>svg:last-child{width:13px;color:var(--muted,#6b7076)}.project-estimate-list small,.project-estimate-list strong{display:block}.project-estimate-list strong{font-size:12px}.project-estimate-list small{margin-top:3px;color:var(--muted,#6b7076);font-size:12px}.project-estimate-list b{font-size:12px}.project-estimates-section .project-empty button{display:flex;align-items:center;gap:5px;margin-top:8px;padding:7px 9px;border:0;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff;font-size:12px}.project-estimates-section .project-empty button svg{width:13px}.estimate-page{min-height:100dvh;background:#f4f4f2;color:var(--ink,#203743)}.estimate-page-content{max-width:1540px;margin:0 auto;padding:28px 32px 60px}.estimate-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:23px 25px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff}.estimate-hero p{margin:0 0 8px;color:var(--muted,#6b7076);font-size:12px;font-weight:900;letter-spacing:.8px}.estimate-hero h1{margin:0;font:500 30px Georgia,serif}.estimate-hero>div:first-child>small,.estimate-hero>div:first-child>span{display:block}.estimate-hero>div:first-child>span{margin-top:8px;font-size:13px;font-weight:800}.estimate-hero>div:first-child>small{margin-top:4px;color:var(--muted,#6b7076);font-size:12px}.estimate-hero-meta{display:flex;align-items:center;gap:8px}.estimate-hero-meta>span{display:flex;align-items:center;gap:5px;color:var(--muted,#6b7076);font-size:12px}.estimate-hero-meta svg{width:14px}.estimate-hero-meta>b,.estimate-hero-meta>strong{padding:7px 9px;border-radius:var(--radius-sm,8px);font-size:12px}.estimate-hero-meta>b{background:var(--accent,#277571);color:#fff}.estimate-hero-meta>strong{background:#ededeb;color:var(--muted,#6b7076)}.estimate-context{display:flex;gap:12px;margin:12px 0;padding:12px 14px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff}.estimate-context>div{display:flex;align-items:center;gap:9px}.estimate-context>div>svg{width:17px}.estimate-context small,.estimate-context strong{display:block}.estimate-context small{color:#888;font-size:12px}.estimate-context strong{margin-top:2px;font-size:12px}.estimate-context>p{flex:1;margin:0;color:var(--muted,#6b7076);line-height:1.5}.estimate-context>button{display:flex;align-items:center;gap:6px;height:35px;padding:0 11px;border:0;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff;font-size:12px;font-weight:800;cursor:pointer}.estimate-context>button svg{width:14px}.estimate-general-note{display:grid;grid-template-columns:120px 1fr;gap:14px;margin-bottom:12px;padding:12px 14px;border-left:4px solid #111;background:#fff;border-radius:4px 9px 9px 4px}.estimate-general-note strong{font-size:12px;letter-spacing:.7px}.estimate-general-note p{margin:0;color:var(--muted,#6b7076);font-size:12px;line-height:1.55;white-space:pre-line}.estimate-sheet-shell{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:13px;align-items:start}.estimate-table-wrap{overflow:auto;border:1px solid #d5d5d2;border-radius:var(--radius-md,12px);background:#fff;box-shadow:0 5px 18px #00000008}.estimate-table{width:100%;min-width:1090px;border-collapse:collapse}.estimate-table thead{position:sticky;top:0;z-index:2}.estimate-table th{padding:10px 9px;border-right:1px solid #333;background:var(--accent,#277571);color:#fff;font-size:12px;font-weight:900;letter-spacing:.5px;text-align:left;text-transform:uppercase}.estimate-table th:nth-child(5),.estimate-table th:nth-child(6),.estimate-table th:nth-child(7){text-align:right}.estimate-table td{padding:8px 9px;border-right:1px solid var(--line,#dee3e6);border-top:1px solid var(--line,#dee3e6);font-size:12px;vertical-align:top}.estimate-table td:nth-child(5),.estimate-table td:nth-child(6),.estimate-table td:nth-child(7){text-align:right;font-variant-numeric:tabular-nums}.estimate-table td:first-child{width:92px}.estimate-table td:nth-child(2){min-width:270px}.estimate-table td:nth-child(3){width:54px}.estimate-table td:nth-child(4){width:60px}.estimate-table td:nth-child(8){min-width:180px;color:var(--muted,#6b7076);font-style:italic}.estimate-table td:last-child{width:116px;border-right:0}.estimate-section-row td{padding:7px 9px;border-color:#878787;background:#919191;color:#fff;font-weight:900}.estimate-section-row td:first-child{font-size:13px}.estimate-section-row td:nth-child(7){text-align:right}.estimate-section-row td:last-child{text-align:center}.estimate-section-row button{width:24px;height:24px;display:grid;place-items:center;margin:auto;border:1px solid #ffffff88;border-radius:var(--radius-sm,8px);background:#ffffff1c;color:#fff;cursor:pointer}.estimate-section-row button svg{width:13px}.estimate-line>td:first-child{padding:0;background:#f29a2f;color:var(--ink,#203743)}.estimate-line>td:first-child span{display:block;padding:8px 7px;font-weight:800}.estimate-line td>strong{display:block;font-size:12px;line-height:1.45}.estimate-line td>small{display:block;margin-top:3px;font:7px ui-monospace,monospace}.estimate-line td>small,.estimate-line.variant td:nth-child(2)>strong{color:var(--muted,#6b7076)}.estimate-line-actions{display:flex;gap:3px}.estimate-line-actions button{width:23px;height:25px;display:grid;place-items:center;border:1px solid #ddd;border-radius:var(--radius-sm,8px);background:#fff;color:var(--muted,#6b7076);cursor:pointer}.estimate-line-actions button:disabled{opacity:.25;cursor:default}.estimate-line-actions button:last-child{color:#a24a36}.estimate-line-actions svg{width:11px}.estimate-section-empty td{color:#aaa;font-size:12px;font-style:italic}.estimate-section-empty td:last-child{text-align:right}.estimate-section-empty button{display:flex;align-items:center;gap:3px;margin-left:auto;border:0;background:none;color:var(--muted,#6b7076);font-size:12px;font-weight:800;cursor:pointer}.estimate-section-empty button svg{width:11px}.estimate-recap{position:sticky;top:92px;overflow:hidden;border:1px solid #d5d5d2;border-radius:var(--radius-md,12px);background:#fff}.estimate-recap>header{display:flex;align-items:center;gap:9px;padding:14px;background:var(--accent,#277571);color:#fff}.estimate-recap>header>svg{width:17px}.estimate-recap small,.estimate-recap strong{display:block}.estimate-recap small{font-size:12px;letter-spacing:.6px}.estimate-recap strong{margin-top:2px;font-size:12px}.estimate-recap>div{padding:8px 13px}.estimate-recap>div p{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:7px 0;border-bottom:1px solid #ececea}.estimate-recap>div span{font-size:12px}.estimate-recap>div b{font-size:12px;white-space:nowrap}.estimate-recap>footer{padding:12px 13px;border-top:2px solid #111}.estimate-recap>footer p,.estimate-recap>footer>strong{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 0}.estimate-recap>footer p{font-size:12px}.estimate-recap>footer>strong{margin-top:5px;padding-top:11px;border-top:1px solid #ddd;font-size:13px}.estimate-mobile-actions{display:none}@media (max-width:1100px){.estimate-sheet-shell{grid-template-columns:1fr}.estimate-recap{position:static}.estimate-recap>div{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}}@media (max-width:760px){.estimate-source-banner>b{display:none}.estimate-card{grid-template-columns:42px minmax(0,1fr) 16px}.estimate-card-date,.estimate-card-stats{display:none}.estimate-toolbar{align-items:stretch;flex-direction:column}.estimate-toolbar label{max-width:none}.estimate-toolbar>span{margin-left:0}.estimate-form,.estimate-line-form{grid-template-columns:1fr}.estimate-form .wide,.estimate-line-form .wide{grid-column:1}.estimate-page-content{padding:18px 14px 75px}.estimate-hero{display:grid;padding:18px}.estimate-hero h1{font-size:24px}.estimate-hero-meta{flex-wrap:wrap}.estimate-context{align-items:flex-start}.estimate-context>button,.estimate-context>p{display:none}.estimate-general-note{grid-template-columns:1fr;gap:5px}.estimate-table-wrap{border-radius:var(--radius-sm,8px)}.estimate-table{min-width:900px}.estimate-recap>div{grid-template-columns:1fr}.estimate-mobile-actions{position:fixed;left:0;right:0;bottom:0;z-index:7;display:flex;gap:8px;padding:10px 14px;background:#fff;border-top:1px solid #ddd}.estimate-mobile-actions a,.estimate-mobile-actions button{height:40px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-sm,8px);font-size:12px;font-weight:900;text-decoration:none}.estimate-mobile-actions a{width:90px;border:1px solid var(--line,#dee3e6);color:var(--ink,#203743)}.estimate-mobile-actions button{flex:1;border:0;background:var(--accent,#277571);color:#fff}.estimate-mobile-actions svg{width:14px}.project-estimate-list>button{grid-template-columns:26px 1fr 14px}.project-estimate-list>button>b{display:none}}.estimate-recap small,.estimate-source-banner small{font-size:12px}.estimate-source-banner strong{font-size:13px}.estimate-card-date span,.estimate-card-main p,.estimate-card-main small,.estimate-card-stats small,.estimate-context small,.estimate-context>p,.estimate-general-note strong,.estimate-module-head p,.estimate-source-banner p,.estimate-toolbar>span,.project-estimate-list small{font-size:12px}.estimate-module-head h2{font-size:16px}.estimate-card-main strong,.estimate-card-stats b,.estimate-form input,.estimate-form select,.estimate-form textarea,.estimate-hero>div:first-child>span,.estimate-line-form input,.estimate-line-form select,.estimate-line-form textarea,.estimate-recap>footer>strong,.estimate-recap>header strong,.estimate-toolbar input,.project-estimate-list strong{font-size:13px}.estimate-form label>span,.estimate-line td>small,.estimate-line td>strong,.estimate-line-form label>span,.estimate-recap>div b,.estimate-recap>div span,.estimate-recap>footer p,.estimate-section-empty td,.estimate-section-row td,.estimate-table td,.estimate-table th{font-size:12px}.estimate-context-actions{align-items:center;flex:none}.estimate-context-actions button{height:35px;display:flex;align-items:center;gap:6px;padding:0 11px;border:1px solid #d6d6d2;border-radius:var(--radius-sm,8px);background:#fff;color:var(--ink,#203743);font-size:12px;font-weight:800;cursor:pointer}.estimate-context-actions button.assistant{border-color:#111;background:var(--accent,#277571);color:#fff}.estimate-context-actions button svg{width:14px}.estimate-context-actions button.delete-estimate{border-color:#d8b7ad;color:#9b321f}.estimate-context-actions button.delete-estimate:hover{border-color:#9b321f;background:#fff5f2}.estimate-mobile-actions button.delete{flex:0 0 40px;border:1px solid #d8b7ad;background:#fff;color:#9b321f}.estimate-assistant-dialog{width:min(1080px,calc(100vw - 28px))!important;max-width:1080px!important;max-height:90dvh!important;overflow:auto!important;border:1px solid #d4d4d0!important;background:#fff!important;color:var(--ink,#203743)!important;box-shadow:0 24px 70px #0005!important}.estimate-assistant-dialog [data-slot=dialog-description]{color:var(--muted,#6b7076)!important}.estimate-assistant-kicker{display:flex;align-items:center;gap:6px;margin:0 0 5px;color:var(--muted,#6b7076);font-size:12px;font-weight:900;letter-spacing:.9px}.estimate-assistant-kicker svg{width:14px}.estimate-assistant-prompt{display:grid;gap:10px;margin-top:4px;padding:14px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#f7f7f4}.estimate-assistant-prompt label{display:grid;gap:6px}.estimate-assistant-prompt label>span,.estimate-suggestion-fields label>span{font-size:12px;font-weight:900;letter-spacing:.45px;color:#595959;text-transform:uppercase}.estimate-assistant-prompt textarea{width:100%;min-height:112px;padding:11px 12px;border:1px solid #ccccc7;border-radius:var(--radius-sm,8px);background:#fff;color:var(--ink,#203743);font:11px/1.55 inherit;resize:vertical;outline:none}.estimate-assistant-prompt textarea:focus{border-color:#111;box-shadow:0 0 0 3px #0000000b}.estimate-assistant-prompt>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.estimate-assistant-prompt small{color:var(--muted,#6b7076);font-size:12px}.estimate-assistant-prompt button,.estimate-suggestion-footer .primary-button{min-width:150px;justify-content:center}.estimate-assistant-prompt button svg,.estimate-suggestion-footer button svg{width:14px}.estimate-work-description{display:flex;align-items:flex-start;gap:16px;margin-bottom:12px;padding:14px 16px;border:1px solid #d8d8d4;border-left:4px solid #919191;border-radius:4px 9px 9px 4px;background:#fff}.estimate-work-description>div{min-width:0;flex:1}.estimate-work-description strong{font-size:12px;letter-spacing:.7px}.estimate-work-description p{max-width:1100px;margin:6px 0 0;color:var(--ink,#203743);font-size:12px;line-height:1.6;white-space:pre-line}.estimate-work-description button{display:flex;align-items:center;gap:5px;flex:none;padding:7px 9px;border:1px solid #d5d5d1;border-radius:var(--radius-sm,8px);background:#fff;color:var(--ink,#203743);font-size:12px;font-weight:800;cursor:pointer}.estimate-work-description button svg{width:13px}.estimate-line>td:first-child span.chapter-fallback{color:#82430d}.estimate-context-actions a,.estimate-context-actions button{height:35px;display:flex;align-items:center;gap:6px;border:1px solid #d6d6d2;border-radius:var(--radius-sm,8px);background:#fff;color:var(--ink,#203743);font-weight:800;text-decoration:none;cursor:pointer}.estimate-context-actions a svg{width:14px}.estimate-context-actions a.export-estimate{border-color:#9a9a95}.estimate-context-actions a.quantity-link{border-color:#929292;background:#f7f7f7;color:#30322f}.estimate-assistant-buttons{display:flex;align-items:center;gap:7px}.estimate-assistant-prompt button.save-description{height:39px;border:1px solid #cfcfca;border-radius:var(--radius-sm,8px);background:#fff;color:var(--ink,#203743)}.estimate-suggestion-workspace{display:grid;gap:10px;margin-top:11px}.estimate-suggestion-summary{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:var(--radius-md,12px);background:var(--accent,#277571);color:#fff}.estimate-suggestion-summary>span{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius-sm,8px);background:#fff;color:var(--ink,#203743)}.estimate-suggestion-summary svg{width:16px}.estimate-suggestion-summary>div{flex:1;min-width:0}.estimate-suggestion-summary small,.estimate-suggestion-summary strong{display:block}.estimate-suggestion-summary strong{font-size:12px}.estimate-suggestion-summary small{margin-top:3px;color:#bbb;font-size:12px}.estimate-suggestion-summary>button{border:1px solid #ffffff55;border-radius:var(--radius-sm,8px);background:transparent;color:#fff;padding:6px 8px;font-size:12px;font-weight:800;cursor:pointer}.estimate-suggestion-questions{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #e4c88e;border-radius:var(--radius-md,12px);background:#fff8e9;color:#684f1c}.estimate-suggestion-questions>svg{width:16px;flex:none}.estimate-suggestion-questions strong{display:block;margin-bottom:4px;font-size:12px}.estimate-suggestion-questions p{margin:2px 0;font-size:12px;line-height:1.5}.estimate-suggestion-list{display:grid;gap:6px;max-height:390px;overflow:auto;padding-right:3px}.estimate-suggestion-list article{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;align-items:center;padding:9px;border:1px solid #ddddd8;border-radius:var(--radius-md,12px);background:var(--surface-soft,#f2f4f6);opacity:.52}.estimate-suggestion-list article.selected{border-color:#b9b9b2;background:#fff;opacity:1}.estimate-suggestion-list [data-slot=checkbox]{border-color:#888;background:#fff}.estimate-suggestion-list [data-slot=checkbox][data-state=checked]{border-color:#111;background:var(--accent,#277571);color:#fff}.estimate-suggestion-fields{display:grid;grid-template-columns:122px 92px minmax(250px,1.4fr) 70px minmax(190px,1fr);gap:7px;min-width:0}.estimate-suggestion-fields label{display:grid;gap:4px;min-width:0}.estimate-suggestion-fields input,.estimate-suggestion-fields select{width:100%;height:34px;padding:0 8px;border:1px solid #d6d6d2;border-radius:var(--radius-sm,8px);background:#fff;color:var(--ink,#203743);font-size:12px;outline:none}.estimate-suggestion-fields input:focus,.estimate-suggestion-fields select:focus{border-color:#111}.estimate-suggestion-fields .article input{font-weight:900;font-variant-numeric:tabular-nums}.estimate-suggestion-footer{position:sticky;bottom:-1px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 0 2px;border-top:1px solid #ddd;background:#fff}.estimate-suggestion-footer>p{display:flex;align-items:center;gap:6px;margin:0;color:var(--muted,#6b7076);font-size:12px;line-height:1.45}.estimate-suggestion-footer>p svg{width:14px;flex:none}.estimate-suggestion-footer>div{display:flex;gap:7px;flex:none}.estimate-suggestion-footer>div>button:not(.primary-button){height:39px;padding:0 14px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);background:#fff;color:var(--ink,#203743);font-size:12px;font-weight:800;cursor:pointer}.estimate-line.hierarchy-parent td{background:#f5f5f2;color:var(--muted,#6b7076)}.estimate-line.hierarchy-parent>td:first-child{background:#e6e6e6;color:#4a4a4a}.estimate-line.hierarchy-parent td>strong{font-weight:800}.estimate-line.hierarchy-parent td:nth-child(n+4):nth-child(-n+7){color:#aaa}.estimate-line.hierarchy-parent .estimate-line-actions{opacity:.45}.estimate-inline-number{width:72px;height:27px;padding:0 6px;border:1px solid transparent;border-radius:var(--radius-sm,8px);background:#f6f6f3;color:var(--ink,#203743);font:inherit;font-variant-numeric:tabular-nums;text-align:right;outline:none}.estimate-inline-number:hover{border-color:#cfcfca;background:#fff}.estimate-inline-number:focus{border-color:#111;background:#fff;box-shadow:0 0 0 2px #0000000c}.estimate-inline-number.saving{opacity:.45}.estimate-inline-error{margin:0 0 8px;padding:8px 10px;border:1px solid #e8bcae;border-radius:var(--radius-sm,8px);background:#fff5f1;color:#9d3f28;font-size:12px}.estimate-suggestion-fields input[readonly]{background:#f1f1ee;color:var(--muted,#6b7076);cursor:not-allowed}@media (max-width:900px){.estimate-suggestion-fields{grid-template-columns:110px 90px minmax(0,1fr) 70px}.estimate-suggestion-fields .note{grid-column:1/-1}.estimate-suggestion-list{max-height:45dvh}}@media (max-width:760px){.estimate-context-actions{display:none}.estimate-work-description{display:grid;gap:9px}.estimate-work-description button{justify-self:start}.estimate-mobile-actions a{width:76px}.estimate-mobile-actions a.export{width:40px;flex:0 0 40px;border-color:#aaa}.estimate-mobile-actions button{font-size:12px}.estimate-mobile-actions button.manual{flex:0 0 64px;border:1px solid var(--line,#dee3e6);background:#fff;color:var(--ink,#203743)}.estimate-assistant-dialog{width:calc(100vw - 16px)!important;max-height:94dvh!important;padding:18px 13px!important}.estimate-assistant-prompt{padding:11px}.estimate-assistant-prompt>div{align-items:stretch;flex-direction:column}.estimate-assistant-buttons{display:grid;grid-template-columns:1fr 1fr}.estimate-assistant-prompt button{width:100%;min-width:0}.estimate-suggestion-summary{align-items:flex-start}.estimate-suggestion-summary>button{display:none}.estimate-suggestion-fields{grid-template-columns:1fr 82px}.estimate-suggestion-fields .chapter,.estimate-suggestion-fields .designation,.estimate-suggestion-fields .note{grid-column:1/-1}.estimate-suggestion-list{max-height:none;overflow:visible}.estimate-suggestion-footer{align-items:stretch;flex-direction:column}.estimate-suggestion-footer>div{display:grid;grid-template-columns:90px 1fr}.estimate-suggestion-footer>div button{width:100%;min-width:0}}.quantity-page{min-height:100dvh;background:#f4f4f2;color:var(--ink,#203743)}.quantity-page-content{max-width:1540px;margin:0 auto;padding:20px 28px 60px}.quantity-appbar{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding:10px 13px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff}.quantity-appbar>a{display:flex;align-items:center;gap:6px;color:var(--ink,#203743);font-size:12px;font-weight:800;text-decoration:none}.quantity-appbar>a svg{width:14px}.quantity-appbar>span{display:grid;margin-right:auto;padding-left:13px;border-left:1px solid #ddd}.quantity-appbar>span strong{font-size:12px}.quantity-appbar>span small{margin-top:2px;color:var(--muted,#6b7076);font-size:12px}.quantity-appbar img{width:31px;height:31px;object-fit:contain}.quantity-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff}.quantity-hero p{margin:0 0 6px;color:var(--muted,#6b7076);font-size:12px;font-weight:900;letter-spacing:.9px}.quantity-hero h1{margin:0;font-size:28px;letter-spacing:-.035em}.quantity-hero span{display:block;margin-top:6px;color:var(--muted,#6b7076);font-size:12px}.quantity-empty button,.quantity-hero button,.quantity-main>header button{display:flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 13px;border:0;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff;font-size:12px;font-weight:900;cursor:pointer}.quantity-empty button svg,.quantity-hero button svg,.quantity-main>header button svg{width:14px}.quantity-safety{display:flex;align-items:flex-start;gap:11px;margin:11px 0;padding:12px 14px;border:1px solid #cbcbcb;border-radius:var(--radius-md,12px);background:#f9f9f9}.quantity-safety>svg{width:18px;color:#5d5d5d;flex:none}.quantity-safety strong{font-size:12px}.quantity-safety p{margin:3px 0 0;color:#636363;font-size:12px;line-height:1.5}.quantity-workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:11px}.quantity-workflow article{display:grid;grid-template-columns:24px 26px 1fr;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff}.quantity-workflow article>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--accent,#277571);color:#fff;font-size:12px;font-weight:900}.quantity-workflow svg{width:17px;color:#6f6f6f}.quantity-workflow small,.quantity-workflow strong{display:block}.quantity-workflow strong{font-size:12px}.quantity-workflow small{margin-top:2px;color:var(--muted,#6b7076);font-size:12px}.quantity-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:11px;align-items:start}.quantity-main,.quantity-side>section{overflow:hidden;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff}.quantity-main>header,.quantity-side section>header{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid #e4e4e1}.quantity-main>header>div{display:flex;align-items:center;gap:9px;margin-right:auto}.quantity-main>header svg,.quantity-side section>header>svg{width:17px}.quantity-main h2,.quantity-side h2{margin:0;font-size:13px}.quantity-main header p,.quantity-side header p{margin:2px 0 0;color:var(--muted,#6b7076);font-size:12px}.quantity-table-wrap{overflow:auto}.quantity-table{width:100%;min-width:1040px;border-collapse:collapse}.quantity-table th{padding:9px 8px;border-right:1px solid #333;background:var(--accent,#277571);color:#fff;font-size:12px;text-align:left;text-transform:uppercase}.quantity-table td{padding:9px 8px;border-top:1px solid #e1e1de;border-right:1px solid #e1e1de;font-size:12px;vertical-align:top}.quantity-table td:first-child{min-width:170px}.quantity-table td:nth-child(2){min-width:150px;font-weight:800}.quantity-table td:nth-child(4){min-width:145px}.quantity-table td:nth-child(5){white-space:nowrap;text-align:right}.quantity-table td:nth-child(6){max-width:170px}.quantity-table td:last-child{display:flex;gap:4px;border-right:0}.quantity-table td small,.quantity-table td strong{display:block}.quantity-table td small{max-width:190px;margin-top:3px;color:var(--muted,#6b7076);font-size:12px;line-height:1.4}.quantity-table code{padding:3px 5px;border-radius:var(--radius-sm,8px);background:#f1f1ee;font:8px ui-monospace,monospace}.quantity-table td>button{width:25px;height:25px;display:grid;place-items:center;border:1px solid #d8d8d4;border-radius:var(--radius-sm,8px);background:#fff;color:var(--muted,#6b7076);cursor:pointer}.quantity-table td>button.delete{color:#a34430}.quantity-table td>button svg{width:12px}.quantity-status{display:inline-flex;padding:4px 6px;border-radius:999px;background:#eee;color:var(--muted,#6b7076);font-size:12px;font-weight:900;white-space:nowrap}.quantity-status.valid-dit{background:#ebebeb;color:#525252}.quantity-status.-corriger{background:#fff0e9;color:#9b422c}.quantity-error{margin:0;padding:9px 13px;border-bottom:1px solid #edc8bb;background:#fff3ef;color:#9a351e;font-size:12px}.quantity-empty{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center}.quantity-empty>svg{width:28px;color:#888888}.quantity-empty h3{margin:11px 0 5px;font-size:13px}.quantity-empty p{max-width:420px;margin:0 0 14px;color:var(--muted,#6b7076);font-size:12px;line-height:1.55}.quantity-side{display:grid;gap:10px}.quantity-side section>header{align-items:center}.quantity-side section>header>span{margin-left:8px}.quantity-side section>div{padding:7px 12px}.quantity-side section>div>article{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #ececea}.quantity-side section>div>article:last-child{border-bottom:0}.quantity-side section>div>article>svg{width:14px;color:var(--muted,#6b7076)}.quantity-side section>div>article small,.quantity-side section>div>article strong{display:block}.quantity-side section>div>article strong{max-width:210px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.quantity-side section>div>article small{margin-top:2px;color:#888;font-size:12px}.quantity-side-empty{margin:0;padding:18px;color:var(--muted,#6b7076);font-size:12px;line-height:1.5}.quantity-totals p{display:flex;align-items:center;justify-content:space-between;margin:0;padding:7px 0;border-bottom:1px solid #ececea}.quantity-totals span{font-size:12px}.quantity-totals b{font-size:13px}.quantity-totals>small{display:block;padding:8px 0;color:#888;font-size:12px}.quantity-dialog{max-width:720px!important;border:1px solid #d8d8d8!important;background:#fff!important;color:var(--ink,#203743)!important}.quantity-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quantity-form label{display:grid;gap:5px}.quantity-form label>span{color:var(--muted,#6b7076);font-size:12px;font-weight:900}.quantity-form input,.quantity-form select,.quantity-form textarea{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);background:var(--surface-soft,#f2f4f6);color:var(--ink,#203743);font-size:12px;outline:none}.quantity-form textarea{resize:vertical}.quantity-form input:focus,.quantity-form select:focus,.quantity-form textarea:focus{border-color:#111}.quantity-form .span-2{grid-column:1/-1}.quantity-form footer{display:flex;justify-content:flex-end;gap:8px;padding-top:5px}.quantity-form footer>button:not(.primary-button){height:39px;padding:0 14px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);background:#fff;color:var(--ink,#203743);font-size:12px}.quantity-form footer button{display:flex;align-items:center;gap:6px}.quantity-form footer svg{width:14px}.quantity-status.valide{background:#ebebeb;color:#525252}.quantity-status.a-corriger{background:#fff0e9;color:#9b422c}.estimate-mobile-actions a.quantities{border-color:#929292;background:#f7f7f7;color:#30322f}.quantity-plan-workspace{overflow:hidden;margin-bottom:11px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff}.quantity-plan-workspace>header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #e4e4e1}.quantity-plan-workspace>header>div{display:flex;align-items:center;gap:9px;margin-right:auto}.quantity-plan-workspace>header svg{width:17px}.quantity-plan-workspace>header h2{margin:0;font-size:13px}.quantity-plan-workspace>header p{margin:2px 0 0;color:var(--muted,#6b7076);font-size:12px}.quantity-plan-workspace>header>a{display:flex;align-items:center;gap:5px;color:var(--ink,#203743);font-size:12px;font-weight:900;text-decoration:none}.quantity-plan-workspace>header>a svg{width:13px}.quantity-plan-controls{display:grid;grid-template-columns:minmax(220px,1fr) 80px auto;align-items:end;gap:9px;padding:10px 12px;border-bottom:1px solid var(--line,#dee3e6);background:var(--surface-soft,#f2f4f6)}.quantity-plan-controls label{display:grid;gap:4px}.quantity-plan-controls label>span{color:var(--muted,#6b7076);font-size:12px;font-weight:900;text-transform:uppercase}.quantity-plan-controls input,.quantity-plan-controls select{width:100%;height:35px;padding:0 9px;border:1px solid #d4d4d0;border-radius:var(--radius-sm,8px);background:#fff;color:var(--ink,#203743);font-size:12px}.quantity-plan-controls button{height:35px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 11px;border:0;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff;font-size:12px;font-weight:900;cursor:pointer}.quantity-plan-controls button svg{width:13px}.quantity-plan-frame{height:min(61dvh,690px);min-height:430px;display:grid;place-items:center;background:#3b3b39}.quantity-plan-frame iframe{width:100%;height:100%;border:0;background:#fff}.quantity-plan-frame>img{max-width:100%;max-height:100%;object-fit:contain}.quantity-plan-empty,.quantity-plan-frame>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:25px;color:#fff;text-align:center}.quantity-plan-empty svg,.quantity-plan-frame>div svg{width:28px}.quantity-plan-empty p,.quantity-plan-frame>div p{margin:0;color:#ccc;font-size:12px}.quantity-plan-empty a,.quantity-plan-frame>div a{color:inherit;font-size:12px;font-weight:900}.quantity-plan-empty{min-height:220px;color:var(--ink,#203743)}.quantity-plan-empty p{color:var(--muted,#6b7076)}.quantity-source-link{max-width:165px;display:flex;align-items:flex-start;gap:5px;padding:0;border:0;background:transparent;color:#30322f;font-size:12px;font-weight:800;text-align:left;cursor:pointer}.quantity-source-link svg{width:12px;flex:none}.quantity-side section>div>button{width:100%;display:flex;align-items:center;gap:8px;padding:8px 5px;border:0;border-bottom:1px solid #ececea;background:transparent;color:var(--ink,#203743);text-align:left;cursor:pointer}.quantity-side section>div>button:last-child{border-bottom:0}.quantity-side section>div>button.active{margin:2px 0;border-radius:var(--radius-sm,8px);background:#f1f1f1;color:#30322f}.quantity-side section>div>button>svg{width:14px;flex:none}.quantity-side section>div>button small,.quantity-side section>div>button strong{display:block}.quantity-side section>div>button strong{max-width:210px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.quantity-side section>div>button small{margin-top:2px;color:#888;font-size:12px}@media (max-width:900px){.quantity-layout{grid-template-columns:1fr}.quantity-side{grid-template-columns:1fr 1fr}}@media (max-width:680px){.quantity-page-content{padding:12px 10px 35px}.quantity-appbar>span{display:none}.quantity-hero{align-items:flex-start;padding:17px}.quantity-hero h1{font-size:23px}.quantity-hero button{flex:none;padding:0 9px}.quantity-workflow{grid-template-columns:1fr}.quantity-layout{display:block}.quantity-side{display:grid;margin-top:10px}.quantity-form,.quantity-side{grid-template-columns:1fr}.quantity-form .span-2{grid-column:1}.quantity-table{min-width:940px}.estimate-mobile-actions a.quantities{width:40px;flex:0 0 40px}.quantity-plan-controls{grid-template-columns:1fr 70px}.quantity-plan-controls button{grid-column:1/-1}.quantity-plan-frame{height:55dvh;min-height:360px}}.cctb-direct-search{width:100%;min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;margin:2px 0 10px;border:1px solid #cfcfca;border-radius:var(--radius-sm,8px);background:#fff;color:var(--ink,#203743);font-size:12px;font-weight:900;cursor:pointer}.cctb-direct-search:hover{border-color:#111;background:#f6f6f4}.cctb-direct-search svg{width:15px}.cctb-search-dialog{width:min(920px,calc(100vw - 28px))!important;max-width:920px!important;max-height:90dvh!important;overflow:hidden!important;border:1px solid #d4d4d0!important;background:#fff!important;color:var(--ink,#203743)!important;box-shadow:0 24px 70px #0005!important}.cctb-search-dialog [data-slot=dialog-description]{color:var(--muted,#6b7076)!important}.cctb-search-controls{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px}.cctb-search-controls>label{display:grid;gap:5px}.cctb-search-controls>label>span{font-size:12px;font-weight:900;color:var(--muted,#6b7076);text-transform:uppercase}.cctb-search-controls input,.cctb-search-controls select{width:100%;height:42px;border:1px solid #d2d2ce;border-radius:var(--radius-sm,8px);background:var(--surface-soft,#f2f4f6);color:var(--ink,#203743);font-size:12px;outline:0}.cctb-search-controls input:focus,.cctb-search-controls select:focus{border-color:#111;box-shadow:0 0 0 3px #0000000b}.cctb-search-field{position:relative}.cctb-search-field svg{position:absolute;left:12px;bottom:12px;width:17px;color:var(--muted,#6b7076)}.cctb-search-field input{padding:0 12px 0 39px}.cctb-search-controls select{padding:0 10px}.cctb-search-results{min-height:250px;max-height:54dvh;overflow:auto;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:var(--surface-soft,#f2f4f6)}.cctb-search-results>button{width:100%;display:grid;grid-template-columns:110px minmax(0,1fr) 70px;align-items:center;gap:12px;padding:11px 13px;border:0;border-bottom:1px solid #e2e2df;background:#fff;color:var(--ink,#203743);text-align:left;cursor:pointer}.cctb-search-results>button:last-child{border-bottom:0}.cctb-search-results>button:hover{background:#f0f0ed}.cctb-search-results>button>span{display:flex;align-items:center;gap:7px}.cctb-search-results>button>span b{min-width:27px;padding:4px 5px;border-radius:var(--radius-sm,8px);background:#ececea;color:var(--muted,#6b7076);font-size:12px;text-align:center}.cctb-search-results>button>span strong{font-size:12px}.cctb-search-results>button p{margin:0;font-size:12px;line-height:1.4}.cctb-search-results>button em{display:flex;align-items:center;gap:4px;color:#30322f;font-size:12px;font-style:normal;font-weight:900}.cctb-search-results>button em svg{width:13px}.cctb-search-state{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--muted,#6b7076);text-align:center}.cctb-search-state svg{width:25px}.cctb-search-state strong{color:var(--ink,#203743);font-size:13px}.cctb-search-state span{font-size:12px}.cctb-search-note{margin:0;color:var(--muted,#6b7076);font-size:12px;line-height:1.45}.work-import-dialog{width:min(1120px,calc(100vw - 28px))!important;max-width:1120px!important;max-height:92dvh!important;overflow:auto!important;border:1px solid #d4d4d0!important;background:#fff!important;color:var(--ink,#203743)!important;box-shadow:0 24px 70px #0005!important}.work-import-dialog [data-slot=dialog-description]{color:var(--muted,#6b7076)!important}.work-import-toolbar{display:flex;align-items:center;gap:8px}.work-import-toolbar button{height:39px;display:flex;align-items:center;gap:6px;padding:0 12px;border:1px solid #111;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff;font-size:12px;font-weight:900;cursor:pointer}.work-import-toolbar button.secondary{border-color:var(--line,#dee3e6);background:#fff;color:var(--ink,#203743)}.work-import-toolbar button svg{width:14px}.work-import-toolbar>span{margin-left:auto;color:var(--muted,#6b7076);font-size:12px}.work-import-format{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);background:#f7f7f4}.work-import-format strong{font-size:12px}.work-import-format span{color:var(--muted,#6b7076);font-size:12px}.work-import-success{display:flex;align-items:center;gap:7px;margin:0;padding:9px 11px;border-radius:var(--radius-sm,8px);background:#f3f3f3;color:#515151;font-size:12px}.work-import-success svg{width:15px}.work-import-summary{display:flex;align-items:center;gap:8px}.work-import-summary>span{display:flex;align-items:baseline;gap:5px;padding:7px 9px;border-radius:var(--radius-sm,8px);background:#efefed;color:var(--muted,#6b7076);font-size:12px}.work-import-summary>span strong{color:var(--ink,#203743);font-size:13px}.work-import-summary>button{margin-left:auto;border:0;background:transparent;color:var(--ink,#203743);font-size:12px;font-weight:900;cursor:pointer}.work-import-table-wrap{max-height:48dvh;overflow:auto;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px)}.work-import-table{width:100%;border-collapse:collapse;min-width:930px}.work-import-table th{position:sticky;top:0;z-index:1;padding:9px 8px;background:var(--accent,#277571);color:#fff;font-size:12px;letter-spacing:.35px;text-align:left}.work-import-table td{padding:8px;border-bottom:1px solid #e5e5e2;color:var(--ink,#203743);font-size:12px;vertical-align:top}.work-import-table tr:last-child td{border-bottom:0}.work-import-table tr.duplicate{background:#fffaf0}.work-import-table tr.error{background:#fff3ef}.work-import-table td:first-child{width:30px}.work-import-table td:first-child>svg{width:15px;color:#966a21}.work-import-table tr.error td:first-child>svg{color:#a4412d}.work-import-table td:nth-child(3){white-space:nowrap}.work-import-table td:nth-child(3) b{display:block;color:var(--muted,#6b7076);font-size:12px}.work-import-table td:nth-child(4) small,.work-import-table td:nth-child(4) strong{display:block}.work-import-table td:nth-child(4) strong{font-size:12px}.work-import-table td:nth-child(4) small{margin-top:3px;color:var(--muted,#6b7076);font-size:12px}.work-import-table td:last-child span{display:inline-block;padding:4px 6px;border-radius:var(--radius-md,12px);background:#ebebeb;color:#515151;font-size:12px;font-weight:900;white-space:nowrap}.work-import-table tr.duplicate td:last-child span{background:#f5e9c9;color:#775717}.work-import-table tr.error td:last-child span{background:#f6ddd5;color:#8c3826}.work-import-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.work-import-footer p{margin:0;color:var(--muted,#6b7076);font-size:12px}.work-import-footer>div{display:flex;gap:8px}.work-import-footer button{min-height:39px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 13px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);background:#fff;color:var(--ink,#203743);font-size:12px;font-weight:900;cursor:pointer}.work-import-footer button.primary-button{border-color:#111;background:var(--accent,#277571);color:#fff}.work-import-footer button svg{width:14px}.estimate-history-dialog{width:min(620px,calc(100vw - 24px))!important;max-width:620px!important;max-height:88dvh!important;overflow:auto!important}.estimate-history-list{display:grid;gap:6px}.estimate-history-list article{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);background:var(--surface-soft,#f2f4f6)}.estimate-history-list article>b{width:38px;height:28px;display:grid;place-items:center;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff;font-size:12px}.estimate-history-list small,.estimate-history-list strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimate-history-list strong{font-size:12px}.estimate-history-list small{margin-top:3px;color:var(--muted,#6b7076);font-size:12px}.estimate-history-state{min-height:110px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted,#6b7076);font-size:12px}.estimate-history-state svg{width:16px}.offer-comparison-dialog{width:min(1180px,calc(100vw - 24px))!important;max-width:1180px!important;max-height:93dvh!important;overflow:auto!important}.offer-import-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,1.5fr) auto;align-items:end;gap:8px}.offer-import-form label{display:grid;gap:4px}.offer-import-form label>span{font-size:12px;font-weight:900}.offer-import-form input{height:37px;min-width:0;border:1px solid #d3d3cf;border-radius:var(--radius-sm,8px);background:#fff;padding:0 9px;font-size:12px}.offer-import-form input[type=file]{padding:8px}.offer-import-form button{height:37px;display:flex;align-items:center;gap:6px;padding:0 11px;border:0;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff;font-size:12px;font-weight:900}.offer-import-form svg{width:13px}.offer-total-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.offer-total-cards article{position:relative;display:grid;gap:4px;padding:11px;border:1px solid #dcdcd8;border-radius:var(--radius-sm,8px);background:var(--surface-soft,#f2f4f6)}.offer-total-cards small,.offer-total-cards span,.offer-total-cards strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offer-total-cards small{font-size:12px;font-weight:900}.offer-total-cards strong{font-size:14px}.offer-total-cards span{color:var(--muted,#6b7076);font-size:12px}.offer-total-cards button{position:absolute;right:5px;top:5px;width:25px;height:25px;display:grid;place-items:center;border:0;background:transparent;color:#9a4938}.offer-total-cards button svg{width:12px}.offer-table-wrap{max-height:52dvh;overflow:auto;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px)}.offer-table-wrap table{width:100%;min-width:850px;border-collapse:collapse}.offer-table-wrap th{position:sticky;top:0;z-index:1;padding:8px;background:var(--accent,#277571);color:#fff;font-size:12px;text-align:left}.offer-table-wrap td{padding:7px 8px;border-right:1px solid var(--line,#dee3e6);border-bottom:1px solid var(--line,#dee3e6);font-size:12px;vertical-align:top}.offer-table-wrap td:nth-child(n+3){text-align:right}.offer-table-wrap td>b,.offer-table-wrap td>small,.offer-table-wrap td>strong{display:block}.offer-table-wrap td>b,.offer-table-wrap td>small{color:var(--muted,#6b7076);font-size:12px}.offer-table-wrap td>strong{margin-top:3px;font-size:12px}.offer-table-wrap td.missing{background:#fff5ef;color:#a34a34}.offer-comparison-state{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted,#6b7076);text-align:center;font-size:12px}.offer-comparison-state svg{width:21px}.offer-comparison-state strong{color:var(--ink,#203743);font-size:12px}@media (max-width:760px){.offer-comparison-dialog{width:calc(100vw - 12px)!important;padding:16px 10px!important}.offer-import-form{grid-template-columns:1fr}.offer-total-cards{grid-template-columns:1fr 1fr}.cctb-search-dialog,.work-import-dialog{width:calc(100vw - 16px)!important;max-height:94dvh!important;padding:18px 13px!important}.cctb-search-controls{grid-template-columns:1fr}.cctb-search-results{max-height:56dvh}.cctb-search-results>button{grid-template-columns:88px minmax(0,1fr)}.cctb-search-results>button em{display:none}.work-import-toolbar{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.work-import-toolbar>span{grid-column:1/-1;margin-left:0}.work-import-format{align-items:flex-start;flex-direction:column}.work-import-footer{align-items:stretch;flex-direction:column}.work-import-footer>div{display:grid;grid-template-columns:90px 1fr}.estimate-mobile-actions{gap:5px;padding-left:7px;padding-right:7px}.estimate-mobile-actions a,.estimate-mobile-actions button{font-size:12px}.estimate-mobile-actions a{width:58px}.estimate-mobile-actions button.manual{flex:0 0 52px}}.estimate-hero h1{font-family:var(--font-ui);font-weight:750;letter-spacing:-.035em}.estimate-module-tabs{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#ececea}.estimate-module-tabs button{min-height:40px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:0;border-radius:var(--radius-sm,8px);background:transparent;color:#626663;font-size:13px;font-weight:800;cursor:pointer}.estimate-module-tabs button svg{width:16px}.estimate-module-tabs button b{min-width:20px;padding:3px 6px;border-radius:999px;background:#d9d9d5;color:var(--muted,#6b7076);font-size:12px}.estimate-module-tabs button.active{background:var(--accent,#277571);color:#fff;box-shadow:0 2px 7px #0002}.estimate-module-tabs button.active b{background:#fff;color:var(--ink,#203743)}.estimate-tab-panel{min-width:0;display:grid;gap:12px;padding:15px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff}.estimate-status-filter{max-width:190px!important;flex:0 1 190px!important}.estimate-status-filter select{width:100%;border:0;outline:0;background:transparent;color:var(--ink,#203743);font-size:12px;font-weight:700}.estimate-list-table{overflow:hidden;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff}.estimate-list-head,.estimate-list-row{display:grid;grid-template-columns:minmax(175px,1fr) minmax(190px,1.35fr) 100px 105px 65px 125px 18px;align-items:center;gap:12px}.estimate-list-head{min-height:40px;padding:0 14px;border-bottom:1px solid var(--line,#dee3e6);background:#f5f5f2;color:var(--muted,#6b7076);font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.estimate-list-row{width:100%;min-height:70px;padding:10px 14px;border:0;border-bottom:1px solid #ecece8;background:#fff;color:var(--ink,#203743);text-align:left;cursor:pointer}.estimate-list-row:last-child{border-bottom:0}.estimate-list-row:hover{background:var(--surface-soft,#f2f4f6)}.estimate-list-row>span{min-width:0;font-size:12px}.estimate-list-row>span:nth-child(5){font-weight:800;text-align:center}.estimate-list-row>span:nth-child(6){display:flex;align-items:center;gap:5px;color:var(--muted,#6b7076)}.estimate-list-row>span:nth-child(6) svg,.estimate-list-row>svg{width:15px}.estimate-list-row>svg{color:var(--muted,#6b7076)}.estimate-project-cell{display:flex;align-items:center;gap:9px}.estimate-project-cell>svg{width:34px;height:34px;padding:8px;border-radius:var(--radius-sm,8px);background:#f0f0f0;color:#616161}.estimate-name-cell small,.estimate-name-cell strong,.estimate-project-cell small,.estimate-project-cell strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimate-name-cell strong,.estimate-project-cell strong{font-size:13px}.estimate-name-cell small,.estimate-project-cell small{margin-top:3px;color:var(--muted,#6b7076);font-size:13px}.estimate-status-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#ecece9;color:#434343;font-size:13px;white-space:nowrap}.estimate-source-choice{display:grid!important;grid-template-columns:repeat(3,1fr);gap:7px!important;margin:0;padding:0;border:0}.estimate-source-choice legend{margin-bottom:6px;color:var(--muted,#6b7076);font-size:13px;font-weight:900}.estimate-source-choice label{position:relative;min-height:74px;display:grid!important;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:8px!important;padding:10px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:var(--surface-soft,#f2f4f6);cursor:pointer}.estimate-source-choice label.selected{border-color:#111;background:#fff;box-shadow:0 0 0 2px #0000000c}.estimate-source-choice input{position:absolute;opacity:0;pointer-events:none}.estimate-source-choice label>svg{width:22px}.estimate-source-choice small,.estimate-source-choice strong{display:block}.estimate-source-choice strong{font-size:12px}.estimate-source-choice small{margin-top:3px;color:var(--muted,#6b7076);font-size:12px;line-height:1.35}.assembly-library>header,.cctb-library-panel>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.assembly-library>header>div,.cctb-library-panel>header>div{display:flex;align-items:center;gap:10px}.assembly-library>header svg,.cctb-library-panel>header svg{width:21px}.assembly-library h3,.cctb-library-panel h3{margin:0;font-size:16px}.assembly-library header p,.cctb-library-panel header p{margin:4px 0 0;color:var(--muted,#6b7076);font-size:12px}.assembly-library>header>b,.cctb-library-panel>header>b{padding:6px 9px;border-radius:999px;background:#eeeeeb;color:var(--muted,#6b7076);font-size:13px}.assembly-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.assembly-family-grid article{position:relative;min-height:178px;padding:15px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:var(--surface-soft,#f2f4f6)}.assembly-family-grid article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff}.assembly-family-grid article>span svg{width:16px}.assembly-family-grid h4{margin:12px 0 8px;font-size:14px}.assembly-family-grid ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.assembly-family-grid li{position:relative;padding-left:12px;color:#525252;font-size:12px;line-height:1.4}.assembly-family-grid li:before{content:"";position:absolute;left:0;top:.55em;width:4px;height:4px;border-radius:50%;background:#9c6d18}.assembly-family-grid small{position:absolute;left:15px;bottom:13px;color:#888;font-size:12px}.assembly-library>aside{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:var(--radius-md,12px);background:#f3f3f3;color:#5b5b5b}.assembly-library>aside svg{width:18px}.assembly-library>aside small,.assembly-library>aside strong{display:block}.assembly-library>aside strong{font-size:12px}.assembly-library>aside small{margin-top:3px;font-size:13px;line-height:1.4}.cctb-library-panel{display:grid;gap:12px}.cctb-library-search{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:8px}.cctb-library-search label{height:43px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);background:#fff}.cctb-library-search label svg{width:17px;color:var(--muted,#6b7076)}.cctb-library-search input,.cctb-library-search select{border:0;outline:0;background:transparent}.cctb-library-search input{width:100%;font-size:13px}.cctb-library-search select{padding:0 10px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);background:#fff;font-size:12px;font-weight:700}.cctb-library-results{min-height:250px;display:grid;align-content:start;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);overflow:hidden}.cctb-library-results article{display:grid;grid-template-columns:42px 105px minmax(0,1fr);align-items:center;gap:10px;min-height:55px;padding:8px 12px;border-bottom:1px solid #ecece8}.cctb-library-results article:last-child{border-bottom:0}.cctb-library-results article>b{width:34px;padding:5px 0;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff;font-size:12px;text-align:center}.cctb-library-results article>strong{font-size:12px}.cctb-library-results article>p{margin:0;color:var(--ink,#203743);font-size:12px;line-height:1.4}.cctb-library-state{min-height:248px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted,#6b7076);text-align:center;font-size:12px}.cctb-library-state svg{width:24px}.cctb-library-state strong{color:var(--ink,#203743);font-size:13px}.cctb-library-panel>footer{display:flex;align-items:center;gap:7px;color:#6f746f;font-size:13px}.cctb-library-panel>footer svg{width:14px}.estimate-context-actions a.export-estimate.enterprise{border-color:#8d8d8d;background:#f7f7f7;color:#484848}.estimate-context-actions a.export-estimate.internal{border-color:#c8b37c;background:#fffaf0;color:#6b5018}@media (max-width:980px){.estimate-list-head,.estimate-list-row{grid-template-columns:minmax(150px,1fr) minmax(170px,1.3fr) 82px 98px 55px 18px}.estimate-list-head>span:nth-child(6),.estimate-list-row>span:nth-child(6){display:none}.assembly-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.estimate-module-head{align-items:stretch;flex-direction:column}.estimate-module-head>.primary-button{width:100%;justify-content:center}.estimate-module-tabs{display:grid;grid-template-columns:1fr}.estimate-module-tabs button{justify-content:flex-start}.estimate-tab-panel{padding:10px}.estimate-toolbar .estimate-status-filter{max-width:none!important;flex:1!important}.estimate-list-head{display:none}.estimate-list-row{grid-template-columns:minmax(0,1fr) auto 16px;gap:8px;min-height:92px;padding:11px}.estimate-name-cell,.estimate-project-cell{grid-column:1}.estimate-list-row>span:nth-child(3){grid-column:2;grid-row:1;font-size:13px}.estimate-list-row>span:nth-child(4){grid-column:2;grid-row:2}.estimate-list-row>span:nth-child(5),.estimate-list-row>span:nth-child(6){display:none}.estimate-list-row>svg{grid-column:3;grid-row:1/3}.estimate-source-choice{grid-template-columns:1fr}.assembly-library>header,.cctb-library-panel>header{align-items:flex-start;flex-direction:column}.assembly-family-grid,.cctb-library-search{grid-template-columns:1fr}.cctb-library-search select{height:41px}.cctb-library-results article{grid-template-columns:38px 88px minmax(0,1fr);padding:8px}.cctb-library-results article>p{font-size:13px}}.estimate-context{display:grid;grid-template-columns:minmax(260px,310px) minmax(0,1fr);align-items:center;column-gap:18px;row-gap:6px;padding:14px 16px}.estimate-context>div:first-child{min-width:0;grid-column:1;grid-row:1;align-items:flex-start}.estimate-context>div:first-child>span{min-width:0}.estimate-context>div:first-child small,.estimate-context>div:first-child strong{display:block}.estimate-context>div:first-child small{font-size:12px;line-height:1.2;white-space:nowrap}.estimate-context>div:first-child strong{margin-top:4px;font-size:12px;line-height:1.35}.estimate-context>p{grid-column:1;grid-row:2;font-size:12px}.estimate-context-actions{min-width:0;grid-column:2;grid-row:1/3;display:flex;flex-wrap:wrap;align-content:center;justify-content:flex-end;gap:7px}.estimate-context-actions a,.estimate-context-actions button{min-width:0;height:38px;padding:0 11px;font-size:12px;white-space:nowrap}.estimate-context-actions a svg,.estimate-context-actions button svg{width:14px;flex:none}.estimate-context-actions a.export-estimate.enterprise,.estimate-context-actions a.export-estimate.internal{border-color:#d4d4d4;background:#fff;color:#313431}.estimate-work-description{border-left-color:#1d1e1c}.estimate-work-description p{max-width:none;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}.estimate-section-row td{border-color:#d8d8d8;background:#eceeeb;color:#171817}.estimate-section-row button{border-color:#c8c8c8;background:#fff;color:#171817}@media (max-width:1180px){.estimate-context{grid-template-columns:1fr}.estimate-context-actions,.estimate-context>div:first-child,.estimate-context>p{grid-column:1;grid-row:auto}.estimate-context-actions{justify-content:flex-start;padding-top:5px;border-top:1px solid #ecece8}}@media (max-width:760px){.estimate-context{display:grid;padding:12px 13px}.estimate-context-actions,.estimate-context>p{display:none}.estimate-work-description p{-webkit-line-clamp:5}}.assembly-manager{display:grid;gap:14px}.assembly-manager>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.assembly-manager>header>div{display:flex;align-items:center;gap:11px}.assembly-manager>header>div>svg{width:23px;height:23px}.assembly-manager h3{margin:0;font-size:17px}.assembly-manager header p{margin:4px 0 0;color:#707570;font-size:12px}.assembly-manager-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:8px}.assembly-manager-toolbar label{height:43px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff}.assembly-manager-toolbar label svg{width:17px;color:var(--muted,#6b7076)}.assembly-manager-toolbar input,.assembly-manager-toolbar select{width:100%;border:0;outline:0;background:transparent;font-size:12px}.assembly-manager-toolbar>select{padding:0 11px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:#fff;font-weight:750}.assembly-manager-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.assembly-manager-grid>article{min-width:0;display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:var(--surface-soft,#f2f4f6);box-shadow:0 3px 12px #00000008}.assembly-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.assembly-card-head small{display:block;color:#8a641c;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.assembly-card-head h4{margin:4px 0 0;font-size:14px;line-height:1.3}.assembly-card-head>b{min-width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff;font-size:13px}.assembly-manager-grid>article>p{min-height:35px;margin:0;color:#5e635f;font-size:13px;line-height:1.5}.assembly-card-statuses{display:flex;flex-wrap:wrap;gap:5px}.assembly-card-statuses span,.assembly-item-meta em,.estimate-requirement-status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#ecece9;color:var(--muted,#6b7076);font-size:12px;font-style:normal;font-weight:800;line-height:1}.assembly-card-statuses [data-status=Base],.assembly-item-meta [data-status=Base],.estimate-requirement-status[data-status=Base]{background:#ececec;color:#4c4c4c}.assembly-card-statuses [data-status="À vérifier"],.assembly-item-meta [data-status="À vérifier"],.estimate-requirement-status[data-status="À vérifier"]{background:#fff0cf;color:#7a5410}.assembly-card-statuses [data-status=Optionnel],.assembly-item-meta [data-status=Optionnel],.estimate-requirement-status[data-status=Optionnel]{background:#e9e9e9;color:#4e4e4e}.assembly-manager-grid footer{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:2px}.assembly-manager-grid footer button{height:32px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid #d6d6d1;border-radius:var(--radius-sm,8px);background:#fff;color:var(--ink,#203743);font-size:12px;font-weight:800;cursor:pointer}.assembly-manager-grid footer button:first-child{flex:1}.assembly-manager-grid footer button svg{width:13px}.assembly-item-actions button.danger,.assembly-manager-grid footer button.danger{color:#9b321f}.assembly-manager>aside{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:var(--radius-md,12px);background:#f3f3f3;color:#5b5b5b}.assembly-manager>aside svg{width:18px}.assembly-manager>aside small,.assembly-manager>aside strong{display:block}.assembly-manager>aside strong{font-size:12px}.assembly-manager>aside small{margin-top:3px;font-size:13px}.assembly-manager-state{min-height:210px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted,#6b7076);font-size:12px}.assembly-manager-state svg{width:20px}.assembly-manager-state.error{color:#9b321f}.assembly-manager-state button{padding:6px 9px;border:1px solid #d8b7ad;border-radius:var(--radius-sm,8px);background:#fff}.assembly-edit-dialog{width:min(570px,calc(100vw - 24px))!important}.assembly-items-dialog{width:min(820px,calc(100vw - 24px))!important;max-height:90dvh!important}.assembly-items-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0}.assembly-items-head>span{font-size:13px;font-weight:850}.assembly-items-list{display:grid;gap:7px;max-height:62dvh;overflow:auto;padding-right:3px}.assembly-items-list>article{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:var(--surface-soft,#f2f4f6)}.assembly-item-order{display:grid;gap:3px}.assembly-item-actions button,.assembly-item-order button{width:27px;height:25px;display:grid;place-items:center;border:1px solid #d9d9d4;border-radius:var(--radius-sm,8px);background:#fff;cursor:pointer}.assembly-item-order button:disabled{opacity:.28}.assembly-item-actions svg,.assembly-item-order svg{width:12px}.assembly-items-list article>div:nth-child(2){min-width:0}.assembly-items-list article>div:nth-child(2)>small,.assembly-items-list article>div:nth-child(2)>strong{display:block}.assembly-items-list article>div:nth-child(2)>strong{margin-top:5px;font-size:12px}.assembly-items-list article>div:nth-child(2)>small{margin-top:4px;overflow:hidden;color:var(--muted,#6b7076);font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.assembly-item-meta{display:flex;align-items:center;gap:5px}.assembly-item-meta code,.assembly-item-meta>b{padding:3px 5px;border-radius:var(--radius-sm,8px);background:var(--accent,#277571);color:#fff;font-family:inherit;font-size:12px}.assembly-item-meta code{background:#ecece9;color:var(--ink,#203743)}.assembly-item-actions{display:flex;gap:4px}.estimate-requirement-status{margin:5px 0 0 10px;vertical-align:middle}.assembly-picker-dialog{width:min(980px,calc(100vw - 24px))!important;max-height:92dvh!important}.assembly-picker-state{min-height:310px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted,#6b7076)}.assembly-picker-state svg{width:19px}.assembly-picker-source{display:flex;justify-content:flex-end;margin:4px 0 10px}.assembly-picker-source label{display:inline-flex;align-items:center;gap:8px;font-size:12px}.assembly-picker-source small{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#6a6a63}.assembly-picker-source select{height:32px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);padding:0 10px;background:#fff;font-size:13px}.assembly-picker-workspace{min-height:410px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:10px}.assembly-picker-workspace>nav{display:flex;flex-direction:column;gap:5px;max-height:58dvh;overflow:auto;padding:4px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);background:var(--surface-soft,#f2f4f6)}.assembly-picker-workspace>nav button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:0;border-radius:var(--radius-sm,8px);background:transparent;color:var(--ink,#203743);text-align:left;cursor:pointer}.assembly-picker-workspace>nav button.active{background:var(--accent,#277571);color:#fff;box-shadow:0 2px 7px #0002}.assembly-picker-workspace>nav small,.assembly-picker-workspace>nav strong{display:block}.assembly-picker-workspace>nav small{font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;opacity:.7}.assembly-picker-workspace>nav strong{margin-top:3px;font-size:13px;line-height:1.3}.assembly-picker-workspace>nav b{min-width:22px;font-size:12px;text-align:center}.assembly-source-tag{font-size:12px;text-transform:uppercase;letter-spacing:.05em;border:1px solid #c9c9c3;border-radius:999px;padding:3px 6px;margin-left:4px;background:#fff}.assembly-manager-toolbar{grid-template-columns:minmax(0,1fr) 170px 210px}.assembly-composition-groups{display:flex;flex-wrap:wrap;gap:6px}.assembly-composition-groups button{padding:7px 11px;border:1px solid var(--line,#dee3e6);border-radius:999px;font-size:13px;background:var(--surface-soft,#f2f4f6)}.assembly-composition-groups button[aria-pressed=true]{background:var(--accent,#277571);color:#fff;border-color:#222823}.assembly-layer-preview{border-left:2px solid #bda46b;padding-left:9px}.assembly-composition-details{padding:10px 12px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.assembly-composition-details>p{margin:0 0 8px}.assembly-composition-details summary{cursor:pointer;font-weight:700}.assembly-composition-details ol{list-style:none;padding:0;display:grid;gap:8px}.assembly-composition-details li{display:grid;gap:3px;padding:8px;background:#f1f3ed;border-left:3px solid #778363}.assembly-composition-details li[data-status=pending],.assembly-composition-warning{background:#fff3d9;color:#76591f;border-color:#bda46b;padding:8px}.assembly-composition-details li[data-status=descriptive]{background:#f0f0ed;border-color:#bdbeb7}.assembly-composition-details small{color:#60675c}.assembly-composition-details select{display:block;width:100%;max-width:100%;margin-top:6px;padding:8px;border:1px solid #bda46b;border-radius:var(--radius-sm,8px);background:#fff;font:inherit}.assembly-personal-filter{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650}.assembly-composition-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,240px);gap:8px}.assembly-composition-search input,.assembly-composition-search select{width:100%;min-width:0;padding:10px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);font-size:12px}@media (max-width:760px){.assembly-composition-search,.assembly-manager-toolbar{grid-template-columns:minmax(0,1fr)}.assembly-manager-toolbar>select{min-height:40px}}.assembly-picker-workspace>section{min-width:0;display:flex;flex-direction:column;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-md,12px);overflow:hidden}.assembly-picker-workspace>section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid var(--line,#dee3e6)}.assembly-picker-workspace h3{margin:0;font-size:14px}.assembly-picker-workspace header p{margin:4px 0 0;color:var(--muted,#6b7076);font-size:12px;line-height:1.4}.assembly-picker-workspace header button{flex:none;padding:6px 8px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);background:#fff;font-size:12px;font-weight:800}.assembly-picker-items{display:grid;align-content:start;gap:6px;max-height:49dvh;overflow:auto;padding:8px}.assembly-picker-items>label{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);background:#fff;cursor:pointer}.assembly-picker-items>label.selected{border-color:#c5c5c5;background:var(--surface-soft,#f2f4f6)}.assembly-picker-items>label>span>small,.assembly-picker-items>label>span>strong{display:block}.assembly-picker-items>label>span>strong{margin-top:5px;font-size:13px}.assembly-picker-items>label>span>small{margin-top:3px;color:var(--muted,#6b7076);font-size:12px;line-height:1.35}.assembly-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:3px}.assembly-picker-footer>p{display:flex;align-items:center;gap:6px;margin:0;color:var(--muted,#6b7076);font-size:12px}.assembly-picker-footer>p svg{width:14px}.assembly-picker-footer>div{display:flex;gap:7px}.assembly-picker-footer button{min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid var(--line,#dee3e6);border-radius:var(--radius-sm,8px);background:#fff;font-size:12px;font-weight:800}.assembly-picker-footer button svg{width:14px}@media (max-width:980px){.assembly-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.assembly-manager>header{align-items:stretch;flex-direction:column}.assembly-manager>header>.primary-button{width:100%;justify-content:center}.assembly-manager-toolbar{grid-template-columns:1fr}.assembly-manager-toolbar>select{height:43px}.assembly-manager-grid{grid-template-columns:1fr}.assembly-items-list>article{grid-template-columns:27px minmax(0,1fr)}.assembly-item-actions{grid-column:2;justify-content:flex-end}.assembly-picker-dialog{width:calc(100vw - 14px)!important;max-height:95dvh!important;padding:15px 10px!important}.assembly-picker-workspace{min-height:0;grid-template-columns:1fr}.assembly-picker-source{margin-bottom:6px}.assembly-picker-workspace>nav{max-height:128px}.assembly-picker-workspace>section{min-height:340px}.assembly-picker-items{max-height:42dvh}.assembly-picker-footer{align-items:stretch;flex-direction:column}.assembly-picker-footer>div{display:grid;grid-template-columns:90px 1fr}.assembly-picker-footer button{width:100%}.estimate-requirement-status{margin-left:0}}