:root{--color-brand: #2dc4b5;--color-brand-active: #22a89c;--surface-brand-soft: #e6f7f5;--text-strong: #1a1f24;--text-body: #3c4348;--text-muted: #6b7580;--text-subtle: #9aa3ab;--surface-card: #ffffff;--surface-sunken: #f4f5f6;--surface-page: #f7f8f9;--border-default: #d8dce0;--border-subtle: #e8eaed;--border-brand: #a9e4dd;--font-display: "Poppins", "Segoe UI", sans-serif;--font-sans: "Open Sans", "Segoe UI", sans-serif;--fw-semibold: 600;--fw-bold: 700;--radius-sm: 6px;--radius-md: 10px;--radius-card: 12px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(17, 20, 24, .05);--shadow-sm: 0 2px 6px rgba(17, 20, 24, .07);--shadow-md: 0 6px 16px rgba(17, 20, 24, .09);--shadow-brand: 0 4px 14px rgba(45, 196, 181, .35)}.ds-heading{font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--text-strong);font-size:1.2rem;margin:0}.ds-eyebrow{font-family:var(--font-sans);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:6px}.ds-eyebrow-brand{color:var(--color-brand-active)}.ds-subtext{font-family:var(--font-sans);color:var(--text-muted);font-size:.85rem;margin:0}.ds-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-body);font-size:.75rem;font-weight:var(--fw-semibold);font-family:var(--font-sans);white-space:nowrap}.ds-btn{font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:.875rem;border-radius:var(--radius-pill);padding:8px 16px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:1px solid transparent;transition:background-color .12s ease,border-color .12s ease,opacity .12s ease;white-space:nowrap}.ds-btn:disabled{cursor:not-allowed;opacity:.5}.ds-btn-primary{background:var(--color-brand);color:#fff;box-shadow:var(--shadow-brand)}.ds-btn-primary:hover:not(:disabled){background:var(--color-brand-active)}.ds-btn-outline{background:var(--surface-card);color:var(--color-brand-active);border-color:var(--color-brand);padding:6px 14px}.ds-btn-outline:hover:not(:disabled){background:var(--surface-brand-soft)}.ds-btn-ghost{background:transparent;color:var(--text-muted);border-color:transparent;border-radius:var(--radius-sm);padding:4px}.ds-btn-ghost:hover:not(:disabled){background:var(--surface-sunken)}.ds-search{display:flex;align-items:center;gap:8px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 14px}.ds-search input{border:none;background:transparent;outline:none;flex:1;font-family:var(--font-sans);font-size:.95rem;color:var(--text-body);min-width:0}.ds-search svg{flex-shrink:0;color:var(--text-subtle)}.ds-search-clear{display:inline-flex;border:none;background:transparent;cursor:pointer;color:var(--text-subtle);padding:2px}.ds-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px;border-bottom:1px solid var(--border-subtle)}.ds-row:last-child{border-bottom:none}.ds-row-title{font-family:var(--font-sans);font-weight:var(--fw-semibold);color:var(--text-strong);font-size:.95rem}.ds-row-subtitle{font-family:var(--font-sans);color:var(--text-muted);font-size:.82rem;margin-top:2px}.ds-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);padding:20px}.ds-card-brand{background:var(--surface-brand-soft);border:1px solid var(--border-brand);border-radius:var(--radius-card);padding:16px 20px}.ds-table{width:100%;border-collapse:collapse}.ds-table th{text-align:left;font-family:var(--font-sans);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;color:var(--text-muted);padding:0 8px 8px 0}.ds-table td{padding:10px 8px 10px 0;border-top:1px solid var(--border-subtle);font-family:var(--font-sans);font-size:.88rem;color:var(--text-body);vertical-align:top}.ds-quantity-input{width:64px;padding:6px 8px;border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.9rem;color:var(--text-body);background:var(--surface-card)}
