From ac79363c252f068cd0890e43bfae9b0c07754ed7 Mon Sep 17 00:00:00 2001 From: a2a-cloud Date: Sun, 19 Jul 2026 19:53:32 +0000 Subject: [PATCH] a2a-source-edit: write frontend/src/style.css --- frontend/src/style.css | 345 +++++++++++++++-------------------------- 1 file changed, 123 insertions(+), 222 deletions(-) diff --git a/frontend/src/style.css b/frontend/src/style.css index ca086b3..cad7c39 100644 --- a/frontend/src/style.css +++ b/frontend/src/style.css @@ -1,244 +1,145 @@ :root { - color-scheme: dark; + color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; - background: #090909; - color: #f5f5f5; + background: #f5f7fb; + color: #172033; } -* { - box-sizing: border-box; -} +* { box-sizing: border-box; } +body { margin: 0; min-height: 100vh; background: #f5f7fb; } +button, textarea, input, select { font: inherit; } +button { cursor: pointer; } +.loading { min-height: 100vh; display: grid; place-items: center; color: #526070; } -body { - margin: 0; - min-height: 100vh; - background: #090909; -} - -button, -textarea { - font: inherit; -} - -button { - cursor: pointer; -} - -.loading { - min-height: 100vh; +.dashboard-app { + width: min(1380px, calc(100vw - 32px)); + margin: 0 auto; + padding: 24px 0 42px; display: grid; - place-items: center; - color: #b8b8b8; -} - -.app-shell { - min-height: 100vh; - display: grid; - grid-template-columns: minmax(260px, 340px) 1fr; -} - -.sidebar { - min-height: 100vh; - border-right: 1px solid #222; - background: #0d0d0d; - padding: 28px; - display: grid; - align-content: start; - gap: 28px; -} - -.eyebrow { - margin: 0 0 10px; - color: #8bd8c6; - font-size: 12px; - letter-spacing: 0; - text-transform: uppercase; -} - -h1, -h2, -h3, -p { - margin-top: 0; -} - -h1 { - margin-bottom: 10px; - font-size: clamp(32px, 5vw, 56px); - line-height: 0.95; - letter-spacing: 0; -} - -h2 { - margin-bottom: 0; - font-size: 30px; - letter-spacing: 0; -} - -h3 { - margin-bottom: 12px; - color: #d7d7d7; - font-size: 14px; - letter-spacing: 0; -} - -.agent-meta { - margin-bottom: 0; - color: #a6a6a6; -} - -.skill-list { - display: grid; - gap: 10px; -} - -.skill { - width: 100%; - min-height: 58px; - border: 1px solid #252525; - border-radius: 8px; - background: #121212; - color: #f3f3f3; - padding: 12px 14px; - display: flex; - align-items: center; - justify-content: space-between; - gap: 16px; - text-align: left; -} - -.skill:hover, -.skill.active { - border-color: #5bb7a7; - background: #15201d; -} - -.skill span { - overflow-wrap: anywhere; -} - -.skill small { - color: #9d9d9d; -} - -.session { - border: 1px solid #252525; - border-radius: 8px; - padding: 14px; - color: #a6a6a6; - display: grid; - gap: 4px; -} - -.session strong { - color: #f3f3f3; - overflow-wrap: anywhere; -} - -.workbench { - padding: 28px; - display: grid; - align-content: start; - gap: 22px; -} - -.toolbar { - display: flex; - align-items: center; - justify-content: space-between; gap: 18px; } -.toolbar a, -.runner button { - border: 1px solid #e8e8e8; - border-radius: 7px; - background: #f4f4f4; - color: #111; - padding: 10px 14px; +.hero-card, .input-panel, .result-panel, .history-panel { + border: 1px solid #dce4ef; + border-radius: 24px; + background: rgba(255, 255, 255, 0.92); + box-shadow: 0 18px 45px rgba(20, 35, 60, 0.08); +} + +.hero-card { + padding: 30px; + display: grid; + grid-template-columns: 1fr minmax(240px, 320px); + gap: 24px; + align-items: center; + background: linear-gradient(135deg, #fff 0%, #eef8ff 56%, #eafbf4 100%); +} + +.eyebrow { + margin: 0 0 9px; + color: #0b7d69; + font-size: 12px; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.08em; +} + +h1, h2, h3, p { margin-top: 0; } +h1 { margin-bottom: 12px; font-size: clamp(34px, 5vw, 60px); line-height: 0.95; letter-spacing: -0.055em; } +h2 { margin-bottom: 0; font-size: clamp(22px, 3vw, 32px); line-height: 1.05; letter-spacing: -0.035em; } +h3 { margin-bottom: 12px; } +.hero-copy { margin: 0; max-width: 820px; color: #526070; font-size: 17px; line-height: 1.6; } + +.session-card { + border: 1px solid #c8d6e5; + border-radius: 18px; + padding: 18px; + display: grid; + gap: 6px; + background: #fff; +} +.session-card span { color: #667789; font-size: 13px; } +.session-card strong { overflow-wrap: anywhere; } +.signin, .download, [data-testid="agent-submit"] { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 8px; + border: 0; + border-radius: 14px; + background: #102235; + color: white; + padding: 12px 16px; text-decoration: none; - white-space: nowrap; + font-weight: 800; } -.runner { +.workflow-grid { display: grid; - gap: 12px; + grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr); + gap: 18px; } +.input-panel, .result-panel, .history-panel { padding: 22px; } +.panel-heading { margin-bottom: 18px; } -.runner label { - display: grid; - gap: 10px; - color: #d7d7d7; -} - -.runner textarea { +.input-panel { display: grid; gap: 14px; align-content: start; } +label { display: grid; gap: 7px; color: #415064; font-weight: 700; } +input, select, textarea { width: 100%; - min-height: 170px; - resize: vertical; - border: 1px solid #252525; - border-radius: 8px; - background: #070707; - color: #eeeeee; - padding: 14px; - line-height: 1.5; - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; + border: 1px solid #ccd8e5; + border-radius: 14px; + background: #fbfdff; + color: #172033; + padding: 12px 13px; + outline: none; } +input:focus, select:focus, textarea:focus { border-color: #0b7d69; box-shadow: 0 0 0 3px rgba(11, 125, 105, 0.12); } +textarea { min-height: 265px; resize: vertical; line-height: 1.45; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; } +[data-testid="agent-submit"] { width: 100%; min-height: 48px; } +[data-testid="agent-submit"]:disabled { opacity: 0.55; cursor: not-allowed; } +.notice { margin: 0; color: #746219; background: #fff8db; border-radius: 12px; padding: 10px; } +.error { margin: 0; color: #8f1d2c; background: #fff0f2; border-radius: 12px; padding: 10px; } -.runner button { - justify-self: start; +.result-panel { min-width: 0; display: grid; gap: 16px; align-content: start; } +.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } +.metric { border: 1px solid #e0e8f2; border-radius: 18px; padding: 14px; background: #f8fbff; display: grid; gap: 8px; } +.metric span { color: #667789; font-size: 12px; font-weight: 800; text-transform: uppercase; } +.metric strong { font-size: 27px; letter-spacing: -0.04em; } +.filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; color: #526070; } +.filters span, .pill { border-radius: 999px; padding: 5px 9px; font-weight: 800; font-size: 12px; background: #eef3f8; color: #334155; } +.pill.green { background: #dcfce7; color: #166534; } +.pill.yellow { background: #fef3c7; color: #92400e; } +.pill.red { background: #fee2e2; color: #991b1b; } + +.table-wrap { overflow: auto; border: 1px solid #dfe8f1; border-radius: 18px; } +table { width: 100%; border-collapse: collapse; min-width: 760px; } +th, td { padding: 12px; border-bottom: 1px solid #edf2f7; text-align: left; vertical-align: top; font-size: 14px; } +th { background: #f8fbff; color: #526070; font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; } +tr:last-child td { border-bottom: 0; } + +.exceptions { display: grid; gap: 10px; } +.exceptions article, .history-list article { + border: 1px solid #e1e9f2; + border-radius: 16px; + padding: 13px; + background: #fff; } +.exceptions article strong, .history-list article strong { display: block; margin-bottom: 5px; } +.exceptions article span, .history-list article span { color: #667789; font-size: 13px; } +.exceptions article p, .history-list article p { margin: 8px 0 0; color: #526070; } +.receipt { border: 1px dashed #9fb1c4; border-radius: 16px; padding: 12px; display: grid; gap: 5px; color: #526070; } +.receipt code { color: #172033; overflow-wrap: anywhere; } +.download { justify-self: start; background: #0b7d69; } +.empty-state { border: 1px dashed #b8c7d6; border-radius: 18px; padding: 22px; color: #526070; background: #fbfdff; } +.history-panel { display: grid; gap: 12px; } +.history-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } -.runner button:disabled { - cursor: wait; - opacity: 0.72; +@media (max-width: 980px) { + .hero-card, .workflow-grid { grid-template-columns: 1fr; } + .metric-grid, .history-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } } - -.panels { - display: grid; - grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 16px; -} - -.panel { - min-width: 0; - border: 1px solid #252525; - border-radius: 8px; - padding: 16px; - background: #0d0d0d; -} - -pre { - min-height: 260px; - max-height: 420px; - margin: 0; - overflow: auto; - color: #dcdcdc; - line-height: 1.5; - font-size: 13px; - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; -} - -.empty { - color: #aaa; -} - -@media (max-width: 820px) { - .app-shell { - grid-template-columns: 1fr; - } - - .sidebar { - min-height: auto; - border-right: 0; - border-bottom: 1px solid #222; - } - - .panels { - grid-template-columns: 1fr; - } - - .toolbar { - align-items: flex-start; - flex-direction: column; - } +@media (max-width: 640px) { + .dashboard-app { width: min(100vw - 18px, 1380px); padding-top: 9px; } + .hero-card, .input-panel, .result-panel, .history-panel { border-radius: 18px; padding: 16px; } + .metric-grid, .history-list { grid-template-columns: 1fr; } }