.brand-mark[data-v-97c399e5]{width:var(--mark-size);height:var(--mark-size);flex:none;display:block}.brand-dot[data-v-97c399e5]{fill:var(--brand-core)}.brand-ring-outer[data-v-97c399e5],.brand-ring-mid[data-v-97c399e5]{fill:none;stroke:var(--brand-ring);stroke-width:4}.brand-ring-mid[data-v-97c399e5]{opacity:.7}.brand-ring-outer[data-v-97c399e5]{opacity:.35}.brand-swell[data-v-97c399e5]{fill:var(--brand-core);stroke:var(--brand-ring);stroke-width:4;display:none}.brand-mark.is-animated .brand-static[data-v-97c399e5]{opacity:0}.brand-mark.is-animated .brand-swell[data-v-97c399e5]{display:block;animation:brand-swell-97c399e5 4.4s linear infinite}.brand-mark.is-animated .brand-swell[data-v-97c399e5]:nth-child(2){animation-delay:-1.47s}.brand-mark.is-animated .brand-swell[data-v-97c399e5]:nth-child(3){animation-delay:-2.93s}@keyframes brand-swell-97c399e5{0%{r:3px;fill-opacity:0;stroke-opacity:0}9%{r:7px;fill-opacity:.95;stroke-opacity:0}30%{r:11px;fill-opacity:.35;stroke-opacity:.55}44%{r:16px;fill-opacity:0;stroke-opacity:.7}76%{r:24px;fill-opacity:0;stroke-opacity:.35}to{r:31px;fill-opacity:0;stroke-opacity:0}}@media (prefers-reduced-motion: reduce){.brand-mark.is-animated .brand-swell[data-v-97c399e5]{display:none}.brand-mark.is-animated .brand-dot[data-v-97c399e5]{opacity:1}.brand-mark.is-animated .brand-ring-mid[data-v-97c399e5]{opacity:.7}.brand-mark.is-animated .brand-ring-outer[data-v-97c399e5]{opacity:.35}}.brand-lockup[data-v-8831a20f]{display:inline-flex;align-items:center;gap:calc(var(--mark-size) * .25);line-height:1}.brand-wordmark[data-v-8831a20f]{font-weight:800;font-size:calc(var(--mark-size) * .72);letter-spacing:-.02em;white-space:nowrap}.wm-pela[data-v-8831a20f]{color:var(--brand-pela)}.wm-sync[data-v-8831a20f]{color:var(--brand-sync)}.app-header[data-v-54b5c739]{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.app-header-inner[data-v-54b5c739]{max-width:960px;margin:0 auto;padding:var(--space-md);display:flex;align-items:center;justify-content:space-between}.app-header-brand[data-v-54b5c739]{display:flex;align-items:center;gap:var(--space-sm)}.app-header-title[data-v-54b5c739]{display:inline-flex;align-items:center;text-decoration:none}.app-header-title[data-v-54b5c739]:hover{opacity:.85}.app-header-clinic[data-v-54b5c739]{font-size:.875rem;color:var(--color-text-muted)}.app-header-nav[data-v-54b5c739]{display:flex;gap:var(--space-lg);align-items:center}.nav-link[data-v-54b5c739]{font-size:.875rem;font-weight:500;color:var(--color-text-muted);transition:color .15s}.nav-link[data-v-54b5c739]:hover,.nav-link.router-link-active[data-v-54b5c739]{color:var(--color-primary)}.theme-toggle[data-v-54b5c739]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:6px;border-radius:var(--radius);color:var(--color-text-muted);transition:color .15s,background .15s}.theme-toggle[data-v-54b5c739]:hover{color:var(--color-primary);background:var(--accent-light2)}.theme-toggle svg[data-v-54b5c739]{display:block}.theme-toggle-label[data-v-54b5c739]{display:none;font-size:.875rem;font-weight:500}.logout-btn[data-v-54b5c739]{background:none;border:none;cursor:pointer;border-left:1px solid var(--color-border);padding-left:var(--space-lg)}.hamburger[data-v-54b5c739]{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:var(--space-xs)}.hamburger span[data-v-54b5c739]{display:block;width:22px;height:2px;background:var(--color-text);border-radius:1px;transition:transform .2s,opacity .2s}.hamburger.open span[data-v-54b5c739]:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span[data-v-54b5c739]:nth-child(2){opacity:0}.hamburger.open span[data-v-54b5c739]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width: 480px){.hamburger[data-v-54b5c739]{display:flex}.app-header-inner[data-v-54b5c739]{flex-wrap:wrap}.app-header-nav[data-v-54b5c739]{display:none;flex-direction:column;width:100%;gap:0;padding-top:var(--space-md)}.app-header-nav.open[data-v-54b5c739]{display:flex}.nav-link[data-v-54b5c739]{padding:var(--space-sm) 0;width:100%;text-align:left;border-top:1px solid var(--color-border)}.theme-toggle[data-v-54b5c739]{width:100%;justify-content:flex-start;padding:var(--space-sm) 0;border-radius:0}.theme-toggle[data-v-54b5c739]:hover{background:none}.theme-toggle-label[data-v-54b5c739]{display:inline}.logout-btn[data-v-54b5c739]{border-left:none;padding-left:0}}.notification-container[data-v-06303e48]{position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:100;display:flex;flex-direction:column;gap:var(--space-sm)}.notification[data-v-06303e48]{padding:var(--space-sm) var(--space-md);border-radius:var(--radius);font-size:.875rem;font-weight:500;color:var(--fg-inverse);box-shadow:var(--shadow-md);min-width:250px}.notification-success[data-v-06303e48]{background:var(--color-success)}.notification-error[data-v-06303e48]{background:var(--color-danger)}.notification-info[data-v-06303e48]{background:var(--color-primary)}.notification-enter-active[data-v-06303e48],.notification-leave-active[data-v-06303e48]{transition:all .3s ease}.notification-enter-from[data-v-06303e48],.notification-leave-to[data-v-06303e48]{opacity:0;transform:translate(30px)}.spinner-wrapper[data-v-254bfce6]{display:flex;justify-content:center;padding:var(--space-xl)}.login-page[data-v-ac7261b8]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-lg)}.login-card[data-v-ac7261b8]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);width:100%;max-width:400px}.login-brand[data-v-ac7261b8]{display:flex;justify-content:center;margin-bottom:var(--space-xs)}.login-subtitle[data-v-ac7261b8]{text-align:center;color:var(--color-text-muted);font-size:.875rem;margin-bottom:var(--space-lg)}.login-success-title[data-v-ac7261b8]{font-size:1.125rem;font-weight:600;text-align:center;margin:var(--space-md) 0 var(--space-sm);color:var(--color-text)}.login-success-text[data-v-ac7261b8]{text-align:left;color:var(--color-text-muted);font-size:.875rem;margin:var(--space-sm) 0}.login-form[data-v-ac7261b8]{display:flex;flex-direction:column;gap:var(--space-md)}.login-label[data-v-ac7261b8]{font-size:.875rem;font-weight:500;color:var(--color-text)}.login-input[data-v-ac7261b8]{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem}.login-input[data-v-ac7261b8]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--focus-ring)}.login-error[data-v-ac7261b8]{color:var(--color-danger);font-size:.8125rem;margin:0}.login-btn[data-v-ac7261b8]{padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:var(--fg-inverse);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s}.login-btn[data-v-ac7261b8]:disabled{opacity:.6;cursor:not-allowed}.login-btn[data-v-ac7261b8]:hover:not(:disabled){opacity:.9}.login-links[data-v-ac7261b8]{display:flex;justify-content:center;margin-top:var(--space-xs)}.login-link[data-v-ac7261b8]{font-size:.8125rem;color:var(--color-primary);text-decoration:none}.login-link[data-v-ac7261b8]:hover{text-decoration:underline}.login-link-button[data-v-ac7261b8]{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:.8125rem;color:var(--color-primary)}.login-link-button[data-v-ac7261b8]:disabled{opacity:.6;cursor:not-allowed;text-decoration:none}.login-fallback[data-v-ac7261b8]{align-self:center;margin-top:var(--space-xs)}.login-legal[data-v-ac7261b8]{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-sm)}.login-copyright[data-v-ac7261b8]{text-align:center;font-size:.75rem;color:var(--color-text-muted);margin-top:var(--space-lg)}.badge[data-v-672e83c6]{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.badge-pending[data-v-672e83c6]{background:var(--badge-pending-bg);color:var(--badge-pending-fg)}.badge-granted[data-v-672e83c6]{background:var(--badge-granted-bg);color:var(--badge-granted-fg)}.badge-revoked[data-v-672e83c6]{background:var(--badge-revoked-bg);color:var(--badge-revoked-fg)}.client-card[data-v-07b6cccb]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:1px solid var(--color-border)}.client-card[data-v-07b6cccb]:last-child{border-bottom:none}.client-info[data-v-07b6cccb]{display:flex;flex-direction:column;gap:2px}.client-name[data-v-07b6cccb]{font-weight:500;color:var(--color-text)}.client-name[data-v-07b6cccb]:hover{color:var(--color-primary)}.client-sub[data-v-07b6cccb]{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:.8rem;color:var(--color-text-muted)}.client-phone[data-v-07b6cccb],.client-last-message[data-v-07b6cccb]{color:var(--color-text-muted)}.client-last-message--inline[data-v-07b6cccb]:before{content:"·";margin-right:4px}.client-last-message--block[data-v-07b6cccb]{display:none}.client-actions[data-v-07b6cccb]{display:flex;align-items:center;gap:var(--space-sm)}.btn-sm[data-v-07b6cccb]{padding:4px 10px;font-size:.8rem}@media (max-width: 600px){.client-card[data-v-07b6cccb]{flex-wrap:wrap;align-items:flex-start}.client-info[data-v-07b6cccb]{flex:1 1 auto;min-width:0}.client-last-message--inline[data-v-07b6cccb]{display:none}.client-last-message--block[data-v-07b6cccb]{display:block;flex-basis:100%;width:100%;margin-top:4px;font-size:.8rem}}.overlay[data-v-2456987d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--space-md)}.modal[data-v-2456987d]{position:relative;width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.modal-close[data-v-2456987d]{position:absolute;top:var(--space-sm);right:var(--space-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;font-size:1.5rem;line-height:1;color:var(--color-text-muted);cursor:pointer;border-radius:4px}.modal-close[data-v-2456987d]:hover{background:var(--color-bg)}.stepper[data-v-2456987d]{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.step-dot[data-v-2456987d]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.8125rem;font-weight:600;background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border)}.step-dot.active[data-v-2456987d]{background:var(--color-primary);color:var(--fg-inverse);border-color:var(--color-primary)}.step-dot.done[data-v-2456987d]{background:var(--success-soft-bg);color:var(--success-soft-fg);border-color:var(--success-soft-border)}.step-body[data-v-2456987d]{min-height:180px}.modal-title[data-v-2456987d]{font-size:1.125rem;font-weight:600;margin-bottom:var(--space-sm)}.modal-message[data-v-2456987d]{color:var(--color-text-muted);font-size:.875rem;margin-bottom:var(--space-lg)}.action-stack[data-v-2456987d]{display:flex;flex-direction:column;gap:var(--space-sm)}.inline-qr[data-v-2456987d]{display:block;width:240px;max-width:100%;height:auto;margin:0 auto var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-sm);background:var(--color-surface)}.qr-cta[data-v-2456987d]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:12px 16px;font-size:.95rem;font-weight:600;color:var(--fg-inverse);background:var(--color-primary);border:none;border-radius:var(--radius);cursor:pointer;box-shadow:0 2px 10px #00000026;transition:background .15s ease,transform .05s ease}.qr-cta[data-v-2456987d]:hover{background:var(--color-primary-hover)}.qr-cta[data-v-2456987d]:active{transform:translateY(1px)}.qr-cta[data-v-2456987d]:disabled{opacity:.65;cursor:default;box-shadow:none}.qr-cta-icon[data-v-2456987d]{flex-shrink:0}.manual-fallback[data-v-2456987d]{margin-top:var(--space-lg);border-top:1px solid var(--color-border);padding-top:var(--space-md)}.manual-toggle[data-v-2456987d]{background:transparent;border:none;padding:0;font:inherit;font-size:.8125rem;color:var(--color-primary);cursor:pointer;text-decoration:underline}.manual-body[data-v-2456987d]{margin-top:var(--space-md)}.modal-nav[data-v-2456987d]{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg)}.nav-spacer[data-v-2456987d]{flex:1}@media (max-width: 720px){.modal-nav[data-v-2456987d]{flex-wrap:wrap}}.client-form[data-v-9f44db7c]{max-width:400px;transition:opacity .2s ease}.client-form.is-readonly .form-group[data-v-9f44db7c]{opacity:.55;transition:opacity .2s ease}.client-form.is-readonly input[data-v-9f44db7c]:disabled{cursor:default;background:var(--color-bg)}.form-actions[data-v-9f44db7c]{display:flex;gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;align-items:center}.phone-input-row[data-v-9f44db7c]{display:flex;align-items:center}.phone-prefix[data-v-9f44db7c]{padding:.625rem .75rem;background:var(--color-bg);border:1px solid var(--color-border);border-right:none;border-radius:var(--radius-md) 0 0 var(--radius-md);font-size:.875rem;color:var(--color-text);font-weight:600;white-space:nowrap}.phone-input[data-v-9f44db7c]{border-radius:0 var(--radius-md) var(--radius-md) 0!important;flex:1}.overlay[data-v-40e5bcf0]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--space-md)}.modal[data-v-40e5bcf0]{position:relative;width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.modal-close[data-v-40e5bcf0]{position:absolute;top:var(--space-sm);right:var(--space-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;font-size:1.5rem;line-height:1;color:var(--color-text-muted);cursor:pointer;border-radius:4px}.modal-close[data-v-40e5bcf0]:hover{background:var(--color-bg)}.stepper[data-v-40e5bcf0]{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.step-dot[data-v-40e5bcf0]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.8125rem;font-weight:600;background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border)}.step-dot.active[data-v-40e5bcf0]{background:var(--color-primary);color:var(--fg-inverse);border-color:var(--color-primary)}.step-dot.done[data-v-40e5bcf0]{background:var(--success-soft-bg);color:var(--success-soft-fg);border-color:var(--success-soft-border)}.step-body[data-v-40e5bcf0]{min-height:180px}.modal-title[data-v-40e5bcf0]{font-size:1.125rem;font-weight:600;margin-bottom:var(--space-sm)}.modal-message[data-v-40e5bcf0]{color:var(--color-text-muted);font-size:.875rem;margin-bottom:var(--space-lg)}.action-stack[data-v-40e5bcf0]{display:flex;flex-direction:column;gap:var(--space-sm)}.code-row[data-v-40e5bcf0]{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.enrollment-code[data-v-40e5bcf0]{font-weight:600;color:var(--color-primary);background:var(--color-bg);padding:4px 10px;border-radius:4px;border:1px solid var(--color-border);font-size:.875rem}.link-code[data-v-40e5bcf0]{flex:1;font-weight:500;font-size:.75rem;word-break:break-all}.btn-copy[data-v-40e5bcf0]{padding:4px 12px;font-size:.75rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-primary);cursor:pointer;white-space:nowrap}.btn-copy[data-v-40e5bcf0]:hover{background:var(--accent-light2)}.modal-nav[data-v-40e5bcf0]{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg)}.nav-spacer[data-v-40e5bcf0]{flex:1}@media (max-width: 720px){.modal-nav[data-v-40e5bcf0]{flex-wrap:wrap}.enrollment-code[data-v-40e5bcf0]{padding:4px}}.empty-state[data-v-361255ae]{text-align:center;padding:var(--space-xl);color:var(--color-text-muted)}.empty-state-message[data-v-361255ae]{font-size:1rem;margin-bottom:var(--space-md)}.status-summary[data-v-58ae3f59]{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.status-pill[data-v-58ae3f59]{font-size:.8rem;padding:2px 10px;border-radius:12px;font-weight:500}.status-pill.granted[data-v-58ae3f59]{background:var(--success-soft-bg);color:var(--success-soft-fg)}.status-pill.pending[data-v-58ae3f59]{background:var(--warning-soft-bg);color:var(--warning-soft-fg)}.status-pill.revoked[data-v-58ae3f59]{background:var(--danger-soft-bg);color:var(--danger-soft-fg)}.search-bar[data-v-58ae3f59]{margin-bottom:var(--space-md)}.search-bar input[data-v-58ae3f59]{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem}.search-bar input[data-v-58ae3f59]:focus{outline:2px solid var(--color-primary);outline-offset:-1px}:root{color-scheme:light;--surface-primary: #F6F3EC;--surface-soft: #EDE7DB;--surface-card: #FFFFFF;--surface-inverse: #3A352F;--surface-sage: #E4EDE7;--fg-primary: #3A352F;--fg-secondary: #6E675D;--fg-muted: #9E978B;--fg-inverse: #FFFFFF;--accent: #3B7560;--accent-teal: #5F9D87;--accent-warm: #C68360;--accent-hover: #2F5D4C;--border-subtle: #E4DDCF;--border-medium: #CFC6B4;--accent-light: #3B756012;--accent-light2: #3B756018;--accent-light3: #3B75600F;--accent-light4: #3B75601A;--red-light: #C4726A18;--brand-ring: #5F9D87;--brand-core: #C68360;--brand-pela: #3A352F;--brand-sync: #5F9D87;--color-success: #2E7D5B;--color-warning: #B4791F;--color-danger: #BD5A4F;--color-danger-hover: #A54A40;--badge-pending-bg: #FEF3C7;--badge-pending-fg: #92400E;--badge-granted-bg: #DCFCE7;--badge-granted-fg: #166534;--badge-revoked-bg: #FEE2E2;--badge-revoked-fg: #991B1B;--success-soft-bg: #DCFCE7;--success-soft-fg: #166534;--success-soft-border: #BBF7D0;--danger-soft-bg: #FEE2E2;--danger-soft-fg: #991B1B;--danger-soft-border: #FECACA;--warning-soft-bg: #FEF3C7;--warning-soft-fg: #92400E;--warning-soft-border: #FDE68A;--focus-ring: rgba(59, 117, 96, .25);--color-bg: var(--surface-primary);--color-surface: var(--surface-card);--color-text: var(--fg-primary);--color-text-muted: var(--fg-secondary);--color-border: var(--border-subtle);--color-primary: var(--accent);--color-primary-hover: var(--accent-hover);--color-info-bg: var(--surface-sage);--radius: 6px;--radius-lg: 10px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1)}[data-theme=dark]{color-scheme:dark;--surface-primary: #201D19;--surface-soft: #29251F;--surface-card: #2D2822;--surface-inverse: #F3EFE9;--surface-sage: #263029;--fg-primary: #F3EFE9;--fg-secondary: #C6BEB2;--fg-muted: #8E877B;--fg-inverse: #201D19;--accent: #7FB89F;--accent-teal: #5F9D87;--accent-warm: #C68360;--accent-hover: #93C5AC;--border-subtle: #3A352D;--border-medium: #4E473C;--accent-light: #7FB89F12;--accent-light2: #7FB89F18;--accent-light3: #7FB89F0F;--accent-light4: #7FB89F1A;--red-light: #C4726A18;--brand-ring: #B8D4C8;--brand-core: #C68360;--brand-pela: #F3EFE9;--brand-sync: #B8D4C8;--color-success: #6FBF95;--color-warning: #E0A94E;--color-danger: #D98B84;--color-danger-hover: #E4A29B;--badge-pending-bg: #3A2F16;--badge-pending-fg: #E4C07A;--badge-granted-bg: #1D3328;--badge-granted-fg: #86CBA4;--badge-revoked-bg: #3A211E;--badge-revoked-fg: #E19A93;--success-soft-bg: #1D3328;--success-soft-fg: #86CBA4;--success-soft-border: #2C4A38;--danger-soft-bg: #3A211E;--danger-soft-fg: #E19A93;--danger-soft-border: #5A3630;--warning-soft-bg: #33280F;--warning-soft-fg: #E4C07A;--warning-soft-border: #554420;--focus-ring: rgba(127, 184, 159, .35);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;border:none;background:none}input,select,textarea{font:inherit}input[type=date],input[type=time],select{cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer}table{border-collapse:collapse}.container{max-width:960px;margin:0 auto;padding:var(--space-lg) var(--space-md)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius);font-weight:500;font-size:.875rem;transition:background .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--fg-inverse);justify-content:center}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-danger{background:var(--color-danger);color:var(--fg-inverse)}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-outline{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface)}.btn-outline:hover:not(:disabled){background:var(--color-bg)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.form-group label{font-size:.875rem;font-weight:500;color:var(--color-text)}.form-group input,.form-group select{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.form-group input:focus,.form-group select:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.form-error{color:var(--color-danger);font-size:.8rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.page-header h1{font-size:1.5rem;font-weight:600}.text-muted{color:var(--color-text-muted);font-size:.875rem}
