/* Operational pages share the cloud shell, controls, typography and tenant context. */
.viewer{font-family:var(--font-sans);color:var(--text-primary);width:100%;max-width:none;margin:0;padding-bottom:16px;font-size:13px}
.viewer .bayplan-picker{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:3px;margin-bottom:18px}
.bayplan-picker label{margin:0;font-size:13px;flex-shrink:0}.bayplan-picker select{width:min(620px,70%);font-size:13px}.bayplan-picker #vessel{margin-left:auto;white-space:nowrap;color:#64748b;font-size:12px}
#status{font-size:13px;line-height:1.5;color:#0f766e;margin:0 0 14px;white-space:pre-wrap}#status:empty{display:none}
.viewer #workspace,.viewer #library{padding:20px;background:white;border:1px solid #e2e8f0;border-radius:3px;min-width:0}
.viewer-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.viewer-toolbar input{width:260px;margin-right:auto;font-size:13px}.viewer button,.viewer-dialog button{font-size:13px;min-height:32px;box-shadow:none}.viewer button.primary,.viewer-dialog button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:white}
.viewer-toolbar #filters{background:#0f766e;border-color:#0f766e;color:white}#summary{font-size:13px;color:#475569;padding:16px 0}#active-filters:not(:empty){padding-bottom:14px}
.viewer .scroll-table{overflow:auto;max-height:65dvh;border:1px solid #d1d5db;background:white;margin:12px 0}.viewer table{width:100%;border-collapse:collapse;font-size:13px}.viewer th,.viewer td{padding:9px 12px;text-align:left;border-bottom:1px solid #e2e8f0;white-space:nowrap}.viewer th{background:#f1f5f9;color:#475569;font-weight:600;position:sticky;top:0}.viewer tbody tr:last-child td{border-bottom:0}.viewer td button{border:0;background:transparent;color:#0f766e;text-align:left;padding:2px 0;min-height:24px;font-weight:500}.viewer .file-actions{display:flex;align-items:center;gap:8px}.viewer .file-actions button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:4px}.viewer td button:hover{color:#0b4f4b;background:#e7f3f1}.viewer .danger{color:#b91c1c}
.viewer .upload-area{padding:20px;background:#f5faf9;border:1px dashed #87b5ae;border-radius:3px;margin-bottom:18px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.upload-area>span{flex:1;line-height:1.6;min-width:200px}.upload-area input{width:280px;font-size:13px;background:white}.viewer .billing-note,.viewer .geometry-note{color:#64748b;font-size:12px;line-height:1.6;margin:12px 0}.viewer-empty{padding:28px 0;color:#64748b;line-height:1.7}
.viewer .bay-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 16px}.viewer .bay-controls select{width:auto;max-width:220px;font-size:13px}.viewer .view-tools{padding-top:14px;border-top:1px solid #e2e8f0}.viewer .bay-picture{display:block;width:100%;height:55dvh;min-height:300px;background:#fafcfb;border:1px solid #e2e8f0;border-radius:3px;touch-action:pan-y}.viewer .bay-picture.zoomed,.viewer .vessel-3d{touch-action:none}.viewer .vessel-3d{cursor:grab}.viewer .vessel-3d.dragging{cursor:grabbing}.viewer .bay-picture text{font-family:Roboto,sans-serif}.viewer .interaction-help{margin:12px 0 6px;color:#64748b;font-size:12px;line-height:1.7}.viewer .colour-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:12px;padding-bottom:16px}.colour-legend>span{display:flex;align-items:center;gap:5px}.viewer .overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.viewer .overview>div{padding:12px;border:1px solid #e2e8f0}.viewer .overview svg{height:180px;min-height:0;margin-top:10px}
.viewer .recap{padding:18px;margin-bottom:20px;border:1px solid #e2e8f0;border-radius:3px}.viewer .recap-header{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.viewer .recap-header h2{font-size:16px;font-weight:500;margin:0 auto 0 0}.viewer .chart{width:100%;max-height:300px}.viewer .issue{display:block;width:100%;padding:12px;background:#fff8ed;border:1px solid #f4e3c8;margin:10px 0;text-align:left;line-height:1.6}.viewer #screen>select{width:auto;margin:0 10px 14px 0;font-size:13px}.viewer #screen>button{margin:8px 8px 0 0}.viewer .chips{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0 14px}
.viewer-dialog{width:min(760px,calc(100% - 24px));padding:24px;font-family:var(--font-sans);font-size:13px}.viewer-dialog .close-dialog{float:right;border:0;background:transparent;font-size:24px;color:#64748b;padding:0 6px}.viewer-dialog h2{font-size:18px;font-weight:500;margin-bottom:20px;padding-right:30px}.viewer-dialog p{line-height:1.6}.viewer-dialog .detail-grid,#filter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.viewer-dialog label{font-size:13px;line-height:1.5}.viewer-dialog input,.viewer-dialog select{font-size:13px;margin-top:6px}.viewer-dialog input[type=checkbox]{width:16px;min-height:16px;accent-color:#0f766e;margin:0 8px 0 0}.viewer-dialog button:not(.close-dialog){margin:6px 8px 6px 0}.viewer-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:60dvh;overflow:auto;padding:16px;background:#f8fafc}.viewer-dialog select[multiple]{min-height:110px}.viewer-dialog .export-preview{display:block;width:100%;height:auto;margin:16px 0}.viewer-dialog a{color:#0f766e;display:inline-block;padding:8px 0}.viewer-dialog form>label{margin-bottom:16px}
#viewer-nav>span{font-size:1.35rem;font-weight:500;color:#ffffffd1}
@media(max-width:720px){.viewer .bayplan-picker{padding:12px;flex-wrap:wrap;gap:8px}.bayplan-picker label{width:100%}.bayplan-picker select{width:100%}.bayplan-picker #vessel{margin-left:0}.viewer #workspace,.viewer #library{padding:14px 12px}.viewer-toolbar{gap:8px}.viewer-toolbar input{width:100%}.viewer-toolbar button{min-height:38px}.viewer .upload-area{padding:16px;gap:12px}.upload-area input{width:100%}.viewer .bay-controls{gap:8px}.viewer .bay-controls select{max-width:100%}.viewer .bay-picture{height:46dvh;min-height:280px}.viewer .recap{padding:12px}.viewer-dialog .detail-grid,#filter-fields{grid-template-columns:1fr}.viewer-dialog{padding:18px}.viewer td,.viewer th{padding:8px 10px}.viewer .scroll-table{max-height:55dvh}}
.viewer table{table-layout:auto}.viewer th,.viewer td{overflow:visible;text-overflow:clip}.viewer th{z-index:1}.viewer .vessel-3d{height:clamp(300px,48dvh,600px)}
@media(max-width:720px){.viewer-toolbar input{flex:1;width:calc(100% - 80px);min-width:150px;margin-right:0}.viewer .vessel-3d{height:250px;min-height:220px}.viewer .recap-header h2{flex-basis:100%}.viewer .recap-header{gap:8px}.viewer .recap-header button{min-height:32px}}
.viewer-pagination{display:flex;align-items:center;gap:12px;margin-top:16px;color:#64748b;font-size:13px}.viewer-pagination button{margin:0}.viewer .overview button{width:100%;text-align:left}

@media(min-width:721px){#filter-dialog{width:min(940px,calc(100% - 40px))}#filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
.viewer #library.files-library{padding:0;border:0;background:transparent}.file-upload-drop{display:flex;align-items:center;gap:16px;padding:14px 16px;margin-bottom:18px;border:1px dashed #87b5ae;background:#f5faf9;border-radius:3px}.file-upload-drop.drag-over{border-color:#0f766e;background:#e0f2ee}.file-upload-drop .primary{display:inline-flex;align-items:center;gap:8px}.file-upload-drop span{font-size:13px}.viewer .files-data-card .table-toolbar{padding:0 0 8px}.files-data-card .table-toolbar input{width:220px;font-size:13px}.viewer .files-data-card .table-scroll{height:auto;min-height:0;max-height:calc(100dvh - 330px);margin:0;border:1px solid #d1d5db}.viewer .cloud-files-table{table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:13px}.viewer .cloud-files-table th{background:#6b7280;color:white;font-weight:700;padding:6px;border-right:1px solid #d1d5db;border-bottom:1px solid #d1d5db}.viewer .cloud-files-table td{padding:3px 6px;height:25px;border-right:1px solid #d1d5db;border-bottom:0;overflow:hidden;text-overflow:ellipsis}.viewer .cloud-files-table th:last-child,.viewer .cloud-files-table td:last-child{border-right:0}.viewer .cloud-files-table th button{color:inherit;font-weight:inherit;padding:0;min-height:0;border:0;background:transparent;text-align:left}.viewer .cloud-files-table .file-actions{gap:6px}.viewer .cloud-files-table .file-actions button{width:22px;height:22px;min-height:22px;padding:3px}.viewer .files-data-card .pagination{position:static}.files-data-card .pagination select{width:auto}.viewer .files-data-card .cell-content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer .files-data-card td:first-child .cell-content{overflow:visible}
@media(max-width:720px){.file-upload-drop{flex-wrap:wrap;gap:10px;padding:12px}.files-data-card .table-toolbar input{flex:1;min-width:140px}.viewer .files-data-card .table-scroll{max-height:55dvh}.viewer .files-data-card .pagination{gap:8px}}

.viewer .cloud-files-table th,.viewer .cloud-files-table td,.viewer .files-data-card .pagination button{font-size:.78rem}

@media(min-width:721px){.viewer-dialog .detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.viewer .cloud-containers-table td:first-child .cell-content{overflow:hidden}.viewer .cloud-containers-table td button{font-size:inherit;min-height:0;padding:0;border:0;background:transparent;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}

/* Compact operational controls without nested panel frames. */
.viewer .bayplan-picker{padding:0;gap:10px;background:transparent;border:0;border-radius:0;margin-bottom:12px}
.viewer #workspace{padding:0;border:0;border-radius:0;background:transparent}
.viewer .viewer-toolbar{gap:8px;padding-bottom:0;border-bottom:0}
.viewer .bayplan-picker select,.viewer .viewer-toolbar input{min-height:32px;padding:5px 10px}
.viewer .viewer-toolbar button{min-height:32px;padding:5px 12px}
.viewer #summary{padding:8px 0 10px}
@media(max-width:720px){.viewer .bayplan-picker{padding:0;gap:6px;margin-bottom:10px}.viewer #workspace{padding:0}.viewer .viewer-toolbar button{min-height:36px}}

.viewer .cloud-files-table .file-actions .row-action{color:#0f172a}.viewer .cloud-files-table .file-actions .row-action:hover{color:#f97316;background:#fff3e8}.viewer .cloud-files-table .file-actions .row-action svg{width:14.4px;height:14.4px}

.viewer .cloud-files-table .file-actions button[aria-label="Open"]{color:#0f172a}.viewer .cloud-files-table .file-actions button[aria-label="Open"]:hover{color:#f97316;background:#fff3e8}

.viewer #active-filters{display:inline-flex;align-items:center;padding:0}.viewer #active-filters:empty{display:none}.viewer #active-filters button{margin:0}

.report-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0}.report-dimensions fieldset{min-width:0;margin:0;padding:0;border:0}.report-dimensions legend{font-size:13px;font-weight:500;margin-bottom:8px}.report-field-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.viewer-dialog .report-field-options label{display:flex;align-items:center;margin:0;font-size:12px;min-height:24px}.viewer-dialog .report-field-options input[type=checkbox]{flex-shrink:0;margin:0 7px 0 0}@media(max-width:720px){.report-dimensions{grid-template-columns:1fr;gap:16px}}

.viewer .recap{background:#fff}.viewer .chart{background:#fff}

.viewer .chart text{font-size:10px;font-family:var(--font-sans);font-weight:400}

.viewer #screen>.add-recap{margin:0 0 16px}

.viewer .chart{display:block;margin:12px 0 20px}.viewer .recap>button{margin:0 8px 8px 0}.viewer .recap>p{margin:8px 0 0}

.viewer #status:not(:empty){position:fixed;right:20px;bottom:64px;z-index:1000;max-width:min(420px,calc(100vw - 40px));margin:0;padding:10px 16px;background:#0f766e;color:#fff;border-radius:4px;box-shadow:0 4px 18px #0f172a26;pointer-events:none}

.viewer .fullscreen-control{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px}.viewer .bay-picture:fullscreen{width:100vw;height:100vh;min-height:0;max-height:none;border:0;border-radius:0;background:#fff}

.fullscreen-view{width:100%;min-width:0}.fullscreen-view:fullscreen{width:100vw;height:100vh;background:#fff}.viewer .fullscreen-view:fullscreen>.bay-picture{width:100%;height:100%;min-height:0;border:0;border-radius:0}

.fullscreen-view.expanded{position:fixed;inset:0;z-index:1100;width:100vw;height:100dvh;background:#fff}.viewer .fullscreen-view.expanded>.bay-picture{width:100%;height:100%;min-height:0;border:0;border-radius:0}.fullscreen-exit{display:none}.fullscreen-view.expanded>.fullscreen-exit,.fullscreen-view:fullscreen>.fullscreen-exit{display:block;position:absolute;right:16px;top:16px;z-index:1}

.viewer .overview>div{min-width:0;background:#fff;overflow:hidden}.viewer .overview svg{display:block;width:100%;max-width:100%;height:180px;min-height:0}.viewer .overview>div>button{width:100%;text-align:left}

.viewer .overview>div>button{border:0;background:transparent;box-shadow:none;padding:0;min-height:24px;color:var(--text-primary)}.viewer .overview>div>button:hover{color:var(--accent);background:transparent}
