.userGrid{display:grid;gap:12px}.userGrid article{display:grid;grid-template-columns:1fr 140px auto;align-items:center;gap:20px;border:1px solid #bbb;padding:18px}.userGrid h3{margin:4px 0}.userGrid p{margin:0;color:#666}.userForm,.projectSettings{display:grid;grid-template-columns:1fr 1fr;gap:14px}.userForm>label,.projectSettings>label,.costMeta label{display:grid;gap:6px;font-size:11px;letter-spacing:.07em}.userForm input,.userForm select,.projectSettings input,.projectSettings select,.costMeta input,.costMeta select{padding:11px;border:1px solid #999;background:#fff}.userForm fieldset{display:grid;align-content:start;gap:7px;border:1px solid #aaa;padding:14px;max-height:260px;overflow:auto}.userForm fieldset label{font-size:13px}.wide{grid-column:1/-1}.logFilters{display:grid;grid-template-columns:1fr 220px 180px;gap:10px;margin:18px 0}.logFilters input,.logFilters select{padding:12px;border:1px solid #999;background:#fff}.logList{display:grid;gap:1px;background:#ccc}.logList article{display:grid;grid-template-columns:170px 1fr 150px 220px 2fr;gap:14px;padding:13px;background:#f3f1ea;align-items:center}.logList time,.logList small{color:#666}.workspaceTools{border:1px solid #aaa;margin:0 0 20px;padding:14px;display:grid;gap:12px}.projectBadges,.workspaceActions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.projectBadges>*{border:1px solid #aaa;padding:7px 10px}.priority.high{background:#fff1b8}.priority.urgent{background:#ffd5d5;color:#8c1d1d}.workspaceActions button{padding:10px 12px}.workspaceActions .dark{margin-left:auto}.rateBar{background:#171616;color:white;padding:10px 12px;display:flex;gap:12px;align-items:center}.rateBar small{margin-left:auto;opacity:.7}.productTypeInput,.remarkInput{width:100%;padding:6px;border:1px solid #aaa;background:#fff}.costDetailButton.manual{border-color:#b82424!important;color:#b82424!important}.costDetailButton.detailed{border-color:#16703a!important;color:#16703a!important;background:#e2f3e7!important}.discussionBox form{display:grid;gap:10px}.discussionBox textarea{padding:12px}.discussionList{display:grid;gap:10px;max-height:50vh;overflow:auto;margin:18px 0}.discussionList article{border:1px solid #bbb;padding:12px}.discussionList time{float:right;color:#666;font-size:12px}.discussionList p{white-space:pre-wrap}.costBox{width:min(1450px,98vw)}.costMeta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.costTable{overflow:auto;margin:14px 0}.costHeader,.costRow{min-width:1180px;display:grid;grid-template-columns:1.5fr 1.5fr .55fr .6fr .8fr .7fr 1.5fr 55px;gap:6px;align-items:center;padding:7px}.costHeader{background:#171616;color:#fff;font-size:10px;letter-spacing:.05em}.costRow{border-bottom:1px solid #ccc}.costRow input,.costRow select{min-width:0;width:100%;padding:8px;border:1px solid #aaa;background:#fff}.costRow button{padding:8px;color:#a21d1d}.quotationFiles{margin-top:18px;border:1px solid #aaa;padding:16px}.quotationFiles h3{margin-top:0}.quotationFiles button{margin:5px;padding:8px}.quotationFiles input{padding:8px}.costFooter{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:20px}.costFooter #costResult{display:grid;gap:5px}.costFooter button{padding:14px}.assetBox .dark,.adminPage .dark{background:#171616;color:#fff}
body[data-role="employee"] .saleInput{display:none}
.mainBoqActions{display:flex!important;grid-auto-flow:column;gap:8px!important;align-items:center}.mainBoqActions button,.mainBoqActions select{padding:10px}.versionArchive{border-top:1px solid #bbb}.versionArchive>summary{cursor:pointer;padding:13px 18px;background:#e6e2d8;font-weight:700;display:flex;justify-content:space-between}.versionArchive .revisionChild{padding-left:28px}
@media(max-width:900px){.mainBoqActions{grid-auto-flow:row!important;width:100%}.mainBoqActions button,.mainBoqActions select{width:100%}}
@media(max-width:900px){.userGrid article,.logList article{grid-template-columns:1fr}.userForm,.projectSettings,.costMeta,.logFilters{grid-template-columns:1fr}.wide{grid-column:auto}.rateBar{display:block;line-height:1.7}.workspaceActions .dark{margin-left:0}.costFooter{align-items:stretch;flex-direction:column}.costHeader,.costRow{min-width:1050px}.userForm fieldset{max-height:none}}
.sortControls{display:flex;gap:4px;align-items:center}.sortControls button{padding:5px 8px!important;min-width:34px}.sortControls .dragHandle{cursor:grab;flex:1}.pricingRow.dragging{opacity:.5}
