Files
geointel/frontend/src/styles/atlas-workbench.css
T
Codex 87345f1a8c
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s
feat(ui): redesign GeoIntel as Atlas Workbench
2026-07-19 14:24:54 +02:00

1420 lines
26 KiB
CSS

/* GeoIntel Atlas Workbench
Generated from the Stitch project "GeoIntel Complete Workbench Redesign".
This layer owns the shared shell, task hierarchy and responsive work surfaces. */
:root {
--atlas-canvas: #f3f6f5;
--atlas-surface: #ffffff;
--atlas-surface-soft: #f8faf9;
--atlas-surface-muted: #eef3f1;
--atlas-ink: #152522;
--atlas-ink-soft: #354743;
--atlas-muted: #687773;
--atlas-line: #dce4e1;
--atlas-line-strong: #bdccc7;
--atlas-primary: #0b6b62;
--atlas-primary-strong: #07564f;
--atlas-primary-soft: #e4f2ef;
--atlas-secondary: #315d73;
--atlas-secondary-soft: #e9f0f4;
--atlas-attention: #a55c23;
--atlas-attention-soft: #fff2e7;
--atlas-danger: #a33c39;
--atlas-danger-soft: #fff0ef;
--atlas-nav-width: 5.5rem;
--atlas-topbar-height: 3.5rem;
--atlas-radius: 4px;
}
html,
body,
#root {
min-width: 20rem;
min-height: 100%;
}
body {
overflow: hidden;
background: var(--atlas-canvas);
color: var(--atlas-ink);
font-family: "Public Sans", "Segoe UI", Arial, sans-serif;
}
button,
input,
select,
textarea {
font: inherit;
}
.app-shell.workbench-shell {
width: 100%;
height: 100dvh;
min-height: 36rem;
margin: 0;
padding: 0;
overflow: hidden;
background: var(--atlas-canvas);
color: var(--atlas-ink);
}
.app-shell > .error {
position: fixed;
z-index: 80;
top: 0.75rem;
right: 0.75rem;
width: min(30rem, calc(100vw - 1.5rem));
margin: 0;
border-color: #efc2bf;
border-radius: var(--atlas-radius);
background: var(--atlas-danger-soft);
box-shadow: 0 8px 24px rgba(53, 31, 29, 0.12);
}
.workbench-layout {
display: grid;
grid-template-columns: var(--atlas-nav-width) minmax(0, 1fr);
width: 100%;
height: 100%;
min-height: 0;
}
.workbench-stage {
display: grid;
grid-template-rows: var(--atlas-topbar-height) minmax(0, 1fr);
min-width: 0;
min-height: 0;
}
.workbench-content {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
min-width: 0;
min-height: 0;
overflow: hidden;
}
/* Navigation */
.workbench-sidebar {
position: relative;
z-index: 40;
display: grid;
grid-template-rows: auto minmax(0, 1fr);
min-width: 0;
height: 100dvh;
overflow: hidden;
border: 0;
border-right: 1px solid #23413e;
padding: 0;
background: #122b2a;
color: #dce8e5;
}
.sidebar-brand {
display: grid;
min-height: var(--atlas-topbar-height);
place-items: center;
border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.sidebar-brand .brand-mark {
display: grid;
width: 2rem;
height: 2rem;
place-items: center;
border: 1px solid rgba(255, 255, 255, 0.28);
border-radius: var(--atlas-radius);
background: #0b6b62;
box-shadow: none;
color: #ffffff;
font-size: 0.7rem;
font-weight: 800;
}
.sidebar-brand-copy {
display: none;
}
.workbench-sidebar nav {
display: grid;
align-content: start;
gap: 0.6rem;
min-height: 0;
overflow-x: hidden;
overflow-y: auto;
padding: 0.7rem 0.38rem 1rem;
scrollbar-width: thin;
scrollbar-color: #3d5c58 transparent;
}
.nav-group {
display: grid;
gap: 0.2rem;
}
.nav-section-label {
margin: 0.15rem 0 0.05rem;
padding: 0;
overflow: hidden;
color: #8fa39f !important;
font-size: 0.49rem !important;
font-weight: 750;
letter-spacing: 0;
line-height: 1.2;
text-align: center;
text-overflow: ellipsis;
text-transform: uppercase;
white-space: nowrap;
}
.workbench-sidebar .nav-item {
display: grid;
width: 100%;
min-width: 0;
min-height: 3.05rem;
grid-template-rows: 1.1rem auto;
gap: 0.24rem;
place-items: center;
border: 1px solid transparent;
border-radius: var(--atlas-radius);
padding: 0.42rem 0.2rem;
background: transparent;
box-shadow: none;
color: #b9cac6;
text-align: center;
}
.workbench-sidebar .nav-item:hover {
border-color: rgba(255, 255, 255, 0.12);
background: rgba(255, 255, 255, 0.06);
color: #ffffff;
}
.workbench-sidebar .nav-item-active {
border-color: #2f7f75;
background: #17423e;
box-shadow: inset 3px 0 0 #50b6aa;
color: #ffffff;
}
.nav-item-icon {
width: 1.05rem;
height: 1.05rem;
}
.workbench-sidebar .nav-item span {
width: 100%;
overflow: hidden;
font-size: 0.61rem;
font-weight: 650;
line-height: 1.05;
text-overflow: ellipsis;
white-space: nowrap;
}
/* Context bar */
.workbench-topbar {
position: relative;
z-index: 30;
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
min-width: 0;
min-height: var(--atlas-topbar-height);
align-items: stretch;
border-bottom: 1px solid var(--atlas-line);
background: rgba(255, 255, 255, 0.98);
}
.mobile-brand {
display: none;
}
.context-bar {
display: grid;
grid-template-columns: minmax(11rem, 1.25fr) repeat(3, minmax(8rem, 1fr));
min-width: 0;
border: 0;
border-radius: 0;
background: transparent;
}
.context-bar > div {
display: grid;
min-width: 0;
align-content: center;
border: 0;
border-right: 1px solid var(--atlas-line);
border-radius: 0;
padding: 0.35rem 0.8rem;
background: transparent;
}
.context-bar span {
color: var(--atlas-muted) !important;
font-size: 0.56rem !important;
font-weight: 720;
letter-spacing: 0;
line-height: 1.1;
text-transform: uppercase;
}
.context-bar strong {
display: block;
overflow: hidden;
margin-top: 0.16rem;
color: var(--atlas-ink);
font-size: 0.74rem;
line-height: 1.2;
text-overflow: ellipsis;
white-space: nowrap;
}
.context-health {
display: flex;
min-width: 5.7rem;
gap: 0.42rem;
align-items: center;
justify-content: center;
padding: 0 0.8rem;
color: var(--atlas-ink-soft);
font-size: 0.69rem;
}
.context-health > span {
width: 0.45rem;
height: 0.45rem;
border-radius: 50%;
background: #338d62;
box-shadow: 0 0 0 3px #e2f2e9;
}
/* Main task surfaces */
.workbench-main {
min-width: 0;
min-height: 0;
overflow: auto;
padding: 1rem 1.1rem 2rem;
background: var(--atlas-canvas);
scrollbar-gutter: stable;
}
.workbench-shell .workbench-main:focus,
.workbench-shell .workbench-main:focus-visible,
#workspace-main:focus,
#workspace-main:focus-visible {
outline: none;
}
.workbench-main > * {
width: min(100%, 112rem);
margin-inline: auto;
}
.workbench-main-map {
overflow: hidden;
padding: 0;
}
.workbench-main-map > * {
width: 100%;
max-width: none;
margin: 0;
}
.workspace-heading {
min-height: 4.25rem;
margin: 0 0 0.75rem;
border-bottom: 1px solid var(--atlas-line);
padding: 0.15rem 0 0.7rem;
}
.workspace-heading-copy .eyebrow {
display: none;
}
.workspace-heading h2 {
margin: 0;
color: var(--atlas-ink);
font-family: "Manrope", "Segoe UI", sans-serif;
font-size: 1.5rem;
font-weight: 750;
letter-spacing: 0;
}
.workspace-heading-actions {
align-items: center;
}
.workspace-heading-actions > p {
max-width: 30rem;
color: var(--atlas-muted);
font-size: 0.78rem;
}
.inspector-toggle,
.secondary-action,
.primary-action {
min-height: 2.25rem;
border-radius: var(--atlas-radius);
box-shadow: none;
}
.inspector-toggle {
border-color: var(--atlas-line-strong);
background: var(--atlas-surface);
color: var(--atlas-ink-soft);
}
.workspace-command-bar {
display: none;
}
.workspace-grid {
gap: 0.75rem;
margin-top: 0;
}
.workspace-grid > section,
.workspace-panel,
.quality-results-panel,
.map-workspace-shell,
.overview-actions,
.workflow-guidance-panel {
border-color: var(--atlas-line);
border-radius: var(--atlas-radius);
background: var(--atlas-surface);
box-shadow: none;
}
.workspace-grid-data > .source-catalog-panel {
grid-column: 1 / -1;
max-height: none;
}
.workspace-grid-data > section:not(.source-catalog-panel) {
grid-column: span 4;
max-height: 38rem;
}
.panel-title-row {
gap: 0.75rem;
}
.panel-title-row h2,
.panel-title-row h3,
.panel-title-row h4,
.workspace-panel h2,
.workspace-panel h3 {
color: var(--atlas-ink);
font-family: "Manrope", "Segoe UI", sans-serif;
letter-spacing: 0;
}
.section-kicker,
.eyebrow {
color: var(--atlas-secondary) !important;
font-size: 0.62rem !important;
font-weight: 760;
letter-spacing: 0;
}
.status-badge,
.count-pill {
border-color: var(--atlas-line-strong);
border-radius: 999px;
background: var(--atlas-surface-muted);
color: var(--atlas-ink-soft);
box-shadow: none;
}
.status-badge-ready {
border-color: #bddacf;
background: #edf7f3;
color: var(--atlas-primary-strong);
}
/* Map Explorer */
.workspace-persistent-map {
height: 100%;
min-height: 0;
}
.geo-explorer {
display: grid;
height: 100%;
min-height: 0;
grid-template-rows: auto minmax(0, 1fr) auto;
gap: 0.65rem;
border: 0;
border-radius: 0;
padding: 0.75rem;
background: var(--atlas-canvas);
box-shadow: none;
}
.geo-explorer-header {
display: grid;
min-height: 3.9rem;
grid-template-columns: minmax(0, 1fr) auto auto;
gap: 0.75rem;
align-items: center;
border-bottom: 1px solid var(--atlas-line);
padding: 0 0 0.65rem;
}
.geo-explorer-header .eyebrow {
display: none;
}
.geo-explorer-header h2 {
margin: 0;
color: var(--atlas-ink);
font-family: "Manrope", "Segoe UI", sans-serif;
font-size: 1.35rem;
font-weight: 760;
letter-spacing: 0;
}
.geo-explorer-header p:last-child {
margin: 0.16rem 0 0;
color: var(--atlas-muted);
font-size: 0.76rem;
}
.geo-analysis-mode {
display: grid;
min-height: 2.2rem;
grid-template-columns: repeat(2, auto);
border: 1px solid var(--atlas-line-strong);
border-radius: var(--atlas-radius);
padding: 0.16rem;
background: var(--atlas-surface-muted);
}
.geo-analysis-mode button {
min-height: 1.8rem;
border: 0;
border-radius: 3px;
padding: 0.32rem 0.7rem;
background: transparent;
box-shadow: none;
color: var(--atlas-muted);
font-size: 0.68rem;
}
.geo-analysis-mode button.active {
background: var(--atlas-surface);
color: var(--atlas-primary-strong);
box-shadow: 0 1px 2px rgba(21, 37, 34, 0.08);
}
.geo-explorer-advanced {
min-width: auto;
border-color: var(--atlas-line-strong);
background: var(--atlas-surface);
color: var(--atlas-ink-soft);
font-size: 0.72rem;
}
.geo-explorer-layout {
display: grid;
min-height: 0;
grid-template-columns: 15.75rem minmax(28rem, 1fr) 20rem;
grid-template-rows: minmax(0, 1fr);
gap: 0.65rem;
overflow: hidden;
}
.geo-theme-panel,
.geo-map-stage,
.geo-results-panel {
min-width: 0;
min-height: 0;
height: 100%;
max-height: 100%;
border: 1px solid var(--atlas-line);
border-radius: var(--atlas-radius);
background: var(--atlas-surface);
box-shadow: none;
}
.geo-theme-panel,
.geo-results-panel {
display: flex;
flex-direction: column;
overflow: auto;
padding: 0.75rem;
scrollbar-gutter: stable;
}
.geo-panel-heading {
flex: 0 0 auto;
}
.geo-panel-heading > span {
display: grid;
width: 1.45rem;
height: 1.45rem;
flex-basis: 1.45rem;
place-items: center;
border-radius: var(--atlas-radius);
background: var(--atlas-ink);
color: #ffffff;
font-size: 0.66rem;
}
.geo-panel-heading h3 {
color: var(--atlas-ink);
font-size: 0.84rem;
}
.geo-panel-heading p {
color: var(--atlas-muted);
font-size: 0.65rem;
}
.geo-loaded-scope {
flex: 0 0 auto;
margin-top: 0.65rem;
border: 1px solid var(--atlas-line);
border-radius: var(--atlas-radius);
padding: 0.58rem;
background: var(--atlas-surface-soft);
}
.geo-loaded-scope span,
.geo-source-summary > span {
color: var(--atlas-muted);
font-size: 0.56rem;
letter-spacing: 0;
}
.geo-loaded-scope strong {
margin-top: 0.12rem;
color: var(--atlas-ink);
font-size: 0.75rem;
}
.geo-loaded-scope small {
margin-top: 0.18rem;
color: var(--atlas-muted);
font-size: 0.62rem;
}
.geo-theme-list {
display: grid;
min-height: 7rem;
gap: 0.25rem;
margin-top: 0.6rem;
overflow-y: auto;
padding-right: 0.15rem;
}
.geo-theme-option {
min-height: 3.05rem;
grid-template-columns: 0.3rem minmax(0, 1fr) auto;
gap: 0.48rem;
border: 1px solid transparent;
border-bottom-color: var(--atlas-line);
border-radius: 0;
padding: 0.42rem 0.25rem;
background: transparent;
box-shadow: none;
}
.geo-theme-option:hover:not(:disabled) {
border-color: var(--atlas-line);
background: var(--atlas-surface-soft);
}
.geo-theme-option-active {
border-color: #b9d7d1;
border-radius: var(--atlas-radius);
background: var(--atlas-primary-soft);
box-shadow: inset 3px 0 0 var(--atlas-primary);
}
.geo-theme-option strong {
color: var(--atlas-ink);
font-size: 0.73rem;
}
.geo-theme-option small {
color: var(--atlas-muted);
font-size: 0.59rem;
}
.geo-theme-option i {
align-self: center;
color: var(--atlas-primary-strong);
font-size: 0.53rem;
font-style: normal;
letter-spacing: 0;
}
.geo-source-summary {
flex: 0 0 auto;
margin-top: 0.6rem;
border-top: 1px solid var(--atlas-line);
padding-top: 0.55rem;
}
.geo-source-summary strong {
color: var(--atlas-ink);
font-size: 0.69rem;
}
.geo-source-summary small {
color: var(--atlas-muted);
font-size: 0.58rem;
}
.geo-scope-select,
.geo-time-controls,
.geo-data-notice {
flex: 0 0 auto;
}
.geo-map-stage {
display: grid;
grid-template-rows: auto minmax(0, 1fr);
overflow: hidden;
}
.geo-map-toolbar {
display: grid;
min-height: 3.8rem;
grid-template-columns: minmax(11rem, 1fr) auto;
gap: 0.65rem;
align-items: center;
border-bottom: 1px solid var(--atlas-line);
padding: 0.55rem 0.65rem;
background: var(--atlas-surface);
}
.geo-map-toolbar .geo-panel-heading p {
max-width: 32rem;
}
.geo-map-actions {
display: flex;
flex-wrap: nowrap;
gap: 0.35rem;
}
.geo-map-actions button {
min-height: 2rem;
min-width: auto;
padding: 0.42rem 0.66rem;
font-size: 0.66rem;
white-space: nowrap;
}
.geo-map-actions .primary-action,
.geo-result-next-actions .primary-action,
.assistant-composer .primary-action {
border-color: var(--atlas-primary);
background: var(--atlas-primary);
color: #ffffff;
}
.geo-map-actions .primary-action:hover:not(:disabled),
.geo-result-next-actions .primary-action:hover:not(:disabled),
.assistant-composer .primary-action:hover:not(:disabled) {
border-color: var(--atlas-primary-strong);
background: var(--atlas-primary-strong);
}
.geo-map-canvas {
min-height: 0;
background: #dce8e6;
}
.geo-map-canvas .map-container {
height: 100%;
min-height: 100%;
}
.geo-map-legend {
border: 1px solid rgba(21, 37, 34, 0.22);
border-radius: var(--atlas-radius);
background: rgba(255, 255, 255, 0.96);
box-shadow: 0 2px 8px rgba(21, 37, 34, 0.1);
}
.geo-results-panel {
grid-column: auto;
grid-row: auto;
gap: 0.65rem;
}
.geo-results-empty,
.geo-results-loading {
border-color: var(--atlas-line);
border-radius: var(--atlas-radius);
background: var(--atlas-surface-soft);
}
.geo-primary-metrics {
gap: 0;
border-top: 1px solid var(--atlas-line);
border-bottom: 1px solid var(--atlas-line);
}
.geo-primary-metrics > div {
border: 0;
border-bottom: 1px solid var(--atlas-line);
border-radius: 0;
background: transparent;
}
.geo-primary-metrics > div:last-child {
border-bottom: 0;
}
.geo-primary-metrics strong {
color: var(--atlas-ink);
}
.geo-theme-result-row {
border-color: var(--atlas-line);
border-radius: 0;
background: transparent;
}
.geo-result-next-actions {
border-color: #bad7d1;
border-radius: var(--atlas-radius);
background: #f0f8f6;
}
.geo-explorer-footer {
min-height: 1.7rem;
gap: 1.2rem;
border-top: 1px solid var(--atlas-line);
padding: 0.4rem 0.15rem 0;
color: var(--atlas-muted);
font-size: 0.59rem;
}
/* Source catalog */
.source-catalog-panel {
padding: 0.9rem;
}
.source-catalog-panel > .panel-title-row {
border-bottom: 1px solid var(--atlas-line);
padding-bottom: 0.75rem;
}
.source-domain-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 0;
margin-top: 0.75rem;
border: 1px solid var(--atlas-line);
border-radius: var(--atlas-radius);
overflow: hidden;
}
.source-domain-card {
min-height: 8.2rem;
border: 0;
border-right: 1px solid var(--atlas-line);
border-bottom: 1px solid var(--atlas-line);
border-radius: 0;
padding: 0.75rem;
background: var(--atlas-surface);
box-shadow: inset 3px 0 0 #8faea7;
}
.source-domain-card:nth-child(3n) {
border-right: 0;
}
.source-domain-card:nth-last-child(-n + 3) {
border-bottom: 0;
}
.source-domain-card strong {
color: var(--atlas-ink);
font-family: "Manrope", "Segoe UI", sans-serif;
font-size: 0.84rem;
}
.source-domain-card p,
.source-domain-card span,
.source-domain-card small {
color: var(--atlas-muted);
font-size: 0.65rem;
}
.source-domain-card b {
color: var(--atlas-primary-strong);
font-size: 0.58rem;
}
.source-domain-card .source-status-planned {
color: var(--atlas-attention);
}
.source-theme-coverage,
.source-loaded-disclosure,
.source-opportunity-list,
.status-details-disclosure,
.quality-advanced-disclosure {
border-color: var(--atlas-line);
border-radius: var(--atlas-radius);
background: var(--atlas-surface);
}
/* Local assistant */
.geo-assistant-panel {
display: grid;
height: calc(100dvh - var(--atlas-topbar-height) - 6.2rem);
min-height: 32rem;
grid-template-columns: 20.5rem minmax(0, 1fr);
grid-template-rows: auto auto minmax(0, 1fr) auto;
gap: 0;
overflow: hidden;
padding: 0;
}
.geo-assistant-panel > .panel-title-row {
grid-column: 1 / -1;
border-bottom: 1px solid var(--atlas-line);
padding: 0.65rem 0.9rem;
}
.geo-assistant-panel > .panel-title-row h2 {
margin-top: 0.1rem;
font-size: 1rem;
}
.geo-assistant-panel > .panel-title-row p {
margin-top: 0.18rem;
font-size: 0.7rem;
}
.assistant-context-strip {
display: grid;
grid-column: 1;
grid-row: 2 / 5;
grid-template-columns: minmax(0, 1fr);
grid-auto-rows: max-content;
gap: 0.8rem;
align-content: start;
border: 0;
border-right: 1px solid var(--atlas-line);
border-radius: 0;
padding: 0.9rem;
background: var(--atlas-surface-soft);
}
.assistant-context-strip > div {
display: grid;
gap: 0.16rem;
border-bottom: 1px solid var(--atlas-line);
padding-bottom: 0.75rem;
}
.assistant-context-strip > div span,
.assistant-context-strip label > span {
color: var(--atlas-muted);
font-size: 0.59rem;
font-weight: 700;
text-transform: uppercase;
}
.assistant-context-strip > div strong {
color: var(--atlas-ink);
font-size: 0.84rem;
}
.assistant-context-strip label {
min-width: 0;
margin: 0;
}
.assistant-context-strip select,
.assistant-context-strip button {
width: 100%;
min-width: 0;
}
.assistant-suggestions {
display: grid;
grid-column: 2;
grid-row: 2;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 0.35rem;
border-bottom: 1px solid var(--atlas-line);
padding: 0.5rem 0.65rem;
}
.assistant-suggestions button {
min-height: 2rem;
border-color: var(--atlas-line);
border-radius: var(--atlas-radius);
background: var(--atlas-surface);
color: var(--atlas-ink-soft);
font-size: 0.61rem;
line-height: 1.25;
}
.assistant-conversation {
grid-column: 2;
grid-row: 3;
min-height: 0;
margin: 0;
overflow: auto;
border: 0;
border-radius: 0;
padding: 1rem;
background: var(--atlas-surface);
}
.assistant-message {
max-width: 54rem;
border: 0;
border-left: 3px solid var(--atlas-line-strong);
border-radius: 0;
padding: 0.75rem 0.9rem;
background: var(--atlas-surface-soft);
}
.assistant-message-assistant {
border-left-color: var(--atlas-primary);
background: #f2f8f6;
}
.assistant-composer {
grid-column: 2;
grid-row: 4;
margin: 0;
border: 0;
border-top: 1px solid var(--atlas-line);
border-radius: 0;
padding: 0.55rem 0.7rem;
background: var(--atlas-surface);
}
.assistant-composer textarea {
height: 4rem;
min-height: 4rem;
border-color: var(--atlas-line-strong);
border-radius: var(--atlas-radius);
}
.assistant-composer > label {
margin-top: 0;
font-size: 0.65rem;
}
.assistant-composer > div {
margin-top: 0.45rem;
}
.assistant-composer > div p {
margin: 0;
color: var(--atlas-muted);
font-size: 0.59rem;
}
/* Quality, analyses and administration */
.quality-results-panel {
padding: 0.9rem;
}
.quality-summary-surface,
.quality-evidence-surface,
.quality-drilldown-surface,
.quality-control-surface,
.quality-history-surface {
border-color: var(--atlas-line);
border-radius: var(--atlas-radius);
background: var(--atlas-surface);
box-shadow: none;
}
.quality-summary-grid {
gap: 0;
border: 1px solid var(--atlas-line);
border-radius: var(--atlas-radius);
overflow: hidden;
}
.quality-summary-grid > div {
border: 0;
border-right: 1px solid var(--atlas-line);
border-radius: 0;
background: var(--atlas-surface-soft);
}
.quality-summary-grid > div:last-child {
border-right: 0;
}
.quality-check-card,
.quality-metric-card,
.status-tile,
.quick-action-button,
.provider-card,
.dataset-card,
.project-card,
.area-card {
border-color: var(--atlas-line);
border-radius: var(--atlas-radius);
box-shadow: none;
}
.workbench-inspector {
width: min(22rem, 34vw);
border-left: 1px solid var(--atlas-line);
background: var(--atlas-surface);
box-shadow: -8px 0 20px rgba(21, 37, 34, 0.06);
}
/* Ultrawide keeps text rails stable and gives the map the additional width. */
@media (min-width: 1800px) {
:root {
--atlas-nav-width: 6rem;
}
.geo-explorer-layout {
grid-template-columns: 17rem minmax(42rem, 1fr) 22rem;
}
.workbench-main:not(.workbench-main-map) {
padding-inline: clamp(1.5rem, 2.5vw, 3.5rem);
}
}
@media (min-width: 2800px) {
.geo-explorer-layout {
grid-template-columns: 18rem minmax(60rem, 1fr) 23rem;
}
.geo-explorer {
padding: 1rem 1.25rem 0.8rem;
}
}
/* Compact desktop/tablet */
@media (max-width: 1240px) {
.geo-explorer-layout {
grid-template-columns: 15rem minmax(26rem, 1fr);
grid-template-rows: minmax(34rem, 1fr) auto;
overflow: auto;
}
.geo-results-panel {
grid-column: 1 / -1;
min-height: 18rem;
display: grid;
grid-template-columns: minmax(13rem, 0.75fr) minmax(0, 1.25fr);
align-items: start;
overflow: visible;
}
.workbench-main-map {
overflow: auto;
}
.geo-explorer {
height: auto;
min-height: 100%;
}
.geo-assistant-panel {
grid-template-columns: 17rem minmax(0, 1fr);
}
}
@media (max-width: 920px) {
body {
overflow: auto;
}
.app-shell.workbench-shell {
height: auto;
min-height: 100dvh;
overflow: visible;
}
.workbench-layout {
display: block;
height: auto;
}
.workbench-stage {
display: block;
}
.workbench-sidebar {
position: sticky;
top: 0;
z-index: 50;
display: block;
width: 100%;
height: auto;
border-right: 0;
border-bottom: 1px solid #23413e;
}
.sidebar-brand {
display: none;
}
.workbench-sidebar nav {
display: flex;
flex-wrap: nowrap;
gap: 0.2rem;
overflow-x: auto;
overflow-y: hidden;
padding: 0.35rem;
}
.nav-group {
display: contents;
}
.nav-section-label {
display: none;
}
.workbench-sidebar .nav-item {
flex: 0 0 4.4rem;
width: 4.4rem;
min-width: 4.4rem;
min-height: 2.8rem;
}
.workbench-topbar {
position: sticky;
top: 3.5rem;
z-index: 45;
grid-template-columns: auto minmax(0, 1fr);
}
.mobile-brand {
display: flex;
gap: 0.45rem;
align-items: center;
border-right: 1px solid var(--atlas-line);
padding: 0 0.65rem;
}
.mobile-brand .brand-mark {
width: 1.75rem;
height: 1.75rem;
flex-basis: 1.75rem;
border-radius: var(--atlas-radius);
box-shadow: none;
}
.mobile-brand strong {
font-size: 0.78rem;
}
.context-bar {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.context-bar > div:nth-child(n + 3) {
display: none;
}
.context-health {
display: none;
}
.workbench-content {
display: block;
overflow: visible;
}
.workbench-main {
overflow: visible;
padding: 0.8rem;
}
.workbench-main-map {
padding: 0;
}
.geo-explorer-header {
grid-template-columns: minmax(0, 1fr) auto;
}
.geo-explorer-advanced {
grid-column: 1 / -1;
justify-self: start;
}
.geo-explorer-layout {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto minmax(28rem, 65vh) auto;
overflow: visible;
}
.geo-theme-panel,
.geo-results-panel {
max-height: none;
}
.geo-results-panel {
grid-column: auto;
display: flex;
}
.geo-theme-list {
max-height: 11rem;
}
.geo-theme-panel .geo-loaded-scope,
.geo-theme-panel .geo-source-summary {
display: none;
}
.geo-assistant-panel {
display: flex;
height: auto;
min-height: 0;
flex-direction: column;
}
.assistant-context-strip {
border-right: 0;
border-bottom: 1px solid var(--atlas-line);
}
.assistant-conversation {
min-height: 22rem;
}
.workspace-grid-data > section:not(.source-catalog-panel) {
grid-column: 1 / -1;
}
.source-domain-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.source-domain-card,
.source-domain-card:nth-child(3n),
.source-domain-card:nth-last-child(-n + 3) {
border-right: 1px solid var(--atlas-line);
border-bottom: 1px solid var(--atlas-line);
}
.source-domain-card:nth-child(2n) {
border-right: 0;
}
.source-domain-card:nth-last-child(-n + 2) {
border-bottom: 0;
}
.workbench-inspector {
position: fixed;
z-index: 70;
inset: 7rem 0 0 auto;
width: min(24rem, 92vw);
}
}
@media (max-width: 560px) {
.workbench-topbar {
top: 3.5rem;
}
.mobile-brand strong {
display: none;
}
.context-bar > div {
padding-inline: 0.55rem;
}
.workspace-heading {
display: block;
}
.workspace-heading-actions {
margin-top: 0.45rem;
}
.workspace-heading-actions > p {
margin: 0;
}
.geo-explorer {
padding: 0.55rem;
}
.geo-explorer-header {
display: flex;
align-items: flex-start;
}
.geo-analysis-mode {
width: 100%;
}
.geo-analysis-mode button {
width: 100%;
}
.geo-map-toolbar {
display: block;
}
.geo-map-actions {
margin-top: 0.55rem;
overflow-x: auto;
padding-bottom: 0.15rem;
}
.geo-map-canvas {
min-height: 26rem;
}
.source-domain-grid {
grid-template-columns: 1fr;
}
.source-domain-card,
.source-domain-card:nth-child(2n),
.source-domain-card:nth-child(3n),
.source-domain-card:nth-last-child(-n + 2),
.source-domain-card:nth-last-child(-n + 3) {
border-right: 0;
border-bottom: 1px solid var(--atlas-line);
}
.source-domain-card:last-child {
border-bottom: 0;
}
}
@media (prefers-reduced-motion: reduce) {
.workbench-shell *,
.workbench-shell *::before,
.workbench-shell *::after {
scroll-behavior: auto !important;
transition-duration: 0.01ms !important;
animation-duration: 0.01ms !important;
}
}