:root { color-scheme: light; --ink: #111614; --ink-soft: #26312e; --muted: #64706c; --faint: #8a9691; --canvas: #e9eef0; --paper: #fbfbf6; --paper-2: #f1f3ee; --panel: #ffffff; --panel-ink: #141918; --line: #b7c1bd; --line-strong: #71807b; --rule: #1f2a27; --cad-blue: #1f5f7d; --cad-blue-dark: #123b51; --survey-green: #0f766e; --survey-green-dark: #09443f; --amber: #c88920; --clay: #a94d34; --danger: #8f2f24; --positive: #11624f; --shadow-flat: 0 1px 0 rgba(17, 22, 20, 0.18); --shadow-strong: 0 24px 70px rgba(24, 31, 28, 0.16); --radius: 6px; --font-display: "Bahnschrift", "Aptos Display", "Segoe UI Variable Display", "Segoe UI", sans-serif; --font-body: "Aptos", "Segoe UI Variable Text", "Segoe UI", Tahoma, sans-serif; --font-mono: "Cascadia Code", "IBM Plex Mono", Consolas, monospace; } html, body, .gradio-container { min-height: 100%; background: linear-gradient(135deg, rgba(31, 95, 125, 0.16), transparent 32%), radial-gradient(circle at 88% 9%, rgba(200, 137, 32, 0.18), transparent 25%), linear-gradient(90deg, rgba(17, 22, 20, 0.055) 1px, transparent 1px), linear-gradient(rgba(17, 22, 20, 0.045) 1px, transparent 1px), var(--canvas) !important; background-size: auto, auto, 38px 38px, 38px 38px, auto !important; color: var(--ink) !important; font-family: var(--font-body) !important; letter-spacing: 0 !important; } html, body { overflow-x: hidden !important; } .gradio-container { width: 100% !important; max-width: 1840px !important; margin: 0 auto !important; padding: 24px 28px 40px !important; } .gradio-container * { box-sizing: border-box; } .gradio-container > .main, .gradio-container .contain { max-width: none !important; } #app-header { position: relative; overflow: hidden; border: 1px solid rgba(17, 22, 20, 0.78); background: linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px), linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px), linear-gradient(126deg, #111614 0%, #17211e 58%, #20312c 100%); background-size: 34px 34px, 34px 34px, auto; border-radius: var(--radius); padding: 28px 30px 26px; margin: 0 0 14px; box-shadow: var(--shadow-strong); } #app-header::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 8px; background: linear-gradient(180deg, var(--cad-blue), var(--survey-green), var(--amber)); } #app-header::after { content: "WGS84 / OSM / OPEN-METEO / FIELD VERIFY"; position: absolute; right: 18px; bottom: 12px; color: rgba(255, 255, 255, 0.22); font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; } .app-kicker { position: relative; z-index: 1; margin: 0 0 12px 12px; color: #87d7ce; font-family: var(--font-mono); font-size: 12px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; } .header-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 540px); gap: 32px; align-items: end; padding-left: 12px; } #app-header h1 { margin: 0; color: #ffffff !important; font-family: var(--font-display) !important; font-size: clamp(44px, 5.8vw, 86px); font-weight: 900; line-height: 0.88; letter-spacing: 0 !important; max-width: 940px; overflow-wrap: anywhere; } .app-subtitle { margin: 18px 0 0; max-width: 980px; color: #dbe6e2 !important; font-size: 17px; line-height: 1.56; } .status-stack { display: grid; gap: 9px; } .status-stack div { display: grid; grid-template-columns: 128px 1fr; gap: 14px; align-items: baseline; min-height: 58px; border: 1px solid rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.065); border-radius: var(--radius); padding: 12px 14px; backdrop-filter: blur(10px); min-width: 0; } .status-stack b { color: #ffffff; font-family: var(--font-display); font-size: 14px; font-weight: 850; line-height: 1.2; } .status-stack span { color: #c4d1cc !important; font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; } .workflow-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border: 1px solid var(--rule); background: var(--paper); border-radius: var(--radius); overflow: hidden; margin: 0 0 18px; box-shadow: var(--shadow-flat); } .workflow-strip div { position: relative; min-height: 74px; padding: 15px 18px 14px 64px; border-right: 1px solid var(--line); background: linear-gradient(180deg, rgba(31, 95, 125, 0.07), transparent 58%), var(--paper); } .workflow-strip div:last-child { border-right: 0; } .workflow-strip b { position: absolute; left: 16px; top: 16px; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--rule); background: var(--ink); color: #ffffff; font-family: var(--font-mono); font-size: 12px; line-height: 1; } .workflow-strip span { display: block; color: var(--ink); font-family: var(--font-display); font-size: 16px; font-weight: 850; } .workflow-strip small { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.35; } .main-workspace { gap: 18px !important; align-items: stretch !important; } .studio-shell { border: 1px solid var(--rule); border-radius: var(--radius); overflow: hidden; background: #101716; box-shadow: var(--shadow-strong); margin-bottom: 16px; } .studio-topbar { display: flex; justify-content: space-between; gap: 24px; align-items: center; min-height: 118px; padding: 24px 28px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px), linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px), linear-gradient(120deg, #0e1614 0%, #13211f 58%, #1d2e2a 100%); background-size: 34px 34px, 34px 34px, auto; } .studio-kicker { display: block; color: #8ce6dc !important; font-family: var(--font-mono); font-size: 12px; font-weight: 850; letter-spacing: 0.12em; text-transform: uppercase; } .gradio-container .studio-shell .studio-topbar h1, .gradio-container .studio-shell .studio-topbar .prose h1, .gradio-container .studio-shell .studio-topbar .markdown h1 { margin: 10px 0 0; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; font-family: var(--font-display) !important; font-size: clamp(34px, 4.4vw, 64px); font-weight: 900; line-height: 0.92; text-shadow: 0 2px 18px rgba(0, 0, 0, 0.42); } .studio-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; } .studio-meta span { display: inline-flex; min-height: 36px; align-items: center; border: 1px solid rgba(255, 255, 255, 0.26); background: rgba(255, 255, 255, 0.08); color: #ffffff !important; border-radius: 4px; padding: 8px 11px; font-family: var(--font-display); font-size: 12px; font-weight: 850; text-transform: uppercase; } .studio-briefing { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255, 255, 255, 0.14); background: #ffffff; } .studio-briefing div { min-height: 98px; border-right: 1px solid var(--line); padding: 16px 18px; } .studio-briefing div:last-child { border-right: 0; } .studio-briefing b { display: block; color: var(--ink); font-family: var(--font-display); font-size: 16px; font-weight: 900; } .studio-briefing span { display: block; margin-top: 6px; color: var(--ink-soft) !important; font-size: 13px; line-height: 1.42; } .studio-proof-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--rule); background: #f3f8f6; } .studio-proof-row div { min-height: 68px; padding: 13px 18px; border-right: 1px solid var(--line); } .studio-proof-row div:last-child { border-right: 0; } .studio-proof-row b { display: block; color: var(--survey-green-dark); font-family: var(--font-display); font-size: 13px; font-weight: 900; text-transform: uppercase; } .studio-proof-row span { display: block; margin-top: 4px; color: var(--ink-soft) !important; font-size: 13px; } .studio-workbench { display: grid !important; grid-template-columns: minmax(230px, 0.68fr) minmax(660px, 1.9fr) minmax(270px, 0.78fr); gap: 16px !important; align-items: start !important; margin-top: 16px; } .studio-workbench > div { min-width: 0 !important; width: 100% !important; } .brief-pane, .source-pane, .canvas-pane { min-width: 0 !important; } .brief-pane, .source-pane { border: 1px solid var(--rule) !important; border-radius: var(--radius) !important; background: linear-gradient(90deg, rgba(17, 22, 20, 0.035) 1px, transparent 1px), linear-gradient(rgba(17, 22, 20, 0.026) 1px, transparent 1px), #ffffff !important; background-size: 26px 26px, 26px 26px, auto !important; padding: 14px !important; box-shadow: var(--shadow-strong); } .canvas-pane { padding: 0 !important; } .pane-heading, .review-header { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; align-items: center; margin-bottom: 12px; } .pane-heading > span, .review-header > span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--rule); background: var(--ink); color: #ffffff !important; font-family: var(--font-mono); font-size: 12px; font-weight: 850; } .pane-heading b, .review-header b { display: block; color: var(--ink); font-family: var(--font-display); font-size: 20px; font-weight: 900; line-height: 1.05; } .pane-heading small, .review-header small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.35; } .canvas-heading { margin: 0 0 10px; } .source-pane .upload-panel { margin: 12px 0 !important; padding: 0 !important; border: 1px solid var(--line-strong) !important; background: #ffffff !important; box-shadow: none !important; } .source-pane .upload-panel > div { background: transparent !important; } .minimum-card, .source-card { border: 1px solid var(--rule); border-left: 7px solid var(--survey-green); border-radius: var(--radius); padding: 13px 14px; margin: 12px 0; background: #eef8f6; color: var(--ink); box-shadow: 3px 3px 0 rgba(17, 22, 20, 0.08); } .source-card { border-left-color: var(--cad-blue); background: #eef5f8; } .minimum-card b, .source-card b { display: block; color: var(--ink); font-family: var(--font-display); font-size: 16px; font-weight: 900; } .minimum-card span, .source-card span { display: block; margin-top: 6px; color: var(--ink-soft) !important; font-size: 13px; line-height: 1.42; } .brief-accordion, .upload-panel { border-radius: var(--radius) !important; overflow: hidden !important; } .brief-accordion > div:first-child, .upload-panel > div:first-child { min-height: 44px !important; border-bottom: 1px solid var(--line) !important; background: #ffffff !important; color: var(--ink) !important; font-family: var(--font-display) !important; font-weight: 900 !important; } .brief-accordion label, .upload-panel label { color: var(--ink) !important; font-family: var(--font-display) !important; font-weight: 850 !important; } .run-card { border: 1px solid var(--rule); border-left: 6px solid var(--amber); border-radius: var(--radius); padding: 13px 14px; margin: 12px 0; background: #fff8e9; } .run-card b { display: block; color: var(--ink); font-family: var(--font-display); font-weight: 900; } .run-card span { display: block; margin-top: 6px; color: #47361c !important; font-size: 13px; line-height: 1.4; } .deliverables-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 12px 0; border: 1px solid var(--rule); border-radius: var(--radius); overflow: hidden; background: #ffffff; box-shadow: var(--shadow-flat); } .deliverables-strip div { min-height: 72px; padding: 13px 14px; border-right: 1px solid var(--line); background: linear-gradient(180deg, rgba(15, 118, 110, 0.07), transparent 65%), #ffffff; } .deliverables-strip div:last-child { border-right: 0; } .deliverables-strip b { display: block; color: var(--ink); font-family: var(--font-display); font-size: 15px; font-weight: 900; } .deliverables-strip span { display: block; margin-top: 5px; color: var(--ink-soft) !important; font-size: 12px; line-height: 1.35; } .review-header { margin: 22px 0 12px; border: 1px solid var(--rule); border-left: 8px solid var(--survey-green); border-radius: var(--radius); padding: 14px 16px; background: #ffffff; box-shadow: var(--shadow-flat); } .review-tabs { border: 1px solid var(--rule) !important; border-radius: var(--radius) !important; background: #ffffff !important; box-shadow: var(--shadow-strong); overflow: hidden; } .map-workspace, .control-panel { min-width: 0 !important; } #sis-map-shell { border: 1px solid var(--rule); border-radius: var(--radius); overflow: hidden; background: var(--panel); box-shadow: var(--shadow-strong); } .map-topbar { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--rule); background: linear-gradient(90deg, rgba(15, 118, 110, 0.22), transparent 44%), #111614; } .map-topbar strong { display: block; color: #ffffff; font-family: var(--font-display); font-size: 19px; font-weight: 900; line-height: 1.1; overflow-wrap: anywhere; } .map-topbar span { display: block; margin-top: 4px; color: #ccd9d5 !important; font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; } .map-confidence { border: 1px solid rgba(255, 255, 255, 0.32); background: #ffffff; color: var(--ink); border-radius: 4px; padding: 8px 10px; font-family: var(--font-mono); font-size: 11px; font-weight: 850; letter-spacing: 0.03em; text-transform: uppercase; white-space: nowrap; } .map-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px; border-bottom: 1px solid var(--line-strong); background: linear-gradient(90deg, rgba(17, 22, 20, 0.065) 1px, transparent 1px), linear-gradient(rgba(17, 22, 20, 0.05) 1px, transparent 1px), #f6f7f3; background-size: 22px 22px, 22px 22px, auto; } .map-controls button, .map-controls select { min-height: 42px; border: 1px solid var(--rule); background: #ffffff; color: var(--ink); border-radius: 4px; padding: 8px 12px; font-family: var(--font-display); font-size: 14px; font-weight: 800; cursor: pointer; box-shadow: 2px 2px 0 rgba(17, 22, 20, 0.16); transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease; } .map-controls button:hover, .map-controls select:hover { background: #f1fbf9; transform: translate(-1px, -1px); box-shadow: 3px 3px 0 rgba(17, 22, 20, 0.22); } .map-controls button.active { background: var(--survey-green); color: #ffffff; border-color: var(--survey-green-dark); } .map-controls label { display: inline-flex; gap: 8px; align-items: center; color: var(--ink) !important; font-family: var(--font-display); font-size: 13px; font-weight: 850; } #site-map { width: 100%; height: 650px; min-height: 520px; background: #cfd9d6; } .leaflet-container { font-family: var(--font-body) !important; } .leaflet-control-attribution, .leaflet-control-scale-line { color: #16211e !important; font-family: var(--font-mono) !important; font-size: 10px !important; } .leaflet-popup-content-wrapper, .leaflet-popup-tip { border-radius: 4px !important; } #map-status { min-height: 44px; padding: 11px 14px; border-top: 1px solid var(--line-strong); font-family: var(--font-mono); font-size: 12px; color: var(--ink-soft); background: #ffffff; } #map_state { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; } .warning-note { margin: 14px 0 0; border: 1px solid #8a6121; border-left: 8px solid var(--amber); padding: 13px 15px; background: #fff8e9; color: #332717 !important; border-radius: var(--radius); line-height: 1.48; } .control-panel, .upload-panel { border: 1px solid var(--rule) !important; background: linear-gradient(90deg, rgba(17, 22, 20, 0.035) 1px, transparent 1px), linear-gradient(rgba(17, 22, 20, 0.026) 1px, transparent 1px), var(--panel) !important; background-size: 28px 28px, 28px 28px, auto !important; border-radius: var(--radius) !important; padding: 18px !important; box-shadow: var(--shadow-strong); } .control-panel { position: relative; } .control-panel::before { content: "INPUTS"; position: absolute; top: 12px; right: 14px; color: rgba(17, 22, 20, 0.34); font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; } .control-panel h3 { margin: 0 0 12px !important; color: var(--ink) !important; font-family: var(--font-display) !important; font-size: 22px !important; font-weight: 900 !important; } .control-panel label, .upload-panel label, .gradio-container label, .gradio-container span, .gradio-container p, .gradio-container li { color: var(--ink-soft) !important; } .gradio-container label { font-weight: 780 !important; } .gradio-container textarea, .gradio-container input, .gradio-container select { color: var(--ink) !important; background: #ffffff !important; border: 1px solid var(--line-strong) !important; border-radius: 4px !important; font-family: var(--font-body) !important; font-size: 15px !important; box-shadow: none !important; } .gradio-container textarea::placeholder, .gradio-container input::placeholder { color: #737f7b !important; opacity: 1 !important; } .gradio-container textarea:focus, .gradio-container input:focus, .gradio-container select:focus { outline: 3px solid rgba(31, 95, 125, 0.24) !important; border-color: var(--cad-blue) !important; } .gradio-container .form, .gradio-container .block, .gradio-container .block-background, .gradio-container .input-container, .gradio-container .wrap, .gradio-container .output-markdown, .gradio-container .markdown, .gradio-container .image-container { border-color: var(--line) !important; background: #ffffff !important; color: var(--ink) !important; } .coverage-card { margin-top: 14px; border: 1px solid var(--line-strong); border-top: 5px solid var(--cad-blue); background: rgba(255, 255, 255, 0.82); color: var(--ink); border-radius: var(--radius); padding: 15px 16px; } .coverage-card strong { display: block; margin-bottom: 10px; color: var(--cad-blue-dark); font-family: var(--font-display); font-weight: 900; } .coverage-card ul { margin: 0; padding-left: 18px; } .coverage-card li { margin: 7px 0; line-height: 1.4; } .control-panel button.secondary, .control-panel button[variant="secondary"], .upload-panel button.secondary, .upload-panel button[variant="secondary"] { min-height: 44px !important; border: 1px solid var(--rule) !important; background: #ffffff !important; color: var(--cad-blue-dark) !important; border-radius: 4px !important; font-family: var(--font-display) !important; font-weight: 850 !important; box-shadow: 2px 2px 0 rgba(17, 22, 20, 0.14) !important; } .control-panel button.secondary:hover, .control-panel button[variant="secondary"]:hover, .upload-panel button.secondary:hover, .upload-panel button[variant="secondary"]:hover { background: #eef8f6 !important; } .upload-panel { margin-top: 18px !important; } .upload-panel > div:first-child { color: var(--ink) !important; font-family: var(--font-display) !important; font-weight: 900 !important; } .generate-button button, .map-generate-button button, button.primary { min-height: 54px !important; background: linear-gradient(90deg, var(--survey-green), #0b5f57) !important; color: #ffffff !important; border: 1px solid var(--survey-green-dark) !important; border-radius: 4px !important; font-family: var(--font-display) !important; font-size: 16px !important; font-weight: 900 !important; letter-spacing: 0 !important; box-shadow: 4px 4px 0 rgba(17, 22, 20, 0.24) !important; } .generate-button button:hover, .map-generate-button button:hover, button.primary:hover { background: linear-gradient(90deg, var(--cad-blue), var(--survey-green-dark)) !important; transform: translate(-1px, -1px); } .map-generate-button button { width: 100% !important; min-height: 58px !important; font-size: 17px !important; } .tabs { margin-top: 20px !important; } .tab-nav { border-bottom: 1px solid var(--rule) !important; } .tab-nav button { color: var(--ink-soft) !important; font-family: var(--font-display) !important; font-weight: 850 !important; } .tab-nav button[aria-selected="true"] { color: var(--ink) !important; border-bottom-color: var(--amber) !important; background: #ffffff !important; } .output-intro { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin: 0 0 14px; padding: 13px 15px; border: 1px solid var(--rule); border-left: 8px solid var(--cad-blue); border-radius: var(--radius); background: #ffffff; box-shadow: var(--shadow-flat); } .output-intro strong { color: var(--ink); font-family: var(--font-display); font-weight: 900; } .output-intro span { color: var(--ink-soft) !important; overflow-wrap: anywhere; } .board-preview-frame, .board-preview-empty { border: 1px solid var(--rule); border-radius: var(--radius); background: #ffffff; color: var(--ink-soft); overflow: hidden; box-shadow: var(--shadow-strong); } .board-preview-empty { min-height: 320px; display: grid; place-items: center; color: var(--muted); background: linear-gradient(90deg, rgba(17, 22, 20, 0.05) 1px, transparent 1px), linear-gradient(rgba(17, 22, 20, 0.05) 1px, transparent 1px), #ffffff; background-size: 32px 32px, 32px 32px, auto; } .board-preview-waiting { min-height: 560px; padding: 28px; place-items: stretch; } .empty-board-grid { display: grid; height: 100%; min-height: 500px; grid-template-columns: 1.55fr repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(130px, auto); gap: 14px; } .empty-board-title { grid-row: span 2; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid var(--rule); border-radius: var(--radius); padding: 24px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px), linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px), #101716; background-size: 32px 32px, 32px 32px, auto; color: #ffffff; } .empty-board-title span { color: #8ce6dc !important; font-family: var(--font-mono); font-size: 12px; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; } .empty-board-title b { display: block; max-width: 540px; margin-top: 12px; color: #ffffff; font-family: var(--font-display); font-size: clamp(31px, 3vw, 54px); font-weight: 900; line-height: 0.98; } .empty-board-title small { display: block; max-width: 560px; margin-top: 14px; color: #d5e0dd !important; font-size: 15px; line-height: 1.45; } .empty-board-card { border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 18px; background: #ffffff; color: var(--ink); box-shadow: 4px 4px 0 rgba(17, 22, 20, 0.08); } .empty-board-card b { display: grid; width: 36px; height: 36px; place-items: center; margin-bottom: 20px; background: var(--ink); color: #ffffff; font-family: var(--font-mono); font-size: 12px; } .empty-board-card span { display: block; color: var(--ink); font-family: var(--font-display); font-size: 19px; font-weight: 900; line-height: 1.12; } .board-preview-frame img { display: block; width: 100%; height: auto; } .prose, .markdown, .output-markdown { color: var(--ink) !important; font-size: 15px !important; line-height: 1.58 !important; } .prose h1, .prose h2, .prose h3, .markdown h1, .markdown h2, .markdown h3 { color: var(--ink) !important; font-family: var(--font-display) !important; letter-spacing: 0 !important; } .prose h1, .markdown h1 { font-size: 31px !important; } .prose h2, .markdown h2 { margin-top: 26px !important; font-size: 22px !important; border-bottom: 1px solid var(--line); padding-bottom: 6px; } .prose h3, .markdown h3 { font-size: 17px !important; } .prose code, .markdown code { background: #e7f0ee !important; color: #092b28 !important; border: 1px solid #c8d8d4; border-radius: 3px; padding: 1px 5px; } .prose table, .markdown table { width: 100%; background: #ffffff !important; color: var(--ink) !important; border-collapse: collapse; font-size: 13px !important; } .prose th, .markdown th { background: #14201d !important; color: #ffffff !important; } .prose td, .prose th, .markdown td, .markdown th { border: 1px solid var(--line) !important; padding: 9px !important; } .evidence-shell { background: #ffffff; border: 1px solid var(--rule); border-radius: var(--radius); color: var(--ink); overflow: hidden; box-shadow: var(--shadow-strong); } .evidence-header { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 16px 18px; background: linear-gradient(90deg, rgba(31, 95, 125, 0.28), transparent 60%), #111614; color: #ffffff; } .evidence-header span { display: block; color: #89d7ce !important; font-family: var(--font-mono); font-size: 11px; font-weight: 850; letter-spacing: 0.10em; text-transform: uppercase; } .evidence-header strong { display: block; margin-top: 4px; color: #ffffff; font-family: var(--font-display); font-size: 20px; font-weight: 900; } .evidence-header b { color: #ffffff; font-family: var(--font-mono); white-space: nowrap; } .evidence-scroll { overflow-x: auto; background: #ffffff; } .evidence-html-table { width: 100%; min-width: 1320px; border-collapse: collapse; table-layout: fixed; background: #ffffff; color: var(--ink); } .evidence-html-table th { position: sticky; top: 0; z-index: 1; background: #17211e; color: #ffffff; border-bottom: 2px solid var(--line-strong); font-family: var(--font-display); font-size: 12px; line-height: 1.25; text-align: left; text-transform: uppercase; letter-spacing: 0.04em; padding: 12px 10px; } .evidence-html-table td { vertical-align: top; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 13px; line-height: 1.44; padding: 12px 10px; overflow-wrap: anywhere; } .evidence-html-table tr:nth-child(even) td { background: #f5f8f6; } .evidence-id { font-family: var(--font-mono); color: var(--cad-blue-dark) !important; font-weight: 850; } .evidence-html-table small { display: block; margin-top: 5px; color: var(--muted); } .confidence { display: inline-block; border-radius: 3px; padding: 4px 7px; font-family: var(--font-mono); font-size: 11px; font-weight: 850; text-transform: uppercase; } .confidence-high { background: #d7eee9; color: #083e36; } .confidence-medium { background: #fff1cf; color: #60410f; } .confidence-low { background: #f8dcd4; color: #722719; } .gradio-container a { color: var(--cad-blue) !important; } .gradio-container a:visited { color: #5b456c !important; } footer { color: var(--muted) !important; } #app-header, .workflow-strip, #sis-map-shell, .control-panel, .upload-panel, .tabs { opacity: 1 !important; transform: none !important; animation: none !important; filter: none !important; } @media (max-width: 1120px) { .studio-workbench { grid-template-columns: 1fr 1fr !important; } .canvas-pane { grid-column: 1 / -1; order: -1; } .header-grid { grid-template-columns: 1fr; } .status-stack { grid-template-columns: repeat(3, minmax(0, 1fr)); } .status-stack div { grid-template-columns: 1fr; } } @media (max-width: 920px) { html, body { width: 100% !important; max-width: 100vw !important; margin: 0 !important; padding: 0 !important; background: var(--canvas) !important; } gradio-app, #root, .app, .main, .contain, .gradio-container > .main, .gradio-container .contain { width: 100vw !important; max-width: 100vw !important; min-width: 0 !important; margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important; overflow-x: hidden !important; } .gradio-container { padding: 10px !important; overflow-x: hidden !important; margin: 0 !important; width: 100vw !important; max-width: 100vw !important; min-width: 0 !important; } #app-header { padding: 20px 16px 34px; width: 100%; max-width: calc(100vw - 20px) !important; } #app-header h1 { font-size: clamp(31px, 10vw, 39px); line-height: 0.96; } #app-header::after { left: 18px; right: auto; bottom: 10px; } .workflow-strip, .status-stack { grid-template-columns: 1fr; } .studio-topbar { align-items: flex-start; flex-direction: column; padding: 20px 18px; } .gradio-container .studio-shell .studio-topbar h1, .gradio-container .studio-shell .studio-topbar .prose h1, .gradio-container .studio-shell .studio-topbar .markdown h1 { font-size: clamp(31px, 9.5vw, 40px) !important; line-height: 0.96 !important; } .studio-meta { justify-content: flex-start; } .studio-briefing, .studio-proof-row, .studio-workbench { grid-template-columns: 1fr !important; } .studio-shell > .deliverables-strip, .studio-proof-row { display: none; } .studio-briefing div:nth-child(n + 2) { display: none; } .studio-briefing div, .studio-proof-row div { border-right: 0; border-bottom: 1px solid var(--line); } .studio-briefing div:last-child, .studio-proof-row div:last-child { border-bottom: 0; } .canvas-pane { order: -1; } .workflow-strip, #sis-map-shell, .warning-note, .control-panel, .upload-panel, .tabs, .studio-shell, .brief-pane, .source-pane, .canvas-pane, .review-header, .review-tabs { width: 100% !important; max-width: calc(100vw - 20px) !important; } .workflow-strip div { border-right: 0; border-bottom: 1px solid var(--line); } .workflow-strip div:last-child { border-bottom: 0; } .main-workspace, .main-workspace > div, .main-workspace .map-workspace, .main-workspace .control-panel { display: flex !important; flex-direction: column !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; flex: 1 1 100% !important; } .map-topbar { align-items: flex-start; flex-direction: column; } .map-confidence { white-space: normal; } #site-map { height: 500px; min-height: 420px; } .map-controls button, .map-controls select { flex: 1 1 calc(50% - 8px); min-width: 0; } .map-controls button { min-height: 42px; padding: 9px 10px; } .map-controls label { width: 100%; } .map-controls label select { max-width: 128px; } .deliverables-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } .deliverables-strip div:nth-child(2n) { border-right: 0; } .deliverables-strip div { border-bottom: 1px solid var(--line); } .deliverables-strip div:nth-last-child(-n + 2) { border-bottom: 0; } .empty-board-grid { grid-template-columns: 1fr; min-height: auto; } .empty-board-title { grid-row: auto; min-height: 260px; } .board-preview-waiting { min-height: auto; padding: 14px; } .control-panel { margin-top: 16px !important; } .output-intro { align-items: flex-start; flex-direction: column; } }