/* General section workspace, using the Default.aspx beam palette. */
.gb-access { max-width:680px; margin:40px auto; padding:30px; border:1px solid #d9e1e8; border-radius:10px; background:white; font-family:'Segoe UI',Arial,sans-serif; line-height:1.6; color:#243447; }
.gb-access > img { width:80px; height:80px; object-fit:contain; float:right; margin:0 0 15px 15px; }
.gb-access h1 { font-size:25px; color:#173b5e; }
.gb-access-status { display:block; margin:12px 0; color:#607284; }
.gb-access-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin:22px 0; }
.gb-access-primary { background:#1f4e79; color:white !important; padding:10px 18px; border-radius:6px; text-decoration:none !important; }
.gb-dashboard { --gb-border:#d9e1e8; --gb-muted:#667785; --gb-accent:#0b6e99; font-family:Arial,sans-serif; color:#1f2933; background:#f5f7fa; border-radius:14px; padding:18px; margin:12px 0 24px; }
.gb-dashboard * { box-sizing:border-box; }
.gb-header { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:18px; }
.gb-eyebrow { font-size:11px; font-weight:bold; letter-spacing:1.4px; color:var(--gb-accent); }
.gb-header h1 { font-size:27px; font-weight:600; margin:7px 0; }
.gb-header h1 span { font-size:15px; font-weight:normal; color:var(--gb-muted); margin-left:8px; }
.gb-header p,.gb-output-header p { margin:0; font-size:13px; color:var(--gb-muted); }
.gb-header-actions { display:flex; align-items:center; gap:16px; white-space:nowrap; font-size:13px; }
.gb-header a { color:var(--gb-accent); }
.gb-badge { display:inline-block; padding:6px 10px; border:1px solid #d7e7ef; background:#eaf5fa; border-radius:6px; color:#0b6e99; font-size:11px; font-weight:bold; }
.gb-workspace { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:start; }
.gb-card { min-width:0; background:#fff; border:1px solid var(--gb-border); border-radius:10px; padding:16px; box-shadow:0 1px 3px #1f293314,0 8px 24px #1f29330b; }
.gb-card h2 { display:flex; align-items:center; gap:8px; margin:0 0 16px; font-size:15px; font-weight:600; }
.gb-step { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:6px; background:#eaf5fa; color:var(--gb-accent); font-size:12px; }
.gb-card h3 { display:flex; justify-content:space-between; gap:6px; align-items:center; font-size:12px; font-weight:bold; margin:18px 0 8px; padding-top:12px; border-top:1px solid var(--gb-border); }
.gb-card h3 small { font-weight:normal; font-size:10px; color:var(--gb-muted); }
.gb-field { display:grid; grid-template-columns:minmax(0,1fr) 108px; gap:8px; align-items:center; min-height:39px; border-bottom:1px solid #edf1f4; padding:4px 0; }
.gb-field label,.gb-bar-row label { font-size:12px; font-weight:normal; margin:0; }
.gb-field label small { color:var(--gb-muted); font-size:10px; white-space:nowrap; }
.gb-field:has(select) { grid-template-columns:minmax(0,1fr) minmax(108px, 53%); }
.gb-dashboard input,.gb-dashboard select { min-width:0; width:100%; height:30px; padding:4px 6px; background:#fff; border:1px solid #c3ced8; border-radius:5px; color:#1f2933; font-size:12px; }
.gb-dashboard input { text-align:right; }
.gb-dashboard input:focus,.gb-dashboard select:focus { outline:2px solid #75b5ce; outline-offset:1px; }
.gb-bar-head,.gb-bar-row { display:grid; grid-template-columns:1fr 65px 75px; gap:8px; align-items:center; padding:5px 0; }
.gb-bar-head { color:var(--gb-muted); font-size:10px; }
.gb-note { color:var(--gb-muted); font-size:11px; line-height:1.5; margin:8px 0; }
.gb-spec { background:#f3f7f9; border-radius:6px; padding:9px; margin:8px 0; color:#526572; font-size:11px; line-height:1.5; }
.gb-pill { border-radius:4px; background:#f0f4f7; padding:4px 6px; color:#667785; font-weight:normal; font-size:9px; }
.gb-buttons { display:flex; gap:8px; margin-top:16px; }
.gb-dashboard button { background:var(--gb-accent); border:1px solid var(--gb-accent); border-radius:6px; padding:8px 12px; color:#fff; font-size:12px; cursor:pointer; }
.gb-dashboard button:hover { background:#095779; }
.gb-dashboard button.gb-secondary { color:var(--gb-accent); background:white; border-color:#c3ced8; }
.gb-preview-card { position:sticky; top:65px; }
#gbSection { display:block; width:100%; height:auto; background:#f8fafc; border:1px solid #e7edf2; border-radius:8px; }
.gb-legend { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:12px 0; font-size:10px; color:var(--gb-muted); }
.gb-dot { display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:3px; }
.gb-rebar { background:#0b6e99; }.gb-tendon { background:#dd9b2b; }.gb-line { display:inline-block; width:12px; border-top:2px solid #517387; margin:0 3px 3px 0; }
.gb-section-summary { text-align:center; font-size:12px; color:#526572; margin:8px 0; }
.gb-quantities { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.gb-quantities>div { background:#f3f7f9; border:1px solid #e8eef2; padding:12px 9px; border-radius:6px; }
.gb-quantities span { display:block; font-size:10px; color:var(--gb-muted); margin-bottom:7px; }
.gb-quantities strong { display:block; font-size:15px; font-weight:600; }
.gb-errors { border:1px solid #efc4a5; border-radius:6px; padding:10px; background:#fff5eb; color:#8a4513; font-size:11px; line-height:1.5; }
.gb-errors ul { padding-left:16px; margin:0; }
.gb-output { margin-top:0; }
.gb-workspace > .gb-output .gb-output-header { display:block; }
.gb-workspace > .gb-output .gb-output-header button { margin-top:10px; width:100%; }
.gb-workspace > .gb-output .gb-report-fields { grid-template-columns:1fr; gap:0; }
.gb-workspace > .gb-output .gb-result-grid { grid-template-columns:1fr; gap:16px; }
.gb-workspace > .gb-output .gb-result-grid article { padding:0 0 14px; border:0; border-bottom:1px solid var(--gb-border); border-radius:0; background:transparent; }
.gb-workspace > .gb-output .gb-result-grid dl { grid-template-columns:minmax(0,1fr) minmax(0,46%); gap:9px 6px; }
.gb-workspace > .gb-output .gb-result-grid dd { max-width:none; }
.gb-output-header { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; }
.gb-output-header h2 { margin-bottom:6px; }
.gb-result-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.gb-result-grid article { border:1px solid var(--gb-border); border-radius:8px; padding:12px; background:#fbfcfd; }
.gb-result-grid h3 { margin:0 0 12px; border:0; padding:0; }
.gb-result-grid dl { display:grid; grid-template-columns:1fr auto; gap:10px 6px; font-size:11px; margin:0 0 14px; }
.gb-result-grid dt { color:#667785; font-weight:normal; }.gb-result-grid dd { margin:0; font-weight:bold; }
.gb-pending { color:#7c8792; border-top:1px solid #e6ebef; display:block; padding-top:9px; font-size:10px; }
.gb-dashboard [hidden] { display:none !important; }
.gb-pass { color:#1f684b !important; }.gb-fail { color:#a13e2f !important; }
.gb-result-grid dd { max-width:150px; text-align:right; overflow-wrap:anywhere; }
.gb-calcs { margin-top:16px; border-top:1px solid var(--gb-border); padding-top:12px; }
.gb-calcs summary { cursor:pointer; color:var(--gb-accent); font-size:13px; font-weight:bold; }
.gb-report-options { margin:0 0 16px; font-size:12px; }
.gb-report-options summary { color:var(--gb-accent); cursor:pointer; }
.gb-report-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.gb-report-fields input { text-align:left; }
#gbReport { display:block; max-width:1100px; margin:24px auto 0; font-family:'Segoe UI',Arial,sans-serif; color:#243447; font-size:13px; line-height:1.45; }
#gbReport .gb-report-header { display:grid; grid-template-columns:86px 1fr auto; gap:14px; align-items:center; margin-bottom:22px; padding-bottom:14px; border-bottom:2px solid var(--gb-report-primary, #1f4e79); break-inside:avoid; }
#gbReport .gb-report-logo { width:77px; height:77px; object-fit:contain; }
#gbReport h1 { color:var(--gb-report-secondary, #173b5e); font-size:23px; margin:2px 0; font-weight:650; }
#gbReport .gb-report-brand { color:var(--gb-report-primary, #1f4e79); font-weight:700; margin:0 0 2px; }
#gbReport .gb-report-powered { font-size:10px; font-weight:400; color:#778796; margin-left:5px; }
#gbReport .gb-report-subtitle { color:#667788; font-size:12px; margin:4px 0 0; }
#gbReport .gb-report-meta { text-align:right; color:#607284; font-size:11px; max-width:220px; overflow-wrap:anywhere; }
#gbReport .gb-report-meta p { margin:0 0 4px; }
#gbReport .gb-report-meta-label { font-weight:700; }
#gbReport .gb-report-section { border:1px solid #d8e0e8; border-radius:8px; margin:0 0 22px; background:#fff; }
#gbReport .gb-report-section > h2 { display:block; padding:11px 16px; margin:0 0 12px; border-radius:7px 7px 0 0; background:var(--gb-report-primary, #1f4e79); color:white; font-size:16px; font-weight:650; break-after:avoid; }
#gbReport .gb-report-section > p { margin:12px 16px; overflow-wrap:anywhere; }
#gbReport .gb-report-status { font-weight:700; }
#gbReport .gb-report-section > .gb-errors { margin:16px; }
#gbReport .gb-result-grid { grid-template-columns:1fr 1fr; margin:16px; }
#gbReport .gb-result-grid article { break-inside:avoid; }
#gbReport .gb-result-grid h3 { color:var(--gb-report-secondary, #173b5e); font-size:13px; }
#gbReport .gb-result-grid dd { max-width:none; }
#gbReport table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:12px; }
#gbReport th,#gbReport td { vertical-align:top; border-bottom:1px solid #e3e9ef; padding:9px 12px; line-height:1.5; overflow-wrap:anywhere; }
#gbReport tbody th { width:32%; font-weight:500; color:#34495e; text-align:left; }
#gbReport thead th { background:#f1f4f7; color:var(--gb-report-secondary, #173b5e); text-align:left; font-weight:650; }
#gbReport thead th:first-child { width:32%; }
#gbReport tbody tr:nth-child(even) { background:#f8fafc; }
#gbReport tr:last-child th,#gbReport tr:last-child td { border-bottom:0; }
#gbReport tr { break-inside:avoid; }
#gbReport .gb-report-drawing { display:block; width:100%; max-width:480px; max-height:350px; margin:8px auto; }
#gbReport .gb-report-note { color:#607284; font-size:11px; }
#gbReport .gb-report-footer { display:flex; justify-content:space-between; gap:12px; border-top:2px solid var(--gb-report-primary, #1f4e79); padding:12px 0; font-size:11px; color:#607284; }
#gbReport .gb-report-footer p { margin:0; }
#gbReport .gb-report-footer a { color:var(--gb-report-primary, #1f4e79); }
@media(max-width:760px) {
    .gb-report-fields { grid-template-columns:1fr; gap:4px; }
    #gbReport .gb-report-header { grid-template-columns:64px 1fr; }
    #gbReport .gb-report-logo { width:58px; height:58px; }
    #gbReport h1 { font-size:19px; }
    #gbReport .gb-report-meta { grid-column:1/-1; text-align:left; }
    #gbReport .gb-result-grid { grid-template-columns:1fr; }
}
@media(min-width:1700px) { .gb-dashboard { max-width:1650px; margin-left:auto; margin-right:auto; } }
@media(max-width:1250px) { .gb-workspace { grid-template-columns:1fr 1fr; }.gb-preview-card { position:static; }#gbSection { max-width:560px; margin:auto; }.gb-result-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:700px) { .gb-dashboard { padding:10px; }.gb-workspace { grid-template-columns:1fr; }.gb-preview-card { grid-column:auto; }.gb-header,.gb-output-header { align-items:flex-start; flex-direction:column; }.gb-result-grid { grid-template-columns:1fr; }.gb-header h1 { font-size:23px; } }

.gb-layer-title { font-size:12px; margin:14px 0 6px; font-weight:600; }
.gb-layer-head,.gb-layer-row { display:grid; grid-template-columns:minmax(44px,1fr) 49px 55px 65px; gap:6px; align-items:center; padding:4px 0; }
.gb-layer-head,.gb-layer-cover { color:var(--gb-muted); font-size:10px; }
.gb-layer-row label { font-size:11px; margin:0; font-weight:normal; }
.gb-layer-cover { text-align:center; }
.gb-layer-actions { display:flex; gap:6px; margin:6px 0 10px; }
.gb-layer-actions button { font-size:11px; padding:5px 8px; }
@media print { .gb-layer-actions { display:none; } }

/* The report remains on GeneralBeam; print only its ancestor path and content. */
@media print {
    @page { size:A4 portrait; margin:14mm 12mm; }
    body { margin:0 !important; padding:0 !important; background:white !important; }
    body *:not([data-gb-print-path]):not(#gbReport):not(#gbReport *) { display:none !important; }
    [data-gb-print-path] { display:block !important; position:static !important; float:none !important; width:auto !important; max-width:none !important; min-height:0 !important; height:auto !important; margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important; overflow:visible !important; background:white !important; }
    #gbReport { display:block !important; margin:0; max-width:none; font-size:11px; }
    #gbReport .gb-report-header { grid-template-columns:70px 1fr auto; }
    #gbReport .gb-report-meta { grid-column:auto; text-align:right; }
    #gbReport .gb-report-logo { width:62px; height:62px; }
    #gbReport h1 { font-size:20px; }
    #gbReport .gb-report-section { border-radius:0; }
    #gbReport .gb-report-section > h2 { font-size:13px; padding:8px 12px; border-radius:0; }
    #gbReport .gb-report-section > h2 { color:white !important; background:var(--gb-report-primary, #1f4e79) !important; }
    #gbReport .gb-report-brand { color:var(--gb-report-primary, #1f4e79) !important; }
    #gbReport h1,#gbReport .gb-result-grid h3 { color:var(--gb-report-secondary, #173b5e) !important; }
    #gbReport thead th { color:var(--gb-report-secondary, #173b5e) !important; background:#f1f4f7 !important; }
    #gbReport tbody tr:nth-child(even) th,#gbReport tbody tr:nth-child(even) td { background:#f8fafc !important; }
    #gbReport a:after { content:none !important; }
    #gbReport .gb-result-grid { grid-template-columns:1fr 1fr; }
    #gbReport .gb-result-grid dl { font-size:10px; }
    #gbReport table { font-size:10.5px; }
    #gbReport th,#gbReport td { padding:6px 9px; }
    #gbReport thead { display:table-header-group; }
    #gbReport .gb-report-section:has(.gb-report-drawing) { break-before:page; break-inside:avoid; }
    #gbReport .gb-report-header,#gbReport .gb-report-footer { break-inside:avoid; }
    #gbReport * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}

/* General Beam shares the master's fixed navbar, like Beam Capacity. */
.gb-navbar-container { display:flex; align-items:center; flex-wrap:nowrap; }
.gb-navbar-container > .navbar-brand,.gb-navbar-container > #sidebarToggle,.gb-navbar-container > .navbar-right { flex:0 0 auto; }
.gb-navbar-container > .navbar-right { margin-left:auto; }
.gb-navigation { display:flex; flex:1 1 auto; min-width:0; overflow-x:auto; align-items:center; gap:4px; }
.gb-navigation a,.gb-navigation button { display:block; flex:0 0 auto; padding:0 10px; height:50px; line-height:50px; border:0; background:transparent; color:#ffcd00; font:inherit; white-space:nowrap; text-decoration:none; cursor:pointer; }
.gb-navigation a { font-size:20px; }
.gb-navigation button:hover,.gb-navigation a:hover { background:rgba(255,255,255,.08); color:#ffcd00; text-decoration:none; }
.gb-section-status { margin-bottom:16px; }
.gb-report-dialog { width:calc(100% - 32px); max-width:1160px; max-height:90vh; padding:0 24px 24px; border:1px solid #d8e0e8; border-radius:10px; background:white; color:#243447; box-shadow:0 16px 60px #0005; }
.gb-report-dialog:not([open]) { display:none; }
.gb-report-dialog::backdrop { background:rgba(17,24,39,.65); }
.gb-dialog-toolbar { position:sticky; top:0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; background:white; border-bottom:1px solid #d8e0e8; z-index:1; }
.gb-dialog-toolbar h2 { font-size:18px; margin:0; }
.gb-dialog-toolbar > div { display:flex; gap:8px; }
@media(max-width:700px) { .gb-report-dialog { padding:0 12px 12px; }.gb-dialog-toolbar { flex-wrap:wrap; }.gb-navigation a { font-size:16px; } }
@media print { .gb-report-dialog::backdrop { display:none; } }

.gb-navigation .gb-verification-link { font-size:inherit; }

.gb-navigation a,.gb-navigation button { line-height:50px; }

.gb-preview-notice { margin-bottom:20px; padding:16px 20px; border:1px solid #d8e0e8; border-left:4px solid #e2aa00; border-radius:8px; background:#fffaf0; }
.gb-preview-notice h2 { margin:0 0 8px; font-size:18px; }
.gb-preview-notice p { margin:0 0 10px; }
.gb-preview-notice a { font-weight:600; }
.gb-field input:disabled { background:#eef1f5; color:#526173; cursor:not-allowed; opacity:1; }
