/* Shared guest audio layout. Load after theme styles to keep both cards consistent. */
body #invitation .voice-composer{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:100%;max-width:490px;min-width:0;margin:24px auto 0;text-align:start}
body[data-theme] #invitation .voice-composer>.voice-card{box-sizing:border-box;display:flex;flex-direction:column;gap:12px;min-width:0;width:100%;max-width:none;margin:0;padding:20px;border:1px solid var(--ui-border,var(--line));border-radius:16px;background:var(--ui-surface,var(--paper));color:var(--ui-text,var(--ink));text-align:start;box-shadow:none}
body #invitation .voice-composer .voice-card h3{margin:0;padding:0;font-size:24px;line-height:1.25;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ui-heading,var(--ink));overflow-wrap:break-word}
body #invitation .voice-composer .voice-card .note{display:block;margin:0;padding:0;font:13px/1.55 Arial,sans-serif;letter-spacing:0;text-transform:none;color:var(--ui-muted,var(--ink));opacity:1;overflow-wrap:anywhere}
body #invitation .voice-composer :is(.guest-actions,.voice-review-actions){display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;width:100%;margin:0;padding:0}
body #invitation .voice-composer .voice-card .button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex:1 1 100%;width:100%;min-width:0;max-width:100%;min-height:44px;height:auto;margin:0;padding:11px 14px;border:1px solid var(--ui-border,var(--line));border-radius:9px;background:var(--ui-primary,var(--ink));color:var(--ui-on-primary,var(--paper));font:600 12px/1.5 Arial,sans-serif;letter-spacing:.3px;text-transform:none;text-align:center;white-space:normal;overflow-wrap:break-word}
body #invitation .voice-composer .voice-card .button:hover:not(:disabled){background:var(--ui-hover,var(--ink));color:var(--ui-on-hover,var(--paper))}
body #invitation .voice-composer .voice-card button:disabled{opacity:1;background:var(--ui-field,var(--paper));color:var(--ui-placeholder,var(--ink));border-style:dashed;cursor:not-allowed}
body #invitation .voice-composer .text-button{min-height:44px;margin:0;padding:8px 0;font:13px/1.5 Arial,sans-serif;color:var(--ui-link,var(--ink));background:transparent;border:0;text-decoration:underline;text-underline-offset:3px}
body #invitation .voice-composer .voice-card input[type=file]{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;height:auto;margin:0;padding:8px;border:1px solid var(--ui-field-border,var(--line));border-radius:9px;background:var(--ui-field,var(--paper));color:var(--ui-field-text,var(--ink));font:12px/1.6 Arial,sans-serif;letter-spacing:0;text-align:start;overflow:hidden}
body #invitation .voice-composer input[type=file]::file-selector-button{max-width:100%;min-height:36px;margin:0;margin-inline-end:8px;padding:7px 10px;border:1px solid var(--ui-field-border,var(--line));border-radius:6px;background:var(--ui-primary,var(--ink));color:var(--ui-on-primary,var(--paper));font:600 12px/1.5 Arial,sans-serif;cursor:pointer}
body #invitation .voice-composer .voice-card audio{display:block;width:100%;min-width:0;max-width:100%;height:44px;margin:0}
body #invitation .voice-composer .voice-card .result{margin:0;font:13px/1.55 Arial,sans-serif;color:var(--ui-text,var(--ink));overflow-wrap:anywhere}
body #invitation .voice-composer .voice-card [data-state=error]{color:var(--ui-error)}
body #invitation .voice-composer .voice-card [data-state=success]{color:var(--ui-success)}
body #invitation .voice-composer .voice-card :is(.result,.note):empty{display:none}
body #invitation .voice-composer .voice-card [hidden]{display:none!important}
body #invitation .voice-composer .recording-indicator{gap:8px;padding:10px;border-radius:8px;font:12px/1.5 Arial,sans-serif}
@container invitation (max-width:360px){body[data-theme] #invitation .voice-composer>.voice-card{padding:16px}body #invitation .voice-composer .voice-card h3{font-size:22px}}

