/* Shared project selector: Pricing and the drawing flow use the same surfaces. */
body.pricing-page { background:#f5f5f7; }
body .job-type-layout#vue-pricing-app { gap:12px;align-items:stretch;margin-top:0; }
body .job-type-layout#vue-pricing-app .pricing-menu-wrapper { flex:0 0 220px;width:220px;padding:24px 2px 24px 20px;background:#fff;border:1px solid #e5e5ea;border-radius:14px; }
body .job-type-layout#vue-pricing-app .dashboard-menu-wrapper { width:100%;height:auto;padding:0 !important;overflow:visible; }
body .job-type-layout#vue-pricing-app .dashboard-menu-item { width:100%;min-height:48px;padding:13px 10px;margin:0 0 7px;border:0;border-radius:8px;background:transparent;color:#6e6e73;font-size:12px;line-height:1.35;text-align:left; }
body .job-type-layout#vue-pricing-app .dashboard-menu-item p { margin:0;font-size:inherit;line-height:inherit; }
body .job-type-layout#vue-pricing-app .dashboard-category-item-active { background:#f5f5f7;color:#1d1d1f;font-weight:600; }
body .job-type-layout#vue-pricing-app .dashboard-menu-item-active:not(.dashboard-category-item-active) { background:#faf2bd;color:#1d1d1f;font-weight:600; }
body .job-type-layout#vue-pricing-app .pricing-dashboard-content-parent { background:#fff;border:1px solid #e5e5ea;border-radius:14px;min-width:0;padding:16px; }
body .job-type-layout#vue-pricing-app .pricing-dashboard-content-wrapper { height:auto;padding:0;overflow:visible; }
body .job-type-layout#vue-pricing-app .associated-choice { width:100%;max-width:none;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;font-size:14px;line-height:1.45; }
body .job-type-layout#vue-pricing-app .confirmation-card { gap:8px 12px; }
body .job-type-layout#vue-pricing-app .confirmation-card__title { font-size:18px;line-height:1.3;letter-spacing:-.3px; }
body .job-type-layout#vue-pricing-app .mb-br { margin-bottom:10px; }
body .job-type-layout#vue-pricing-app :is(.btn,.login-btn) { min-height:34px;padding:8px 18px;margin:0;border:0;border-radius:100px;background:#f7d72b;color:#1d1d1f;font-size:13px;line-height:1.3; }
body .job-type-layout#vue-pricing-app td { padding:8px 10px; }
/* Keep the breadcrumb outside the two independently scrolling job-type panels. */
body.account-page .drawing-flow .breadcrumb-wrapper { position:sticky;top:64px;z-index:30;padding:5px 8px;margin:0 0 8px;background:#fff;border-radius:12px; }
body.account-page .drawing-flow .breadcrumb { gap:4px; }
body.account-page .drawing-flow .breadcrumb-item { padding:5px 8px; }
body.account-page .drawing-flow .upload-info { padding:16px;margin:8px 0;border-radius:14px; }
body.account-page .drawing-flow .upload-info__title { font-size:17px; }
body.account-page .drawing-flow :is(.mb-4,.mb-br) { margin-bottom:10px !important; }
body.account-page .drawing-flow :is(.mt-4,.mt-6) { margin-top:12px !important; }
body.account-page .drawing-flow #vue-pricing-app { height:calc(100dvh - 148px) !important;min-height:260px;overflow:hidden; }
body.account-page .drawing-flow #vue-pricing-app > :is(.pricing-menu-wrapper,.pricing-dashboard-content-parent) { height:100% !important;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:auto;scrollbar-gutter:stable;scrollbar-width:thin; }
@media(max-width:768px) {
 body .job-type-layout#vue-pricing-app { flex-direction:column; }
 body .job-type-layout#vue-pricing-app .pricing-menu-wrapper { flex:none;width:100%;position:static;transform:none; }
 body .job-type-layout#vue-pricing-app .pricing-menu-wrapper.hidden { display:none !important; }
 body .job-type-layout#vue-pricing-app .pricing-dashboard-content-parent { display:none;position:static;transform:none;width:100%; }
 body .job-type-layout#vue-pricing-app .pricing-dashboard-content-parent.visible { display:block; }
 body.account-page .drawing-flow .breadcrumb-item { padding:5px 3px; }
 body.account-page .drawing-flow #vue-pricing-app { height:calc(100dvh - 140px) !important; }
}
body .job-type-layout#vue-pricing-app .job-category-gap { display:none; }
body.account-page .drawing-flow #vue-pricing-app { margin-top:0; }
body .job-type-layout#vue-pricing-app > [tabindex]:focus-visible { outline:2px solid #0066cc;outline-offset:-2px; }
body .job-type-layout#vue-pricing-app .dashboard-menu-item { font-size:14px; }
/* Align workspace edges with the shared header wordmark on every breakpoint. */
body.pricing-page #pricing-app,
body.dashboard-page .main-body-wrapper,
body.estimate-detail-page .main-body-wrapper { width:calc(100% - 80px);max-width:1200px;margin-inline:auto; }
@media(max-width:950px) {
 body.pricing-page #pricing-app,
 body.dashboard-page .main-body-wrapper,
 body.estimate-detail-page .main-body-wrapper { width:calc(100% - 40px); }
}
/* Use the pricing sidebar surface and spacing when changing workspaces. */
body.dashboard-page .account-workspace { gap:12px;background:#f5f5f7; }
body.dashboard-page .account-sidebar,
body.estimate-detail-page .pricing-menu-wrapper:not(.sidebar-collapsed) { flex:0 0 220px;width:220px;padding:8px;background:#fff;border:1px solid #e5e5ea;border-radius:14px;box-shadow:none; }
body.dashboard-page .account-sidebar .dashboard-card-grid,
body.estimate-detail-page #sidebar-with-scroll:not(.sidebar-collapsed) { padding:0 !important; }
body.dashboard-page .account-sidebar :is(.dashboard-menu-item,.dashboard-service-card),
body.estimate-detail-page #sidebar-with-scroll:not(.sidebar-collapsed) .dashboard-menu-item { color:#6e6e73; }
body.dashboard-page .account-sidebar :is(.service-card-active,.dashboard-menu-item-active,.dashboard-category-item-active),
body.estimate-detail-page #sidebar-with-scroll:not(.sidebar-collapsed) :is(.dashboard-menu-item-active,.dashboard-category-item-active) { color:#1d1d1f; }
body.estimate-detail-page #sidebar-with-scroll:not(.sidebar-collapsed) .dashboard-menu-item.bg-direct2 { color:#fff; }
@media(max-width:768px) {
 body.dashboard-page .account-sidebar,
 body.estimate-detail-page .pricing-menu-wrapper:not(.sidebar-collapsed) { width:100%;flex-basis:auto; }
}
/* Keep inactive navigation readable across all workspace selectors. */
body .job-type-layout#vue-pricing-app .dashboard-menu-item:not(.dashboard-menu-item-active):not(.dashboard-category-item-active),
body.dashboard-page .account-sidebar :is(.dashboard-menu-item,.dashboard-service-card):not(.service-card-active):not(.dashboard-menu-item-active):not(.dashboard-category-item-active),
body.estimate-detail-page #sidebar-with-scroll .dashboard-menu-item:not(.dashboard-menu-item-active):not(.dashboard-category-item-active):not(.bg-direct2) { color:#3b3b3d; }
/* Allow the longer estimate labels and count badges to fit on one line. */
@media(min-width:769px) {
 body.estimate-detail-page .pricing-menu-wrapper:not(.sidebar-collapsed) { width:250px;flex-basis:250px; }
}

/* All sample documents use the same compact shell as Pricing. */
body.sample-detail-page { background:#f5f5f7; }
body.sample-detail-page .main-body-wrapper { width:calc(100% - 80px);max-width:1200px;padding:0 0 24px;margin-inline:auto; }
body.sample-detail-page .sample-detail-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 0; }
body.sample-detail-page .sample-detail-heading h1 { margin:0;font-size:20px;line-height:1.3;letter-spacing:-.3px;color:#1d1d1f; }
body.sample-detail-page .sample-detail-heading .text-link { flex-shrink:0;font-size:13px; }
body.sample-detail-page #sample-detail-app { gap:12px;align-items:stretch; }
body.sample-detail-page .sample-detail-menu-wrapper { display:flex;flex-direction:column;flex:0 0 245px;width:245px;padding:24px 2px 24px 20px;background:#1d1d1f;color:#d0d6d1;border:0;border-radius:0; }
body.sample-detail-page .dashboard-menu-wrapper { width:100%;height:auto;padding:0;overflow:visible;background:transparent; }
body.sample-detail-page .dashboard-menu-wrapper img { display:block;width:100%;height:auto;margin-bottom:8px; }
body.sample-detail-page .dashboard-menu-item { width:100%;min-height:48px;padding:13px 10px;margin:0 0 7px;border:0;border-radius:8px;background:transparent;color:#d0d6d1;font-size:14px;font-weight:500;line-height:1.35;text-align:left;white-space:normal;cursor:pointer; }
body.sample-detail-page .dashboard-menu-item p { margin:0;font-size:inherit;line-height:inherit; }
body.sample-detail-page .dashboard-menu-item:hover { background:#333333;color:#fff; }
body.sample-detail-page .dashboard-menu-item-active,
body.sample-detail-page .dashboard-menu-item-active:hover { background:#ffcf32;color:#202b25;font-weight:700; }
body.sample-detail-page .dashboard-menu-item:focus-visible { outline:2px solid #0066cc;outline-offset:-2px; }
body.sample-detail-page .pdf-viewer-wrapper { min-width:0;max-width:none;height:calc(100dvh - 145px);min-height:400px;padding:16px;background:#fff;border:1px solid #e5e5ea;border-radius:14px; }
body.sample-detail-page .pdf-viewer-container { padding:0;border-radius:0; }
@media(max-width:950px) {
 body.sample-detail-page .main-body-wrapper { width:calc(100% - 40px); }
}
@media(max-width:768px) {
 body.sample-detail-page .sample-detail-heading { align-items:flex-start;flex-direction:column;gap:6px; }
 body.sample-detail-page .sample-detail-menu-wrapper { flex:none;width:100%; }
 body.sample-detail-page .dashboard-menu-wrapper img { max-width:250px; }
 body.sample-detail-page .pdf-viewer-wrapper { width:100%;padding:12px; }
}

/* Compact shared drawing/report controls on every sample detail page. */
body.sample-detail-page .sample-document-toolbar { display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:34px;padding:2px 0 4px;flex-shrink:0; }
body.sample-detail-page .sample-zoom-controls { display:flex;align-items:center;gap:4px; }
body.sample-detail-page .sample-document-toolbar .pdf-control-btn { display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:0;padding:3px;margin:0;border-radius:6px;line-height:1; }
body.sample-detail-page .sample-document-toolbar .v-icon { font-size:18px;width:18px;height:18px; }
body.sample-detail-page .sample-download-button { display:inline-flex;align-items:center;gap:4px;padding:4px 8px;min-height:28px;border:0;background:transparent;font-size:12px;line-height:1.2; }
body.sample-detail-page .sample-document-toolbar button:disabled { opacity:.4;cursor:default; }
body.sample-detail-page .sample-document-toolbar button:focus-visible { outline:2px solid #0066cc;outline-offset:2px; }

/* Keep the pricing breakdown tight, including its divider rows. */
body .job-type-layout#vue-pricing-app .pricing-calculation-table td { height:auto;padding:4px 0;line-height:1.35; }
body .job-type-layout#vue-pricing-app .pricing-calculation-table td[colspan] { padding:3px 0; }
body .job-type-layout#vue-pricing-app .pricing-calculation-table td hr { margin:2px 0 !important; }

/* Public document and pricing rails share the homepage shell. */
.public-workspace-brand { display:block;flex:none;padding:0;color:#ffcf32;font-size:24px;font-weight:500;line-height:1.5;letter-spacing:0;text-decoration:none;white-space:nowrap; }
.public-workspace-brand span { color:#ffcf32; }
.public-workspace-caption { flex:none;margin:10px 0 30px;color:#c5cdc6;font-size:10px;font-weight:600;line-height:1.6;letter-spacing:2px;text-transform:uppercase; }
body.sample-detail-page .sample-detail-menu-wrapper .dashboard-menu-wrapper { flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#607066 transparent; }
@media(min-width:769px) {
 html body.pricing-page { padding-left:230px; }
 html body.sample-detail-page { padding-left:245px; }
 html body:is(.pricing-page,.sample-detail-page) .site-header .wordmark { display:none; }
 body.sample-detail-page .sample-detail-menu-wrapper { position:fixed;inset:0 auto 0 0;z-index:110;height:100dvh !important;overflow:hidden; }
}
@media(max-width:768px) {
 body.sample-detail-page .sample-detail-menu-wrapper { max-height:65dvh;overflow:hidden; }
}
