/* Greeting editor is scoped to the existing digital-business-card feature. */
.business-card-subview-tabs { display:flex; gap:6px; border-bottom:1px solid #dbe4ea; margin:0 0 22px; padding:0 0 10px; }
.business-card-subview-tab { min-height:42px; padding:10px 20px; border:1px solid transparent; background:transparent; border-radius:8px; color:#586a7a; font:inherit; font-weight:700; cursor:pointer; }
.business-card-subview-tab[aria-selected="true"] { background:#e2f0ea; border-color:#c2ddcf; color:#185b49; }
.business-card-subview-panel[hidden], .business-card-create-button[hidden], .greeting-studio [hidden] { display:none !important; }
[data-business-card-panel="manage"] { display:grid; gap:20px; }
.greeting-studio { --gc-ink:#233d3c; --gc-green:#206650; --gc-border:#dce5e0; --gc-muted:#74817b; color:var(--gc-ink); max-width:1480px; margin:0 auto; }
.greeting-studio * { box-sizing:border-box; }
.greeting-studio svg { width:19px; height:19px; flex-shrink:0; }
.greeting-studio button, .greeting-studio input, .greeting-studio select, .greeting-studio textarea { font-family:inherit; }
.greeting-studio button { cursor:pointer; }
.greeting-studio button:disabled { cursor:wait; opacity:.55; }
.greeting-studio button:focus-visible, .greeting-studio summary:focus-visible, .greeting-studio input:focus-visible, .greeting-studio textarea:focus-visible, .greeting-studio select:focus-visible { outline:3px solid #6d9d86; outline-offset:3px; }
.greeting-studio-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:10px 2px 25px; }
.greeting-kicker { margin:0 0 9px; color:#658674; letter-spacing:2px; font-size:10px; font-weight:750; }
.greeting-studio-heading h2 { margin:0 0 10px; font-size:27px; font-weight:750; letter-spacing:-1.15px; color:#244639; }
.greeting-studio-heading p:last-child { margin:0; line-height:1.7; font-size:13px; color:#718078; }
.greeting-local-badge { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; background:#edf4ee; border:1px solid #dce9dd; border-radius:20px; padding:8px 12px; font-size:11px; color:#5c7967; }
.greeting-local-badge svg { width:14px; height:14px; }
.greeting-workspace { display:grid; grid-template-columns:minmax(350px, .88fr) minmax(0, 1.12fr); gap:28px; align-items:start; }
.greeting-editor { min-width:0; margin:0; background:#fff; border:1px solid var(--gc-border); border-radius:14px; overflow:hidden; }
.greeting-editor-fields { margin:0; padding:0; min-width:0; border:0; }
.greeting-section { padding:25px 26px; border:0; border-bottom:1px solid #edf0ed; margin:0; min-width:0; }
.greeting-section-heading { display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.greeting-section-heading > span { color:#8fa493; font-size:11px; font-weight:750; letter-spacing:1px; }
.greeting-section-heading h3 { margin:0; font-size:15px; font-weight:750; letter-spacing:-.35px; color:#264739; }
.greeting-choice-row { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:17px; }
.greeting-choice-row label { position:relative; flex:1; min-width:50px; cursor:pointer; }
.greeting-choice-row input, .greeting-theme-option > input { position:absolute; opacity:0; width:1px; height:1px; }
.greeting-choice-row label > span { display:flex; align-items:center; justify-content:center; min-height:37px; padding:8px; background:#f7f9f7; color:#718075; border:1px solid #e5eae5; border-radius:7px; font-size:12px; font-weight:650; white-space:nowrap; }
.greeting-choice-row input:checked + span { color:#21604c; border-color:#75a188; background:#eef5ef; box-shadow:inset 0 0 0 1px #75a188; }
.greeting-choice-row input:focus-visible + span, .greeting-theme-option > input:focus-visible + span { outline:3px solid #84af98; outline-offset:3px; }
.greeting-theme-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.greeting-theme-option { position:relative; min-width:0; cursor:pointer; }
.greeting-theme-tile { position:relative; display:block; padding:3px; border:2px solid transparent; border-radius:9px; background:#f5f5f0; overflow:hidden; }
.greeting-theme-tile canvas { display:block; width:100%; height:auto; border-radius:4px; }
.greeting-theme-option input:checked + .greeting-theme-tile { border-color:#326c52; background:#fff; }
.greeting-theme-check { display:none; position:absolute; right:6px; top:6px; background:#2b664e; width:19px; height:19px; border-radius:50%; color:white; align-items:center; justify-content:center; }
.greeting-theme-check svg { width:12px; height:12px; }
.greeting-theme-option input:checked + .greeting-theme-tile .greeting-theme-check { display:flex; }
.greeting-theme-option > strong { display:block; margin:8px 0 3px; font-size:11px; color:#385245; text-align:center; }
.greeting-theme-option > small { display:none; }
.greeting-field { display:flex; flex-direction:column; gap:7px; min-width:0; margin:0 0 15px; }
.greeting-field > span { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:12px; font-weight:650; color:#506556; }
.greeting-field > span small { color:#99a298; font-size:10px; font-weight:400; }
.greeting-studio input:not([type="radio"]):not([type="file"]):not([type="range"]), .greeting-studio select, .greeting-studio textarea { min-width:0; width:100%; border:1px solid #dce4dd; border-radius:7px; color:#314a3d; background:#fff; padding:10px 12px; font-size:13px; line-height:1.6; box-shadow:none; }
.greeting-studio input::placeholder, .greeting-studio textarea::placeholder { color:#9da99f; font-size:12px; }
.greeting-studio textarea { resize:vertical; min-height:70px; }
.greeting-studio textarea[name="message"] { min-height:137px; }
.greeting-studio input[type="range"] { padding:8px 0; min-height:42px; width:100%; accent-color:var(--gc-green); }
.greeting-field-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:13px; }
.greeting-suggestion { margin:2px 0 20px; padding:14px 15px; border-radius:9px; border:1px solid #e4eadf; background:#f7f9f3; }
.greeting-suggestion-top { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.greeting-suggestion-top > strong { display:flex; align-items:center; gap:6px; font-size:11px; font-weight:700; color:#617954; white-space:nowrap; }
.greeting-suggestion-top svg { width:14px; height:14px; }
.greeting-suggestion-top select { width:auto; max-width:145px; padding:4px 7px; font-size:11px; background:#fff; }
.greeting-suggestion p { font-size:12px; line-height:1.9; margin:12px 0 8px; white-space:pre-line; color:#64785c; overflow-wrap:anywhere; }
.greeting-text-button { display:inline-flex; align-items:center; justify-content:center; gap:5px; background:transparent; color:#2f7054; border:0; padding:5px 0; font-size:11px; font-weight:700; min-height:30px; }
.greeting-text-button svg { width:14px; height:14px; }
.greeting-card-import { margin-bottom:17px; }
.greeting-card-import > label { display:block; font-size:12px; color:#506556; font-weight:650; margin-bottom:7px; }
.greeting-card-import > div { display:flex; gap:7px; }
.greeting-card-import select { flex:1; }
.greeting-card-import button { white-space:nowrap; padding:9px 13px; }
.greeting-helper { margin:1px 0 0; font-size:11px; color:#929c94; line-height:1.75; }
.greeting-extras { padding:19px 26px; }
.greeting-extras summary { display:list-item; cursor:pointer; color:#58705f; font-size:12px; font-weight:700; list-style-position:inside; }
.greeting-extras summary > span { float:right; color:#9ca79d; font-weight:400; font-size:10px; }
.greeting-extra-content { padding-top:16px; }
.greeting-upload { position:relative; display:flex; align-items:center; justify-content:center; gap:8px; border:1px dashed #bbcdbb; border-radius:8px; background:#fbfcf8; margin-top:14px; padding:15px 10px; font-size:12px; color:#638063; cursor:pointer; }
.greeting-upload input { position:absolute; inset:0; width:100%; opacity:0; cursor:pointer; }
.greeting-upload:focus-within { outline:3px solid #6d9d86; outline-offset:2px; }
.greeting-file-row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:7px 0 16px; font-size:10px; color:#89958a; }
.greeting-file-row span { min-width:0; overflow-wrap:anywhere; }
.greeting-file-row button { flex-shrink:0; }
.greeting-editor-footer { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:12px 26px; background:#fbfcfa; }
.greeting-editor-footer > span { color:#9aa49a; font-size:10px; line-height:1.7; }
.greeting-editor-footer button { color:#8a9389; white-space:nowrap; }
.greeting-preview-column { min-width:0; height:100%; }
.greeting-preview-sticky { position:sticky; top:max(24px, var(--portal-header-offset, 0px)); padding:25px 28px; background:#eaf0ea; border:1px solid #dce5db; border-radius:14px; }
.greeting-preview-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:21px; }
.greeting-preview-heading .greeting-kicker { display:block; color:#96a796; letter-spacing:1.5px; font-size:9px; margin-bottom:7px; }
.greeting-preview-heading h3 { margin:0; color:#54705b; font-size:15px; font-weight:650; letter-spacing:-.3px; }
.greeting-motion-button { display:flex; align-items:center; gap:5px; border:1px solid #cfdcce; border-radius:18px; color:#688067; background:transparent; padding:7px 10px; font-size:10px; white-space:nowrap; }
.greeting-motion-button svg { width:12px; height:12px; }
.greeting-motion-button[aria-pressed="true"] { background:#d5e5d7; color:#315f40; }
.greeting-preview-stage { position:relative; width:100%; display:flex; align-items:center; justify-content:center; min-height:160px; padding:8px 10px 10px; }
#greeting-card-preview { display:block; width:100%; max-width:440px; height:auto; max-height:none; box-shadow:0 14px 32px #2d453021,0 3px 8px #29472d12; border-radius:2px; }
.greeting-preview-stage[data-format="square"] #greeting-card-preview { max-width:470px; }
.greeting-preview-stage[data-format="landscape"] #greeting-card-preview { max-width:100%; }
.greeting-preview-loading { position:absolute; top:45%; font-size:12px; background:#fff; padding:14px; border-radius:8px; color:#768a75; }
.greeting-preview-caption { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:11px 10px 21px; font-size:10px; color:#91a08e; flex-wrap:wrap; }
.greeting-export-panel { background:#fff; border:1px solid #e0e7dc; padding:19px; border-radius:10px; }
.greeting-format-label { display:block; font-size:11px; font-weight:650; color:#73836b; margin-bottom:7px; }
.greeting-export-panel select { font-size:12px; }
.greeting-export-buttons { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.greeting-primary, .greeting-secondary { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:11px 13px; border-radius:7px; font-size:12px; font-weight:700; text-align:center; line-height:1.45; white-space:normal; }
.greeting-primary { background:#27664e; border:1px solid #27664e; color:#fff; }
.greeting-primary:hover { background:#1f5540; }
.greeting-secondary { background:#fff; border:1px solid #cddccc; color:#4c7455; }
.greeting-secondary:hover { background:#f4f8f1; }
.greeting-export-buttons svg { width:16px; height:16px; }
.greeting-status { margin:12px 0 0; color:#899683; font-size:11px; line-height:1.75; overflow-wrap:anywhere; }
.greeting-status.is-error { color:#b25443; }
.greeting-export-progress { display:flex; gap:12px; align-items:center; margin-top:10px; }
.greeting-export-progress progress { height:8px; width:100%; accent-color:#2e7152; }
.greeting-export-progress button { flex-shrink:0; }
.greeting-share-button { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; padding:10px; margin-top:12px; background:#f5f8f2; border:0; border-radius:6px; color:#5a7958; font-size:12px; }
.greeting-send-guide { margin:21px 6px 0; color:#8a9a84; }
.greeting-send-guide > strong { color:#6b8265; font-size:11px; }
.greeting-send-guide p { font-size:11px; line-height:1.85; margin:7px 0; }
.greeting-send-guide > span { font-size:10px; color:#9aaa92; }
.greeting-mobile-jump { display:none; }
.greeting-app-guide { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-bottom:20px; padding:18px 20px; border:1px solid #e1d5ab; background:#fcf8e9; border-radius:9px; color:#756333; }
.greeting-app-guide > div { flex:1 1 260px; }
.greeting-app-guide strong { font-size:13px; }
.greeting-app-guide p { margin:6px 0 0; font-size:12px; line-height:1.75; }
.greeting-helper, .greeting-editor-footer > span, .greeting-file-row, .greeting-send-guide, .greeting-status { color:#6f816c; }
@media(min-width:1500px) { .greeting-workspace { grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr); gap:36px; } .greeting-theme-grid { gap:15px; } }
@media(max-width:1100px) { .greeting-workspace { gap:18px; grid-template-columns:minmax(310px,.95fr) minmax(0,1.05fr); } .greeting-section { padding:21px 19px; } .greeting-preview-sticky { padding:21px 17px; } .greeting-export-panel { padding:14px; } .greeting-export-buttons { grid-template-columns:1fr; } .greeting-local-badge { display:none; } }
@media(max-width:800px) { .greeting-workspace { grid-template-columns:minmax(0,1fr); gap:20px; } .greeting-preview-column { grid-row:1; } .greeting-preview-sticky { position:static; padding:20px; } #greeting-card-preview { max-width:340px; } .greeting-preview-stage[data-format="square"] #greeting-card-preview { max-width:370px; } .greeting-preview-stage[data-format="landscape"] #greeting-card-preview { max-width:440px; } .greeting-export-buttons { grid-template-columns:1fr 1fr; } .greeting-preview-caption { max-width:440px; margin:12px auto 16px; } .greeting-send-guide { margin-top:16px; } .greeting-studio-heading { padding:4px 0 20px; } .greeting-studio-heading h2 { font-size:23px; } .greeting-studio-heading p:last-child { font-size:12px; } }
@media(max-width:480px) { .business-card-subview-tab { padding:10px 14px; font-size:12px; flex:1; } .greeting-preview-sticky { padding:17px 13px; border-radius:11px; } .greeting-preview-stage { padding:0 7px 3px; } #greeting-card-preview { max-width:290px; } .greeting-preview-stage[data-format="square"] #greeting-card-preview { max-width:300px; } .greeting-preview-caption { font-size:9px; gap:6px; margin-bottom:14px; } .greeting-export-panel { padding:13px; } .greeting-export-buttons { gap:6px; } .greeting-primary,.greeting-secondary { padding:11px 7px; font-size:11px; gap:4px; } .greeting-export-buttons svg { width:14px; height:14px; } .greeting-section { padding:22px 17px; } .greeting-theme-grid { gap:6px; } .greeting-theme-option > strong { font-size:10px; } .greeting-editor-footer { padding:12px 17px; } .greeting-studio-heading h2 { font-size:21px; } .greeting-studio-heading p:last-child { max-width:285px; } .greeting-extras summary { font-size:12px; } }
@media(max-width:800px) {
  .greeting-studio { padding-bottom:70px; }
  .greeting-mobile-jump { display:flex; position:fixed; bottom:max(12px, env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:calc(100% - 28px); max-width:460px; z-index:45; padding:6px; gap:6px; border:1px solid #b5cdbc; border-radius:11px; background:#fffffff5; box-shadow:0 5px 25px #253f2d25; }
  .greeting-mobile-jump button { display:flex; align-items:center; justify-content:center; gap:5px; flex:1; min-height:39px; padding:8px 6px; border:0; border-radius:6px; background:#edf4ed; color:#356149; font-size:12px; font-weight:700; }
  .greeting-mobile-jump button:last-child { color:#fff; background:#27664e; }
  .greeting-mobile-jump svg { width:15px; height:15px; }
}
@media(prefers-reduced-motion:reduce) { .greeting-studio *, .greeting-studio *::before, .greeting-studio *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
