/* ========================================================================== SMS Gateway · Anthropic-inspired warm editorial theme Cream canvas (#faf9f5) · Coral voltage (#cc785c) · Dark footer close. Serif display (Cormorant Garamond) + sans body (Inter). ========================================================================== */ :root { /* Brand */ --primary: #cc785c; --primary-active: #a9583e; --primary-disabled: #e6dfd8; --accent-teal: #5db8a6; --accent-amber: #e8a55a; /* Surfaces */ --canvas: #faf9f5; --surface-soft: #f5f0e8; --surface-card: #efe9de; --surface-cream-strong: #e8e0d2; --surface-dark: #181715; --surface-dark-elevated: #252320; --surface-dark-soft: #1f1e1b; /* Lines */ --hairline: #e6dfd8; --hairline-soft: #ebe6df; --hairline-dark: rgba(250, 249, 245, 0.10); --hairline-dark-soft: rgba(250, 249, 245, 0.06); /* Text */ --ink: #141413; --body-strong: #252523; --body: #3d3d3a; --muted: #6c6a64; --muted-soft: #8e8b82; --on-primary: #ffffff; --on-dark: #faf9f5; --on-dark-soft: #a09d96; /* Semantic */ --success: #5db872; --warning: #d4a017; --error: #c64545; /* Type families */ --font-serif: "Cormorant Garamond", "EB Garamond", "Tiempos Headline", Georgia, "Times New Roman", serif; --font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace; /* Spacing */ --space-xxs: 4px; --space-xs: 8px; --space-sm: 12px; --space-md: 16px; --space-lg: 24px; --space-xl: 32px; --space-xxl: 48px; --space-section: 96px; /* Radii */ --r-xs: 4px; --r-sm: 6px; --r-md: 8px; --r-lg: 12px; --r-xl: 16px; --r-pill: 9999px; } * { box-sizing: border-box; } html { scroll-behavior: smooth; scroll-padding-top: 80px; } body { margin: 0; background: var(--canvas); color: var(--body); font-family: var(--font-sans); font-size: 16px; line-height: 1.55; letter-spacing: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } button, input, textarea, select { font: inherit; letter-spacing: 0; } a { color: inherit; text-decoration: none; } ::selection { background: rgba(204, 120, 92, 0.22); color: var(--ink); } .container { width: min(1200px, calc(100% - 48px)); margin: 0 auto; } /* ---------- Type primitives ---------------------------------------------- */ h1, h2, h3, h4, p { margin: 0; } h1, h2 { color: var(--ink); font-family: var(--font-serif); font-weight: 400; } h1 { font-size: clamp(44px, 6.4vw, 72px); line-height: 1.02; letter-spacing: -1.8px; } /* italic serif as editorial flourish — DESIGN allows italic for emphasis */ h1 em, h2 em { font-style: italic; font-weight: 400; color: var(--primary); } h2 { font-size: clamp(30px, 3.6vw, 40px); line-height: 1.12; letter-spacing: -0.6px; margin-top: 14px; } h3 { color: var(--ink); font-family: var(--font-serif); font-size: 32px; font-weight: 400; line-height: 1.1; letter-spacing: -0.4px; } .lede { max-width: 520px; margin-top: 24px; color: var(--body-strong); font-size: 18px; line-height: 1.6; } /* ---------- Spike-mark (Anthropic 4-spoke radial) ------------------------ */ .spike { width: 12px; height: 12px; flex: none; color: var(--ink); } .spike--coral { color: var(--primary); } /* ---------- Eyebrows (caption-uppercase) --------------------------------- */ .eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-sans); font-size: 12px; font-weight: 500; line-height: 1.4; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); } .eyebrow__dot { width: 6px; height: 6px; border-radius: var(--r-pill); background: var(--muted-soft); } .eyebrow--coral { color: var(--primary); } .eyebrow--coral .eyebrow__dot { background: var(--primary); box-shadow: 0 0 0 3px rgba(204, 120, 92, 0.18); } .eyebrow--spike { gap: 6px; } /* Coral inline text-link */ .text-link { color: var(--primary); font-weight: 500; font-size: 14px; transition: color 120ms ease; } .text-link:hover { color: var(--primary-active); } /* ---------- Top nav ------------------------------------------------------- */ .top-nav { position: sticky; top: 0; z-index: 30; height: 64px; background: rgba(250, 249, 245, 0.88); backdrop-filter: saturate(180%) blur(14px); -webkit-backdrop-filter: saturate(180%) blur(14px); border-bottom: 1px solid var(--hairline-soft); } .top-nav__inner { width: min(1200px, calc(100% - 48px)); height: 64px; margin: 0 auto; display: flex; align-items: center; gap: 24px; } .brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-family: var(--font-sans); font-size: 15px; font-weight: 500; letter-spacing: -0.1px; white-space: nowrap; } .brand__mark { width: 20px; height: 20px; color: var(--ink); flex: none; } .brand__name { font-family: var(--font-sans); font-size: 15px; font-weight: 600; letter-spacing: -0.2px; } .nav-links { display: flex; align-items: center; gap: 22px; margin-left: 24px; color: var(--muted); font-size: 14px; font-weight: 500; } .nav-links a { padding: 6px 0; transition: color 120ms ease; } .nav-links a:hover { color: var(--ink); } .top-nav__actions { margin-left: auto; display: flex; align-items: center; gap: 10px; } /* ---------- Buttons ------------------------------------------------------- */ .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; border: 0; border-radius: var(--r-md); padding: 12px 20px; font-family: var(--font-sans); font-size: 14px; font-weight: 500; line-height: 1; cursor: pointer; transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease; } .button:disabled { cursor: not-allowed; opacity: 0.55; } .button--primary { background: var(--primary); color: var(--on-primary); } .button--primary:active { background: var(--primary-active); } .button--secondary { background: var(--canvas); color: var(--ink); border: 1px solid var(--hairline); } .button--secondary:active { background: var(--surface-card); border-color: var(--surface-cream-strong); } .button--secondary-on-dark { background: var(--surface-dark-elevated); color: var(--on-dark); border: 1px solid var(--hairline-dark); } .button--ghost-on-coral { background: transparent; color: var(--on-primary); border: 1px solid rgba(255, 255, 255, 0.4); } .button--danger { border: 1px solid rgba(198, 69, 69, 0.28); background: rgba(198, 69, 69, 0.08); color: var(--error); } .button--danger:active { background: rgba(198, 69, 69, 0.16); } .button--compact { min-height: 32px; padding: 8px 14px; font-size: 13px; } .icon-button { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--hairline); border-radius: var(--r-pill); background: var(--canvas); color: var(--ink); cursor: pointer; transition: background-color 120ms ease; } .icon-button:hover { background: var(--surface-card); } .icon-button svg { width: 14px; height: 14px; } .button:focus-visible, .icon-button:focus-visible, .channel-list__item:focus-visible, .text-input:focus-visible, .select-input:focus-visible, .nav-links a:focus-visible, .text-link:focus-visible { outline: 3px solid rgba(204, 120, 92, 0.28); outline-offset: 2px; } /* ---------- Hero ---------------------------------------------------------- */ .hero-band { padding: var(--space-section) 0; background: var(--canvas); position: relative; overflow: hidden; } .hero-band::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 88% 8%, rgba(204, 120, 92, 0.08), transparent 50%), radial-gradient(circle at 12% 92%, rgba(93, 184, 166, 0.05), transparent 45%); pointer-events: none; } .hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(340px, 460px); align-items: stretch; gap: var(--space-xxl); } .hero-copy { display: flex; flex-direction: column; justify-content: center; min-height: 360px; padding-block: 12px; } .hero-copy h1 { margin-top: 18px; } .hero-actions { margin-top: 32px; display: inline-flex; align-items: center; gap: 14px; flex-wrap: wrap; } .hero-divider { color: var(--muted-soft); } /* Runtime card (hero right side) */ .runtime-card { display: flex; flex-direction: column; gap: var(--space-lg); border-radius: var(--r-lg); background: var(--surface-card); border: 1px solid var(--hairline); padding: var(--space-xl); box-shadow: 0 1px 3px rgba(20, 20, 19, 0.04); } .runtime-card__header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); font-family: var(--font-sans); font-size: 12px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); } .runtime-card__label { display: inline-flex; align-items: center; gap: 8px; } .runtime-card__status { display: inline-flex; align-items: center; gap: 8px; } .runtime-card__status strong { color: var(--success); font-family: var(--font-sans); font-weight: 500; text-transform: none; letter-spacing: 0; font-size: 13px; } .status-dot { width: 8px; height: 8px; border-radius: var(--r-pill); background: var(--success); box-shadow: 0 0 0 3px rgba(93, 184, 114, 0.22); } .status-dot--amber { background: var(--accent-amber); box-shadow: 0 0 0 3px rgba(232, 165, 90, 0.22); } .runtime-card__hero { display: flex; flex-direction: column; gap: 6px; } .runtime-card__caption { color: var(--muted); font-family: var(--font-sans); font-size: 12px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; } .runtime-card__value { font-family: var(--font-serif); font-size: clamp(40px, 4.6vw, 56px); font-weight: 400; line-height: 1.05; letter-spacing: -1px; color: var(--ink); } .runtime-card__meta { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); margin: 0; padding-top: var(--space-md); border-top: 1px solid var(--hairline); } .runtime-card__meta div { display: flex; flex-direction: column; gap: 4px; } .runtime-card__meta dt { color: var(--muted); font-family: var(--font-sans); font-size: 12px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; } .runtime-card__meta dd { margin: 0; color: var(--ink); font-size: 15px; font-weight: 500; letter-spacing: -0.1px; overflow-wrap: anywhere; } /* ---------- Sections ------------------------------------------------------ */ .section-band { padding: var(--space-section) 0; background: var(--canvas); } .section-band--soft { background: var(--surface-soft); } .section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-xl); margin-bottom: var(--space-xl); } .section-heading p { max-width: 560px; color: var(--muted); font-size: 16px; line-height: 1.6; } .section-heading--compact { display: block; margin-bottom: var(--space-lg); } .section-heading--compact p { margin-top: var(--space-sm); } /* ---------- Status bento -------------------------------------------------- */ .bento-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--space-md); margin-bottom: var(--space-md); } .bento-hero { position: relative; display: flex; flex-direction: column; justify-content: center; gap: var(--space-sm); border-radius: var(--r-lg); background: var(--surface-card); border: 1px solid var(--hairline); padding: var(--space-xl) var(--space-xxl); min-height: 220px; overflow: hidden; } .bento-hero::before { content: ""; position: absolute; left: 0; top: var(--space-lg); bottom: var(--space-lg); width: 3px; border-radius: var(--r-pill); background: var(--primary); } .bento-hero h3 { font-family: var(--font-serif); font-size: clamp(38px, 4.6vw, 56px); font-weight: 400; line-height: 1.02; letter-spacing: -1.2px; color: var(--ink); margin-top: 4px; } .bento-hero p { margin-top: 10px; max-width: 520px; color: var(--muted); font-size: 16px; line-height: 1.6; } .bento-control { display: flex; flex-direction: column; gap: var(--space-sm); border-radius: var(--r-lg); background: var(--surface-cream-strong); border: 1px solid var(--hairline); padding: var(--space-xl); min-height: 220px; } .bento-control h3 { font-size: 28px; } .bento-control p { color: var(--muted); font-size: 14px; line-height: 1.55; flex: 1; } .bento-control__actions { display: flex; flex-direction: column; gap: 8px; margin-top: auto; } .mobile-data-status { min-height: 18px; } /* Stat strip (3-up compact) */ .stat-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); } .stat-tile { display: flex; flex-direction: column; border-radius: var(--r-lg); background: var(--surface-card); border: 1px solid var(--hairline); padding: var(--space-lg) var(--space-xl); min-height: 160px; transition: border-color 160ms ease, transform 160ms ease; } .stat-tile:hover { border-color: var(--surface-cream-strong); } .stat-tile .eyebrow { margin-bottom: var(--space-md); } .stat-tile__value { font-family: var(--font-serif); font-size: clamp(28px, 3vw, 38px); font-weight: 400; line-height: 1.1; letter-spacing: -0.6px; color: var(--ink); overflow-wrap: anywhere; } .stat-tile__value--mono { font-family: var(--font-mono); font-size: 17px; font-weight: 500; letter-spacing: 0; } .stat-tile__hint { margin-top: auto; padding-top: var(--space-sm); color: var(--muted); font-size: 13px; line-height: 1.5; } /* ---------- Inbox --------------------------------------------------------- */ .inbox-panel { border-radius: var(--r-lg); background: var(--surface-card); border: 1px solid var(--hairline); padding: var(--space-lg); } .inbox-meta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); border-bottom: 1px solid var(--hairline); padding-bottom: var(--space-md); color: var(--muted); font-size: 13px; } .inbox-meta__hint { color: var(--muted-soft); font-size: 13px; font-weight: 500; } .message-list { display: grid; gap: var(--space-sm); max-height: 520px; overflow: auto; padding-top: var(--space-md); } .message-item { position: relative; border: 1px solid var(--hairline); border-radius: var(--r-md); background: var(--canvas); padding: var(--space-md) var(--space-lg); transition: border-color 120ms ease, transform 120ms ease; } .message-item:hover { border-color: var(--surface-cream-strong); } .message-item__header { display: grid; grid-template-columns: minmax(140px, 1fr) auto auto; align-items: center; gap: var(--space-md); } .message-item__header strong { overflow-wrap: anywhere; color: var(--ink); font-size: 16px; font-weight: 600; letter-spacing: -0.2px; } .message-item__header time { color: var(--muted); font-family: var(--font-sans); font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; } .message-status { border-radius: var(--r-pill); background: var(--surface-card); color: var(--muted); padding: 4px 10px; font-size: 11px; font-weight: 500; line-height: 1.4; letter-spacing: 0.5px; text-transform: uppercase; white-space: nowrap; } .message-item.is-forwarded { border-left: 3px solid var(--success); } .message-item.is-forwarded .message-status { background: rgba(93, 184, 114, 0.16); color: #2f7c44; } .message-text { margin-top: 10px; color: var(--body); font-size: 14px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; } /* ---------- Forms / workbench -------------------------------------------- */ .workbench-grid { display: grid; grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr); gap: var(--space-lg); align-items: stretch; } .form-card, .console-card { border-radius: var(--r-lg); background: var(--surface-card); border: 1px solid var(--hairline); padding: var(--space-xl); } .stack-form { display: grid; gap: var(--space-lg); } .field { display: grid; gap: var(--space-xs); } .field__label, .stack-form label > span:not(.field__label), .channel-form label > span:not(.field__label) { color: var(--body-strong); font-size: 13px; font-weight: 500; letter-spacing: 0.2px; } .text-input { width: 100%; min-height: 40px; border: 1px solid var(--hairline); border-radius: var(--r-md); background: var(--canvas); color: var(--ink); padding: 10px 14px; font-size: 15px; line-height: 1.4; transition: border-color 120ms ease, box-shadow 120ms ease; } .text-input::placeholder { color: var(--muted-soft); } .text-input:focus { border-color: var(--primary); outline: 0; box-shadow: 0 0 0 3px rgba(204, 120, 92, 0.18); } .select-input { appearance: auto; } .text-area { min-height: 144px; resize: vertical; line-height: 1.6; } .text-area--code { min-height: 160px; font-family: var(--font-mono); font-size: 13px; line-height: 1.65; } .text-input--mono { font-family: var(--font-mono); font-size: 14px; } .form-actions { display: flex; align-items: center; gap: var(--space-md); flex-wrap: wrap; } .form-status { color: var(--muted); font-size: 13px; } .form-status.is-error { color: var(--error); } .form-status.is-success { color: var(--success); } /* ---------- Console card -------------------------------------------------- */ .console-card { display: grid; grid-template-rows: auto auto minmax(220px, 1fr); gap: var(--space-lg); } .panel-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); color: var(--muted); font-family: var(--font-sans); font-size: 12px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; } .panel-header__label { display: inline-flex; align-items: center; gap: 8px; } .panel-header__status { display: inline-flex; align-items: center; gap: 8px; } .panel-header__status strong { color: var(--accent-amber); font-family: var(--font-sans); font-weight: 500; text-transform: none; letter-spacing: 0; font-size: 13px; } .at-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-sm); } .console-output { overflow: auto; margin: 0; border-radius: var(--r-md); background: var(--surface-soft); border: 1px solid var(--hairline); padding: var(--space-lg); min-height: 220px; white-space: pre-wrap; color: var(--body-strong); font-family: var(--font-sans); font-size: 14px; font-variant-numeric: tabular-nums; line-height: 1.7; } /* ---------- Logs ---------------------------------------------------------- */ .log-window { overflow: auto; border-radius: var(--r-lg); background: var(--surface-card); border: 1px solid var(--hairline); padding: var(--space-md) var(--space-lg); height: 460px; } .log-line { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: var(--space-md); border-bottom: 1px solid var(--hairline-soft); padding: 10px 0; } .log-line:last-child { border-bottom: 0; } .log-level { color: var(--muted); font-family: var(--font-sans); font-size: 12px; font-weight: 500; letter-spacing: 0.3px; font-variant-numeric: tabular-nums; text-transform: uppercase; } .log-line.is-error .log-level { color: var(--error); } .log-line.is-warn .log-level { color: var(--warning); } .log-line.is-info .log-level { color: var(--accent-teal); } .log-message { overflow-wrap: anywhere; color: var(--body-strong); font-family: var(--font-sans); font-size: 14px; line-height: 1.6; } .empty-state { color: var(--muted); font-size: 14px; } .empty-state--light { color: var(--muted); font-size: 14px; } /* ---------- Footer (slim, single row) ------------------------------------ */ .footer { background: var(--surface-dark); color: var(--on-dark-soft); padding: var(--space-lg) 0; } .footer__inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-md); } .brand--footer { color: var(--on-dark); font-family: var(--font-sans); font-size: 15px; font-weight: 500; } .brand--footer .brand__mark { color: var(--on-dark); } .footer__meta { color: var(--on-dark-soft); font-family: var(--font-sans); font-size: 13px; font-weight: 500; letter-spacing: 0; } /* ---------- Modal --------------------------------------------------------- */ body.modal-open { overflow: hidden; } .modal { position: fixed; inset: 0; z-index: 50; display: none; align-items: center; justify-content: center; padding: var(--space-lg); } .modal.is-open { display: flex; } .modal__backdrop { position: absolute; inset: 0; background: rgba(20, 20, 19, 0.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); } .modal__dialog { position: relative; width: min(1040px, 100%); max-height: min(86vh, 860px); overflow: auto; border-radius: var(--r-lg); background: var(--canvas); box-shadow: 0 24px 80px rgba(20, 20, 19, 0.32); padding: var(--space-xl); } .modal__header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-lg); border-bottom: 1px solid var(--hairline); padding-bottom: var(--space-lg); } .modal__header h2 { margin-top: 10px; } .push-settings { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: var(--space-lg); margin-top: var(--space-lg); } .channel-list-panel { border-radius: var(--r-lg); background: var(--surface-card); border: 1px solid var(--hairline); padding: 20px; } .panel-header--light { color: var(--muted); } .channel-list-panel .panel-header { display: grid; grid-template-columns: 1fr; align-items: start; gap: 10px; } .channel-add { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-xs); width: 100%; } .channel-add__select { min-height: 32px; min-width: 0; padding: 6px 10px; font-size: 13px; } .channel-list { display: grid; gap: 10px; max-height: 520px; overflow: auto; margin-top: 18px; } .channel-list__item { position: relative; width: 100%; border: 1px solid var(--hairline); border-radius: var(--r-md); background: var(--canvas); color: var(--body); padding: 14px 16px; text-align: left; cursor: pointer; transition: border-color 120ms ease, background-color 120ms ease; } .channel-list__item:hover { border-color: var(--surface-cream-strong); background: var(--surface-soft); } .channel-list__item.is-active { border-color: var(--surface-cream-strong); background: var(--surface-cream-strong); color: var(--ink); } .channel-list__item.is-active::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px; border-radius: var(--r-pill); background: var(--primary); } .channel-list__name { display: block; overflow-wrap: anywhere; color: inherit; font-size: 15px; font-weight: 600; letter-spacing: -0.2px; } .channel-list__meta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); margin-top: 8px; color: var(--muted); font-family: var(--font-sans); font-size: 12px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; } .channel-list__item.is-active .channel-list__meta { color: var(--primary); } .channel-form { border-radius: var(--r-lg); background: var(--surface-card); border: 1px solid var(--hairline); padding: var(--space-lg); } .form-fieldset { margin: 0; border: 0; padding: 0; } .form-fieldset:disabled { opacity: 0.55; } .channel-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg); } .channel-form label { display: grid; gap: var(--space-xs); } .switch-row { grid-column: 1 / -1; display: inline-flex; flex-direction: row; align-items: center; gap: 10px; width: max-content; font-weight: 500; color: var(--body-strong); } .switch-row input { width: 18px; min-height: 18px; accent-color: var(--primary); } .field-row--wide { grid-column: 1 / -1; } .channel-form__actions { margin-top: var(--space-lg); } .is-hidden { display: none !important; } /* ---------- Responsive ---------------------------------------------------- */ @media (max-width: 1024px) { .hero-grid, .workbench-grid, .push-settings, .bento-grid { grid-template-columns: 1fr; } .stat-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 767px) { .container, .top-nav__inner { width: min(100% - 32px, 1200px); } .top-nav { height: auto; } .top-nav__inner { min-height: 64px; flex-wrap: wrap; padding: 12px 0; } .nav-links { order: 3; width: 100%; margin-left: 0; overflow-x: auto; padding-bottom: 4px; gap: 16px; } .top-nav__actions { margin-left: auto; } .hero-band { padding: 56px 0 64px; } .hero-copy { min-height: 0; } .section-band { padding: 64px 0; } .section-heading { display: grid; align-items: start; gap: var(--space-md); } .stat-strip { grid-template-columns: 1fr; } .form-card, .console-card, .bento-hero, .bento-control, .runtime-card { padding: var(--space-lg); } .at-form { grid-template-columns: 1fr; } .message-item__header { grid-template-columns: 1fr; align-items: start; } .message-item__header time, .message-status { width: max-content; } .log-window { height: 360px; } .log-line { grid-template-columns: 1fr; gap: 4px; } .modal { align-items: stretch; padding: 12px; } .modal__dialog { max-height: calc(100vh - 24px); padding: 20px; } .modal__header { gap: var(--space-md); padding-bottom: 18px; } .channel-form, .channel-list-panel { padding: 20px; } .channel-form__grid { grid-template-columns: 1fr; } .switch-row, .field-row--wide { grid-column: auto; } }