/* Offers and work orders share the light IQORA workspace. */
.company-logo-preview { display:block; max-width:300px; max-height:150px; margin:20px 0; object-fit:contain; }
#view-company .panel { margin-bottom:24px; }
.brand .small { margin-left: 0; font-size: 9px; letter-spacing: 1.35px; }
.login-brand h1 { font-size: clamp(38px, 4.7vw, 68px); }
#view-overview .heading { flex-wrap: wrap; }
#view-overview .heading > div { flex: 1; }
.craft-dashboard { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 20px; margin-bottom: 24px; }
.craft-summary { text-align: left; padding: 24px; color: var(--green); white-space: normal; }
.craft-summary > span { display: flex; justify-content: space-between; font-size: 13px; color: var(--muted); font-weight: 500; }
.craft-summary > strong { display: block; font-size: 36px; margin: 10px 0; font-weight: 650; }
.craft-summary > small { color: var(--muted); font-size: 12px; font-weight: 400; }
.craft-summary:hover { border-color: #cbd8ef; }
.craft-tip { background: #f8faff; }
.craft-tip > span { font-size: 10px; letter-spacing: 1px; margin-bottom: 16px; }
.craft-tip p { font-size: 13px; color: var(--muted); margin: 12px 0 0; }
.craft-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 24px; }
.craft-detail-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 20px; margin-bottom: 24px; }
.craft-info { padding: 26px; overflow-wrap: anywhere; }
.craft-info p { font-size: 14px; }
.craft-info hr { border: 0; border-top: 1px solid var(--border); margin: 22px 0; }
.craft-pre { white-space: pre-wrap; }
.craft-description { white-space: pre-wrap; min-width: 180px; max-width: 500px; overflow-wrap: anywhere; }
.craft-totals { display: grid; gap: 10px; margin-left: auto; max-width: 420px; padding: 24px; }
.craft-totals > * { display: flex; justify-content: space-between; gap: 28px; font-size: 14px; }
.craft-totals > strong { padding-top: 12px; border-top: 1px solid var(--border); font-size: 18px; }
.craft-totals b { white-space: nowrap; font-variant-numeric: tabular-nums; }
.craft-photos { margin-top: 24px; }
.craft-upload { padding: 0 26px 22px; }
.craft-upload > label { max-width: 650px; }
.craft-upload p { font-size: 12px; margin: 14px 0 0; }
.craft-photo-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.craft-file-button { position: relative; overflow: hidden; min-height: 44px; }
.craft-file-button input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.craft-file-button:focus-within { outline: 3px solid #7397e8; outline-offset: 3px; }
.craft-gallery { display: grid; grid-template-columns: repeat(auto-fill,minmax(180px,1fr)); gap: 16px; padding: 0 26px 26px; }
.craft-gallery > .empty { grid-column: 1/-1; background: #fafbfd; border: 1px dashed #dce3ee; border-radius: 12px; margin: 0; }
.craft-photo { display: block; padding: 0; overflow: hidden; text-align: left; }
.craft-photo img { display: block; width: 100%; height: 160px; object-fit: cover; background: #f2f5fa; }
.craft-photo span { display: block; padding: 12px; font-size: 12px; overflow-wrap: anywhere; }
#craft-photo-viewer { width: min(1000px,94vw); max-height: 94dvh; overflow: auto; }
#craft-photo-large { display: block; width: 100%; max-height: 72dvh; object-fit: contain; border-radius: 10px; background: #f7f9fc; }
#craft-photo-info { margin: 14px 0 0; }
#craft-editor { width: min(1000px,95vw); max-height: 94dvh; overflow: auto; }
.craft-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.craft-full { grid-column: 1/-1; }
#craft-editor input, #craft-editor select, #craft-editor textarea { width: 100%; font: inherit; }
#craft-editor textarea { padding: 12px; margin-top: 7px; color: var(--green); resize: vertical; }
.craft-lines-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 14px 0; }
.craft-position-picker { display: grid; grid-template-columns: minmax(190px,1fr) auto minmax(190px,1fr) auto auto; gap: 10px; align-items: end; padding: 14px; border: 1px solid #dce5f2; background: #f4f7fc; border-radius: 12px; }
.craft-position-picker label { margin: 0; font-size: 11px; }
.craft-position-picker button { min-height: 44px; }
.craft-line { display: grid; grid-template-columns: minmax(170px,2.3fr) minmax(70px,.7fr) minmax(70px,.8fr) minmax(110px,1fr) minmax(65px,.6fr) 36px; gap: 10px; padding: 16px; margin: 12px 0; border: 1px solid var(--border); background: #fafbfd; border-radius: 12px; align-items: end; }
.craft-line label { font-size: 11px; margin: 0; min-width: 0; }
.craft-line label small { display: inline-block; margin-left: 5px; color: #496890; font-weight: 650; }
.craft-line input { min-width: 0; padding: 10px; }
.craft-line button { height: 44px; padding: 6px; }
.craft-estimate { text-align: right; font-size: 13px; color: var(--muted); margin: 18px 0 24px; }
.craft-editor-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #fff; padding-top: 18px; border-top: 1px solid var(--border); }
.craft-editor-actions .muted { font-size: 12px; }
#craft-editor .craft-editor-actions .primary { width: auto; }
#craft-editor-error { color: #a2392b; font-size: 14px; }
#craft-status-filter { width: auto; min-width: 150px; }
.craft-line-type { display: block; width: max-content; margin: 0 0 5px; padding: 3px 7px; border-radius: 999px; background: #edf3fc; color: #335a8f; font-size: 10px; font-weight: 700; }
.craft-components { margin-top: 7px; color: var(--muted); font-size: 11px; }
.craft-components summary { cursor: pointer; color: #416491; }
#craft-master-editor { width: min(780px,94vw); max-height: 92dvh; overflow: auto; }
#craft-master-editor textarea { width: 100%; padding: 12px; resize: vertical; }
.craft-package-component { display: grid; grid-template-columns: minmax(220px,1fr) 120px 40px; gap: 10px; align-items: end; padding: 12px; margin: 10px 0; background: #f8faff; border: 1px solid var(--border); border-radius: 10px; }
.craft-package-component label { margin: 0; }
.craft-package-component button { height: 44px; padding: 6px; }
.admin-confidential { display: flex; flex-direction: column; gap: 3px; padding: 14px; margin-bottom: 16px; color: #704f13; background: #fff8e7; border: 1px solid #f0d899; border-radius: 10px; font-size: 12px; }
@media(max-width:1100px){.craft-dashboard{grid-template-columns:1fr 1fr}.craft-tip{grid-column:1/-1}.craft-line{grid-template-columns:repeat(4,minmax(0,1fr))}.craft-line label:first-of-type{grid-column:1/-1}.craft-line button{grid-column:4;justify-self:end;width:36px}.craft-position-picker{grid-template-columns:1fr auto}.craft-position-picker>button:last-child{grid-column:1/-1}}
@media(max-width:760px){.craft-dashboard{gap:10px}.craft-summary{padding:18px}.craft-summary>strong{font-size:30px}.craft-detail-grid,.craft-form-grid{grid-template-columns:minmax(0,1fr)}.craft-full{grid-column:auto}.craft-info{padding:20px}.craft-line{padding:12px;grid-template-columns:1fr 1fr}.craft-line button{grid-column:2}.craft-position-picker,.craft-package-component{grid-template-columns:1fr}.craft-position-picker button,.craft-package-component button{width:100%}.craft-position-picker>button:last-child{grid-column:auto}.craft-upload{padding:0 18px 20px}.craft-gallery{padding:0 18px 18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.craft-photo img{height:130px}.craft-photo-actions{flex-direction:column}.craft-editor-actions{align-items:stretch;flex-direction:column;gap:12px}#craft-editor{padding:20px}#craft-editor .craft-editor-actions .primary{width:100%}.craft-actions button{min-height:44px}#view-overview .heading>div{flex-basis:100%}.craft-totals{padding:20px;max-width:none}.craft-totals>strong{font-size:16px}}
.craft-materials{margin:20px 0}.craft-materials>.materials-message,.craft-materials>.materials-content{padding:0 20px}.materials-form{padding:18px 0}.materials-form select{width:100%;min-width:0}.materials-history{padding:15px 0}.materials-history>summary{cursor:pointer;font-weight:600;margin-bottom:12px}.craft-materials td{vertical-align:top}.craft-materials td small{display:block}.craft-materials td:nth-child(4){white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:600px){.materials-form .form-row{display:grid;grid-template-columns:1fr}}

/* Offer editor: clear sections, visible totals and reachable save action. */
#craft-editor{scroll-padding-bottom:110px}
#craft-editor .dialog-head{align-items:center}
.craft-editor-intro{color:var(--muted);font-size:14px;margin:0 0 22px}
.craft-section-title{font-size:17px;margin:18px 0 12px;color:var(--green)}
.craft-lines-head p{font-size:13px;margin:0}
#craft-customer-picker{grid-template-columns:1fr 1.4fr auto;margin-bottom:18px}
.craft-catalog,.craft-extra{border:1px solid var(--border);border-radius:12px;padding:14px;margin:16px 0;background:#fff}
.craft-catalog summary,.craft-extra summary{cursor:pointer;font-weight:600;min-height:28px}
.craft-catalog>label{margin:14px 0}.craft-catalog .craft-position-picker{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto}
.craft-estimate{display:grid;gap:10px;background:#f1f6ff;border:1px solid #dce5f2;border-radius:12px;padding:18px;text-align:left}
.craft-estimate>span,.craft-estimate>strong{display:flex;justify-content:space-between;gap:16px}
.craft-estimate>strong{border-top:1px solid #dce5f2;padding-top:12px;font-size:19px;color:var(--green)}
.craft-estimate small{font-size:11px}.craft-estimate b{white-space:nowrap;font-variant-numeric:tabular-nums}
#craft-editor .craft-editor-actions{position:sticky;bottom:-32px;z-index:2;padding:16px 0;box-shadow:0 -10px 18px #fff}
@media(max-width:760px){#craft-customer-picker,.craft-catalog .craft-position-picker{grid-template-columns:minmax(0,1fr)}#craft-editor .craft-editor-actions{bottom:-20px}.craft-catalog summary{line-height:1.5}.craft-estimate>strong{font-size:17px}}

/* Order overview and navigation. */
.job-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.job-summary[hidden]{display:none}.job-summary button{text-align:left;padding:18px;background:#fff;border:1px solid var(--border);border-radius:12px;white-space:normal}.job-summary button[aria-pressed="true"]{background:#edf3ff;border-color:#315fcb}.job-summary span{display:block;color:var(--muted);font-size:12px}.job-summary strong{display:block;font-size:28px;margin-top:8px}.job-overdue{display:block;color:#a14722;font-size:12px;margin-top:5px}.craft-status-in_progress{color:#285dba;background:#edf3ff}.craft-status-done{color:#247453;background:#eaf7f0}.craft-status-cancelled{color:#657285;background:#f2f4f7}.is-jobs .toolbar{flex-wrap:wrap;align-items:end}.is-jobs .toolbar>input{flex:1;min-width:180px}.is-jobs .toolbar>label{margin:0;font-size:11px}.is-jobs .toolbar>label select{margin-top:5px;width:auto}.job-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px;background:#f4f7fc;border:1px solid var(--border);border-radius:12px;margin-bottom:16px}.job-detail-summary span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.job-detail-summary strong{font-size:18px}.job-section-links{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;background:transparent;border:0;padding:0;width:auto;position:static}.job-section-links button{min-height:40px}.is-jobs #craft-detail>.craft-actions{padding-bottom:16px;border-bottom:1px solid var(--border);gap:8px}.is-jobs #craft-rows td{overflow-wrap:anywhere}
@media(max-width:760px){.job-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.job-summary button{padding:14px}.job-summary strong{font-size:25px}.job-detail-summary{grid-template-columns:minmax(0,1fr);gap:14px;padding:16px}.job-section-links button{flex:1 1 42%;font-size:12px}.is-jobs #craft-list table,.is-jobs #craft-list tbody,.is-jobs #craft-list tr,.is-jobs #craft-list td{display:block;width:100%;min-width:0}.is-jobs #craft-list thead{display:none}.is-jobs #craft-list table{border-collapse:separate}.is-jobs #craft-rows tr{border-top:1px solid var(--border);padding:14px 18px}.is-jobs #craft-rows td{border:0;padding:6px 0;white-space:normal}.is-jobs #craft-rows td[data-label]:not(:first-child)::before{content:attr(data-label);display:inline-block;width:64px;font-size:12px;color:var(--muted)}.is-jobs .craft-row-action button{width:100%;margin-top:8px;min-height:44px}.is-jobs #craft-list .toolbar{padding:16px;gap:12px}.is-jobs #craft-list .toolbar>input,.is-jobs #craft-list .toolbar>select,.is-jobs #craft-list .toolbar>label,.is-jobs #craft-list .toolbar>button{width:100%;min-width:0}.is-jobs #craft-list .toolbar>label select{width:100%}}

.craft-line .craft-cost-category{grid-column:1/-1}.craft-line .craft-cost-category select{width:100%;max-width:360px}

.craft-photo-edit-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}#craft-photo-editor input{width:100%}#craft-photo-delete{color:#b42318}#craft-photo-error{color:#b42318}#craft-photo-large{max-height:55dvh;object-fit:contain;transition:transform .15s}

.craft-photo-stage{display:flex;align-items:center;justify-content:center;width:min(55dvh,calc(94vw - 80px));height:min(55dvh,calc(94vw - 80px));margin:auto;overflow:hidden}#craft-photo-viewer #craft-photo-large{max-width:100%;max-height:100%;width:auto;height:auto;margin:0}

#craft-editor:not(.show-cost-categories) .craft-cost-category{display:none}

@media(max-width:1100px){.craft-line .craft-line-description{grid-column:1/-1}}

/* Keep each catalog choice next to its add action. */
@media(min-width:761px){.craft-catalog .craft-position-picker{grid-template-columns:minmax(0,1fr) auto}.craft-catalog .craft-position-picker>button:last-child{grid-column:auto}}
.offer-requests{margin-bottom:1rem}
.offer-requests details{border-top:1px solid var(--border)}
.offer-requests summary{cursor:pointer;overflow-wrap:anywhere}
.offer-requests details[open]>summary{margin-bottom:.75rem}
.offer-requests .craft-pre{overflow-wrap:anywhere}
.offer-requests [role="status"]:empty{display:none}
#offer-request-share{flex-wrap:wrap}
#offer-request-share label{flex:0 0 100%;min-width:0}
#offer-request-url{display:block;width:100%;resize:vertical;overflow-wrap:anywhere}
