2026-08-04 14:14:12 +08:00
|
|
|
|
/* The takeover seats where the input card sits, centered on the InputBar
|
|
|
|
|
|
axis at the shared content width (input card - 32): sides = clearance +
|
|
|
|
|
|
16px so the relation also holds on narrow viewports. */
|
2026-07-22 23:39:50 +08:00
|
|
|
|
.frame {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
justify-content: center;
|
2026-08-04 14:14:12 +08:00
|
|
|
|
padding: 6px calc(var(--dsh-composer-side-clearance) + 16px) 10px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
/* Figma Input 973:36348 body over the 1019:36938 header: no banner strip —
|
|
|
|
|
|
the card keeps zero padding and sections carry their own insets. */
|
2026-07-22 23:39:50 +08:00
|
|
|
|
.card {
|
2026-07-23 20:28:13 +08:00
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
width: 100%;
|
2026-08-04 14:14:12 +08:00
|
|
|
|
max-width: var(--dsh-chat-content-width);
|
2026-07-23 20:28:13 +08:00
|
|
|
|
/* Composer seat sits in a fixed-height conversation column (overflow
|
|
|
|
|
|
hidden): cap the card against the viewport and scroll the option list
|
|
|
|
|
|
so header and footer actions stay reachable on long batches. */
|
|
|
|
|
|
max-height: min(60vh, 520px);
|
2026-07-29 14:12:01 +08:00
|
|
|
|
padding: 0 0 10px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
border: 1px solid var(--dsw-alias-border-l2-darkmode-thin);
|
2026-07-29 14:12:01 +08:00
|
|
|
|
border-radius: 20px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
background: var(--dsw-specific-input-major);
|
2026-07-29 14:12:01 +08:00
|
|
|
|
box-shadow: var(--dsw-shadow-lv2);
|
2026-07-22 23:39:50 +08:00
|
|
|
|
color: var(--dsw-alias-label-primary);
|
2026-07-29 14:12:01 +08:00
|
|
|
|
overflow: hidden;
|
2026-07-30 01:01:14 +08:00
|
|
|
|
/* Elevated surface in dark, same as the menus: the body inside scrolls
|
2026-07-28 17:42:57 +08:00
|
|
|
|
once the card hits the cap above, so the thumb takes the l2 pair. Declared
|
|
|
|
|
|
on the card because the elevation belongs to the surface, and the custom
|
2026-07-30 01:01:14 +08:00
|
|
|
|
properties inherit down to `.body` (see ui-theme styles/scrollbar.css
|
2026-07-28 17:42:57 +08:00
|
|
|
|
for the rebinding contract). */
|
|
|
|
|
|
--dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l2);
|
|
|
|
|
|
--dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l2);
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.card,
|
|
|
|
|
|
.card * {
|
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
/* Figma 1019:36938 header, user-tuned: heading block left, close right; the
|
|
|
|
|
|
pager sits in the footer to balance the card. */
|
2026-07-22 23:39:50 +08:00
|
|
|
|
.header {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: flex-start;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
gap: 16px;
|
2026-07-23 20:28:13 +08:00
|
|
|
|
flex-shrink: 0;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
padding: 20px 16px 0 24px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.headingBlock {
|
|
|
|
|
|
min-width: 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.eyebrow {
|
2026-07-29 14:12:01 +08:00
|
|
|
|
/* Eyebrow-to-title gap widened from the figma 2px (user-tuned). */
|
|
|
|
|
|
margin-bottom: 5px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
color: var(--dsw-alias-label-tertiary);
|
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
|
line-height: 16px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
|
margin: 0;
|
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
|
line-height: 22px;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
font-weight: 500;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-23 20:26:48 +08:00
|
|
|
|
.detail {
|
2026-07-24 14:28:36 +08:00
|
|
|
|
margin: 0 2px 8px;
|
2026-07-23 20:26:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-22 23:39:50 +08:00
|
|
|
|
.footerActions {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
gap: 12px;
|
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.pager {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
gap: 6px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.progress {
|
2026-07-29 14:12:01 +08:00
|
|
|
|
padding: 0 4px;
|
|
|
|
|
|
color: var(--dsw-alias-label-secondary);
|
|
|
|
|
|
font-size: 14px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
line-height: 24px;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
font-weight: 500;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
white-space: nowrap;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
/* Narrow the plain spaces around the slash without touching glyph tracking. */
|
|
|
|
|
|
word-spacing: -2px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.iconButton {
|
|
|
|
|
|
display: grid;
|
|
|
|
|
|
place-items: center;
|
|
|
|
|
|
width: 24px;
|
|
|
|
|
|
height: 24px;
|
|
|
|
|
|
padding: 0;
|
|
|
|
|
|
border: none;
|
|
|
|
|
|
border-radius: 999px;
|
|
|
|
|
|
background: transparent;
|
|
|
|
|
|
color: var(--dsw-alias-label-tertiary);
|
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.iconButton:hover:not(:disabled) {
|
|
|
|
|
|
background: var(--dsw-alias-interactive-bg-hover);
|
|
|
|
|
|
color: var(--dsw-alias-label-primary);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.iconButton:disabled {
|
|
|
|
|
|
color: var(--dsw-alias-label-dimmed);
|
|
|
|
|
|
cursor: default;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-24 14:28:36 +08:00
|
|
|
|
.body {
|
2026-07-22 23:39:50 +08:00
|
|
|
|
display: flex;
|
2026-07-24 14:28:36 +08:00
|
|
|
|
flex: 1 1 auto;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
flex-direction: column;
|
2026-07-23 20:28:13 +08:00
|
|
|
|
min-height: 0;
|
|
|
|
|
|
overflow-y: auto;
|
2026-07-24 14:28:36 +08:00
|
|
|
|
overscroll-behavior: contain;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-22 23:39:50 +08:00
|
|
|
|
.options {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
gap: 1px;
|
|
|
|
|
|
margin: 8px 0 0;
|
|
|
|
|
|
padding: 4px 12px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.option {
|
|
|
|
|
|
display: flex;
|
2026-07-30 21:21:29 +08:00
|
|
|
|
/* flex-start, not center: with a wrapped description the indicator must
|
|
|
|
|
|
stay on the FIRST line (centering drifts it down the taller copy block).
|
|
|
|
|
|
The 8px padding makes a single-line row 40px exactly, so nothing reads
|
|
|
|
|
|
as top-heavy; .number/.checkbox re-center against the first line box. */
|
|
|
|
|
|
align-items: flex-start;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
gap: 8px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
width: 100%;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
min-height: 40px;
|
2026-07-27 19:20:33 +08:00
|
|
|
|
/* Rows are the scroll content, never the slack absorber: a shrinkable row
|
|
|
|
|
|
collapses to min-height while its wrapped copy keeps the taller
|
|
|
|
|
|
intrinsic height, and centered content then paints outside the row box —
|
|
|
|
|
|
over the title and the next row. Overflow belongs to .options. */
|
|
|
|
|
|
flex-shrink: 0;
|
2026-07-30 21:21:29 +08:00
|
|
|
|
padding: 8px 12px 8px 8px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
border: 1px solid transparent;
|
|
|
|
|
|
border-radius: 12px;
|
|
|
|
|
|
background: transparent;
|
|
|
|
|
|
color: inherit;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
transition: background-color 120ms ease, border-color 120ms ease;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.option:hover:not(:disabled),
|
|
|
|
|
|
.optionSelected {
|
|
|
|
|
|
background: var(--dsw-alias-interactive-bg-hover);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.optionSelected {
|
|
|
|
|
|
border-color: var(--dsw-alias-border-l2);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
.option:disabled {
|
2026-07-22 23:39:50 +08:00
|
|
|
|
cursor: default;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
/* Leading indicator (figma 20×20, radius 6): single-select shows the option
|
|
|
|
|
|
number, multi-select swaps in a checkbox; the custom-answer row follows —
|
|
|
|
|
|
its checkbox mirrors the typed draft (styling only, exclusivity holds). */
|
2026-07-22 23:39:50 +08:00
|
|
|
|
.number {
|
|
|
|
|
|
display: grid;
|
|
|
|
|
|
place-items: center;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
flex: 0 0 20px;
|
|
|
|
|
|
width: 20px;
|
|
|
|
|
|
height: 20px;
|
2026-07-30 21:21:29 +08:00
|
|
|
|
/* (24px first-line box − 20px indicator) / 2: centers the indicator against
|
|
|
|
|
|
the first text line under the row's flex-start alignment. */
|
|
|
|
|
|
margin-top: 2px;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
border-radius: 6px;
|
|
|
|
|
|
background: var(--dsw-alias-bg-overlay);
|
|
|
|
|
|
color: var(--dsw-alias-label-secondary);
|
2026-07-22 23:39:50 +08:00
|
|
|
|
font-size: 12px;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
font-weight: 500;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
line-height: 18px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
/* Multi-select box (figma 1055:41594, user-tuned down to 14×14): a radius-4
|
|
|
|
|
|
box centered in the 20px indicator seat; the box itself is the ::before
|
|
|
|
|
|
layer so the check icon stacks over it in the same grid cell. */
|
|
|
|
|
|
.checkbox {
|
|
|
|
|
|
display: grid;
|
|
|
|
|
|
place-items: center;
|
|
|
|
|
|
flex: 0 0 20px;
|
|
|
|
|
|
width: 20px;
|
|
|
|
|
|
height: 20px;
|
2026-07-30 21:21:29 +08:00
|
|
|
|
/* Same first-line centering as .number under flex-start alignment. */
|
|
|
|
|
|
margin-top: 2px;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.checkbox::before {
|
|
|
|
|
|
content: '';
|
|
|
|
|
|
grid-area: 1 / 1;
|
|
|
|
|
|
width: 14px;
|
|
|
|
|
|
height: 14px;
|
|
|
|
|
|
border: 1px solid var(--dsw-alias-border-l4);
|
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
|
transition: background-color 120ms ease, border-color 120ms ease;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.checkbox > svg {
|
|
|
|
|
|
grid-area: 1 / 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* Checked: label-primary fill with a primary-foreground check — the pair
|
|
|
|
|
|
inverts with the theme (dark fill in light mode, light fill in dark mode). */
|
|
|
|
|
|
.checkboxChecked {
|
|
|
|
|
|
color: var(--dsw-alias-label-primary-foreground);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.checkboxChecked::before {
|
|
|
|
|
|
border-color: var(--dsw-alias-label-primary);
|
|
|
|
|
|
background: var(--dsw-alias-label-primary);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-22 23:39:50 +08:00
|
|
|
|
.optionCopy {
|
|
|
|
|
|
min-width: 0;
|
|
|
|
|
|
flex: 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.optionLine {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: baseline;
|
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
|
gap: 2px 6px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.optionLabel {
|
|
|
|
|
|
font-size: 14px;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
line-height: 24px;
|
|
|
|
|
|
font-weight: 500;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.badge {
|
2026-07-29 14:12:01 +08:00
|
|
|
|
padding: 0 4px;
|
|
|
|
|
|
border-radius: 6px;
|
|
|
|
|
|
background: var(--dsw-specific-sidebar-nav-item-active-accent);
|
|
|
|
|
|
color: var(--dsw-alias-button-info-fill);
|
2026-07-22 23:39:50 +08:00
|
|
|
|
font-size: 11px;
|
|
|
|
|
|
line-height: 18px;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
font-weight: 600;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.description {
|
|
|
|
|
|
color: var(--dsw-alias-label-tertiary);
|
2026-07-29 14:12:01 +08:00
|
|
|
|
font-size: 14px;
|
|
|
|
|
|
line-height: 24px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
/* Custom answer row (figma 973:36427): an option-shaped row whose copy is an
|
|
|
|
|
|
inline text input; focus or a typed draft lifts it to the selected look. */
|
|
|
|
|
|
.customRow {
|
|
|
|
|
|
display: flex;
|
2026-07-30 21:21:29 +08:00
|
|
|
|
/* Same first-line alignment as .option — the indicator seat carries the
|
|
|
|
|
|
2px re-centering margin. */
|
|
|
|
|
|
align-items: flex-start;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
gap: 8px;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
min-height: 40px;
|
|
|
|
|
|
/* Same reason as .option: the custom row is scroll content, and shrinking
|
|
|
|
|
|
it pushes the inline input past the footer. */
|
2026-07-27 19:20:33 +08:00
|
|
|
|
flex-shrink: 0;
|
2026-07-30 21:21:29 +08:00
|
|
|
|
padding: 8px 12px 8px 8px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
border: 1px solid transparent;
|
|
|
|
|
|
border-radius: 12px;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
transition: background-color 120ms ease, border-color 120ms ease;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
.customRow:hover,
|
|
|
|
|
|
.customRow:focus-within,
|
|
|
|
|
|
.customRowActive {
|
|
|
|
|
|
background: var(--dsw-alias-interactive-bg-hover);
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
.customRow:focus-within,
|
|
|
|
|
|
.customRowActive {
|
|
|
|
|
|
border-color: var(--dsw-alias-border-l2);
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
.customInput {
|
|
|
|
|
|
flex: 1;
|
|
|
|
|
|
min-width: 0;
|
|
|
|
|
|
padding: 0;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
border: none;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
outline: none;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
background: transparent;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
color: var(--dsw-alias-label-primary);
|
|
|
|
|
|
caret-color: var(--dsw-alias-state-business-primary);
|
|
|
|
|
|
font: inherit;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
font-size: 14px;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
line-height: 24px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
.customInput::placeholder {
|
|
|
|
|
|
color: var(--dsw-alias-label-caption);
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
/* Optionless question: the free-form answer is the whole body. The 12px side
|
|
|
|
|
|
margins add to the .options 12px padding so both edges align with the
|
|
|
|
|
|
title's 24px inset; type matches the option rows, no resize handle. */
|
|
|
|
|
|
.customTextarea {
|
2026-07-22 23:39:50 +08:00
|
|
|
|
display: block;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
min-height: 64px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
max-height: 140px;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
|
margin: 0 12px;
|
|
|
|
|
|
padding: 8px 12px;
|
|
|
|
|
|
resize: none;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
border: 1px solid var(--dsw-alias-border-l2);
|
|
|
|
|
|
border-radius: 10px;
|
|
|
|
|
|
outline: none;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
background: var(--dsw-alias-bg-module-platform);
|
2026-07-22 23:39:50 +08:00
|
|
|
|
color: var(--dsw-alias-label-primary);
|
|
|
|
|
|
caret-color: var(--dsw-alias-state-business-primary);
|
|
|
|
|
|
font: inherit;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
font-size: 14px;
|
|
|
|
|
|
line-height: 24px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
.customTextarea:focus {
|
2026-07-22 23:39:50 +08:00
|
|
|
|
border-color: var(--dsw-alias-state-business-primary);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
.customTextarea::placeholder {
|
2026-07-22 23:39:50 +08:00
|
|
|
|
color: var(--dsw-alias-label-caption);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.footer {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
gap: 12px;
|
2026-07-23 20:28:13 +08:00
|
|
|
|
flex-shrink: 0;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
margin-top: 12px;
|
|
|
|
|
|
padding: 0 10px 0 18px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.feedback {
|
2026-07-29 14:12:01 +08:00
|
|
|
|
flex: 1;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
min-height: 16px;
|
|
|
|
|
|
color: var(--dsw-alias-state-error-primary);
|
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
|
line-height: 16px;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
text-align: right;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@media (max-width: 720px) {
|
|
|
|
|
|
.card {
|
|
|
|
|
|
border-radius: 16px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.header {
|
2026-07-29 14:12:01 +08:00
|
|
|
|
padding: 10px 12px 0 18px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-29 14:12:01 +08:00
|
|
|
|
.options {
|
|
|
|
|
|
padding: 4px 8px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
|
font-size: 15px;
|
|
|
|
|
|
line-height: 21px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.option,
|
2026-07-29 14:12:01 +08:00
|
|
|
|
.customRow {
|
2026-07-30 21:21:29 +08:00
|
|
|
|
padding: 8px 6px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.footer {
|
|
|
|
|
|
align-items: flex-end;
|
2026-07-29 14:12:01 +08:00
|
|
|
|
padding: 0 10px;
|
2026-07-22 23:39:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.footerActions {
|
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
2026-07-29 14:12:01 +08:00
|
|
|
|
.option,
|
|
|
|
|
|
.customRow {
|
2026-07-22 23:39:50 +08:00
|
|
|
|
transition: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|