/* Proposal media, reusable room picker, and standard custom-pricing rail. */
.time-materials-page .tm-area-dialog select,
.time-materials-page .tm-area-dialog input {
  width: 100%;
  min-height: 46px;
  padding: 0 12px;
  color: #f7fafc;
  background: #071018;
  border: 1px solid #526777;
  border-radius: 7px;
  color-scheme: dark;
  font: inherit;
  font-size: 15px;
}
.time-materials-page .tm-area-dialog select:focus,
.time-materials-page .tm-area-dialog input:focus {
  border-color: #f58216!important;
  outline: 2px solid rgba(245,130,22,.26)!important;
  outline-offset: 1px;
}
.time-materials-page .tm-area-dialog [data-tm-custom-area-row] { margin-top: 12px; }
.time-materials-page .tm-area-dialog [data-tm-custom-area-row][hidden] { display: none!important; }
.time-materials-page .tm-area-save-help {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 0;
  color: #9fb1c2;
  font-size: 12px;
}
.time-materials-page .tm-area-save-help svg { width: 16px; color: #f58216; }

.painting-template-shared-layout {
  display: grid!important;
  grid-template-columns: minmax(0,1fr) minmax(300px,340px)!important;
  gap: 16px!important;
  align-items: start;
  padding: 16px!important;
}
.painting-template-shared-layout > main { min-width: 0; }
.painting-template-shared-layout .painting-scope-template-shell {
  width: 100%;
  max-width: 940px;
  margin: 0 auto;
  padding-top: 0;
}
.painting-template-shared-layout.summary-collapsed { grid-template-columns: minmax(0,1fr) 64px!important; }

.painting-template-card-footer {
  grid-template-columns: 1fr!important;
}
.painting-template-card-footer .painting-template-attachments { display:none!important; }
.painting-template-card-footer details { padding-left:0!important; }
.painting-template-project-showcase {
  width: 100%;
  max-width: 940px;
  margin: 18px auto 0;
}
.painting-template-project-showcase .proposal-media-workspace { margin:0; }

.proposal-calculator-launch {
  width:100%;
  min-height:54px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  color:#f7fafc;
  text-align:left;
  background:#0b1822;
  border:1px solid #8f4c18;
  border-radius:8px;
  cursor:pointer;
}
.proposal-calculator-launch>svg:first-child { width:21px; height:21px; color:#f58216; }
.proposal-calculator-launch>svg:last-child { width:17px; color:#8fa4b5; }
.proposal-calculator-launch span { display:grid; gap:2px; }
.proposal-calculator-launch strong { font-size:14px; }
.proposal-calculator-launch small { color:#9fb1c2; font-size:11px; }
.proposal-calculator-launch:hover,
.proposal-calculator-launch:focus-visible { border-color:#f58216; background:#17130f; outline:2px solid rgba(245,130,22,.22); outline-offset:1px; }

.proposal-calculator-backdrop {
  position:fixed;
  inset:0;
  z-index:13000;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(1,5,9,.84);
  backdrop-filter:blur(3px);
}
.proposal-calculator-dialog {
  width:min(390px,100%);
  max-height:calc(100vh - 36px);
  overflow:auto;
  color:#f7fafc;
  background:#09151f;
  border:1px solid #40586b;
  border-radius:12px;
  box-shadow:0 28px 80px rgba(0,0,0,.72);
}
.proposal-calculator-dialog>header {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:start;
  gap:12px;
  padding:18px;
  border-bottom:1px solid #294052;
}
.proposal-calculator-dialog>header>span { display:grid; place-items:center; width:42px; height:42px; color:#f58216; border:1px solid #f58216; border-radius:9px; }
.proposal-calculator-dialog>header small { color:#f58216; font-size:11px; font-weight:800; text-transform:none; }
.proposal-calculator-dialog h2 { margin:2px 0; font-size:24px; }
.proposal-calculator-dialog>header p { margin:0; color:#9fb1c2; font-size:12px; }
.proposal-calculator-dialog>header button { display:grid; place-items:center; width:36px; height:36px; color:#fff; background:#111e29; border:1px solid #40586b; border-radius:7px; cursor:pointer; }
.proposal-calculator-display { display:grid; gap:5px; margin:16px 16px 8px; padding:14px; text-align:right; background:#050d14; border:1px solid #40586b; border-radius:8px; }
.proposal-calculator-display small { color:#9fb1c2; font-size:11px; }
.proposal-calculator-display output { min-height:35px; overflow-wrap:anywhere; color:#fff; font-size:28px; font-weight:800; font-variant-numeric:tabular-nums; }
.proposal-calculator-tools { display:flex; justify-content:space-between; gap:8px; padding:0 16px 8px; }
.proposal-calculator-tools button { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:0 10px; color:#cbd6df; background:transparent; border:0; border-radius:6px; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.proposal-calculator-tools button:hover { color:#f58216; background:#111e29; }
.proposal-calculator-tools svg { width:16px; }
.proposal-calculator-keys { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:8px 16px 16px; }
.proposal-calculator-keys button { min-height:52px; color:#fff; background:#111e29; border:1px solid #40586b; border-radius:8px; font:inherit; font-size:19px; font-weight:800; cursor:pointer; }
.proposal-calculator-keys button:hover,.proposal-calculator-keys button:focus-visible { border-color:#f58216; background:#17130f; outline:2px solid rgba(245,130,22,.2); }
.proposal-calculator-keys .operator { color:#f58216; }
.proposal-calculator-keys .equals { color:#071018; background:#f58216; border-color:#f58216; }
.proposal-calculator-history { margin:0 16px; padding:12px; background:#071018; border:1px solid #294052; border-radius:8px; }
.proposal-calculator-history>header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.proposal-calculator-history>header strong { font-size:12px; }
.proposal-calculator-history>header button { color:#f58216; background:none; border:0; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.proposal-calculator-history p { margin:8px 0 0; color:#8297a8; font-size:12px; }
.proposal-calculator-history ol { display:grid; gap:6px; margin:9px 0 0; padding:0; list-style:none; }
.proposal-calculator-history li { display:flex; justify-content:space-between; gap:12px; color:#9fb1c2; font-size:12px; font-variant-numeric:tabular-nums; }
.proposal-calculator-history li strong { color:#fff; }
.proposal-calculator-dialog>footer { display:flex; justify-content:flex-end; padding:14px 16px 16px; }
.proposal-calculator-dialog>footer button { min-width:110px; min-height:44px; }

.proposal-media-video,
.proposal-media-empty-video {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 14px;
  color: #f4f7fa;
  background: #111e29;
  border: 1px solid #8f4c18;
  border-radius: 9px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.proposal-media-video:hover,
.proposal-media-video:focus-visible,
.proposal-media-empty-video:hover,
.proposal-media-empty-video:focus-visible {
  color: #071018;
  background: #f58216;
  border-color: #f58216;
  outline: 2px solid rgba(245,130,22,.25);
  outline-offset: 2px;
}
.proposal-media-video svg,.proposal-media-empty-video svg { width: 18px; }
.proposal-media-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.proposal-media-video-link {
  width: 100%;
  min-height: 190px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  color: #fff;
  text-decoration: none;
  background: radial-gradient(circle at 50% 20%,rgba(245,130,22,.18),transparent 55%),#070f16;
}
.proposal-media-video-link svg { width: 48px; height: 48px; color: #f58216; }
.proposal-media-video-link small { color: #9fb1c2; }
.proposal-video-thumb a { min-height: 100px; display:grid; place-items:center; align-content:center; gap:6px; color:#fff; text-decoration:none; background:#071018; }
.proposal-video-thumb a svg { width:34px; color:#f58216; }

.proposal-video-link-dialog {
  width: min(520px,calc(100vw - 28px));
  padding: 0;
  color: #f4f7fa;
  background: #09151f;
  border: 1px solid #40586b;
  border-radius: 12px;
  box-shadow: 0 28px 80px rgba(0,0,0,.7);
}
.proposal-video-link-dialog::backdrop { background: rgba(1,5,9,.82); backdrop-filter: blur(3px); }
.proposal-video-link-dialog form { display:grid; gap:14px; padding:18px; }
.proposal-video-link-dialog header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:start; }
.proposal-video-link-dialog header>span { display:grid; place-items:center; width:42px; height:42px; color:#f58216; border:1px solid #f58216; border-radius:50%; }
.proposal-video-link-dialog header small { color:#f58216; font-size:11px; font-weight:800; }
.proposal-video-link-dialog h2 { margin:2px 0; font-size:22px; }
.proposal-video-link-dialog header p { margin:0; color:#9fb1c2; font-size:13px; }
.proposal-video-link-dialog header button { display:grid; place-items:center; width:36px; height:36px; color:#fff; background:#111e29; border:1px solid #40586b; border-radius:7px; }
.proposal-video-link-dialog label:not(.proposal-video-visible) { display:grid; gap:6px; color:#cbd6df; font-size:12px; font-weight:800; }
.proposal-video-link-dialog input[type="text"],.proposal-video-link-dialog input[type="url"],.proposal-video-link-dialog input:not([type]) { min-height:46px; padding:0 12px; color:#fff; background:#050d14; border:1px solid #40586b; border-radius:7px; font:inherit; }
.proposal-video-link-dialog input:focus { border-color:#f58216; outline:2px solid rgba(245,130,22,.24); }
.proposal-video-visible { display:flex; align-items:center; gap:8px; color:#d6e0e7; font-size:13px; }
.proposal-video-visible input { accent-color:#f58216; }
.proposal-video-link-dialog footer { display:flex; justify-content:flex-end; gap:8px; }
.proposal-video-link-dialog footer button { min-height:44px; padding:0 16px; border-radius:8px; font:inherit; font-weight:800; }

.cx-video-card { display:grid; place-items:center; align-content:center; color:#fff; text-decoration:none; border:1px solid #315064; background:radial-gradient(circle at 50% 20%,rgba(245,130,22,.18),transparent 58%),#08121a; }
.cx-video-card .cx-video-icon { position:static; display:grid; place-items:center; padding:0; background:none; }
.cx-video-card .cx-video-icon svg { width:48px; height:48px; color:#f58216; }

@media (max-width: 980px) {
  .painting-template-shared-layout,
  .painting-template-shared-layout.summary-collapsed { grid-template-columns:minmax(0,1fr)!important; padding:10px!important; }
}
@media (max-width: 720px) {
  .painting-shared-estimate-top .painting-service-header-actions,
  .painting-header-service-controls { min-width:0!important; width:100%!important; }
  .painting-header-add-service { width:100%!important; max-width:100%!important; min-width:0!important; white-space:normal!important; }
  .proposal-media-workspace>header { grid-template-columns:auto minmax(0,1fr); }
  .proposal-media-header-actions { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .proposal-media-save { grid-column:1/-1; }
  .proposal-media-video,.proposal-media-upload { padding:0 10px; font-size:12px; }
  .painting-template-shared-layout { padding:8px 6px 110px!important; }
  .painting-template-shared-layout .painting-scope-template-shell { width:100%; }
  .proposal-video-link-dialog footer { display:grid; grid-template-columns:1fr 1fr; }
  .proposal-calculator-backdrop { align-items:end; padding:10px; }
  .proposal-calculator-dialog { width:100%; max-height:calc(100vh - 20px); }
}
