:root{color-scheme:light;--bg: #f8fafc;--surface: #ffffff;--surface-subtle: #f1f5f9;--border: #e2e8f0;--text: #0f172a;--muted: #475569;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-fg: #ffffff;--ok-bg: #ecfdf5;--ok-border: #a7f3d0;--ok-text: #065f46;--error-bg: #fef2f2;--error-border: #fecaca;--error-text: #991b1b;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 4px 12px rgba(15, 23, 42, .04)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;background-color:var(--bg);color:var(--text);min-height:100dvh;padding:max(env(safe-area-inset-top,16px),16px) 16px max(env(safe-area-inset-bottom,24px),24px);-webkit-font-smoothing:antialiased}.page-shell{width:100%;max-width:430px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;min-height:calc(100dvh - 40px)}.dashboard-stack{display:flex;flex-direction:column;gap:16px;width:100%;margin-bottom:auto;padding-top:8px}.card{background-color:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px 20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:20px}.card-header,.section-header,.topbar-info{display:flex;flex-direction:column;gap:6px}.pill-badge{align-self:flex-start;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary);background-color:#eff6ff;border:1px solid #bfdbfe;padding:4px 12px;border-radius:999px}h1{font-size:1.625rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}h2{font-size:1.25rem;font-weight:700;color:var(--text)}h3{font-size:1.125rem;font-weight:700;color:var(--text)}.subtitle{font-size:1rem;color:var(--muted)}.form-stack{display:flex;flex-direction:column;gap:18px}.participant-form-box{background-color:var(--surface-subtle);border:1.5px solid #cbd5e1;border-radius:18px;padding:18px 16px;display:flex;flex-direction:column;gap:16px}.form-actions-stack{display:flex;flex-direction:column;gap:10px}.field-group{display:flex;flex-direction:column;gap:6px}.label-row{display:flex;align-items:center;justify-content:space-between}.field-label{font-size:1rem;font-weight:600;color:var(--text)}.text-input{width:100%;min-height:52px;padding:12px 16px;font-size:1rem;line-height:1.4;color:var(--text);background-color:var(--surface);border:1.5px solid #cbd5e1;border-radius:14px;transition:border-color .15s ease,box-shadow .15s ease}.text-input:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:1px;border-color:var(--primary)}.text-input:invalid:user-invalid{border-color:#dc2626}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:52px;border:none;border-radius:14px;padding:14px 18px;font-size:1.0625rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,opacity .15s ease}button:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:var(--primary-fg)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn-secondary{background-color:var(--surface-subtle);color:var(--text);border:1px solid var(--border)}.btn-secondary-accent{background-color:#eff6ff;color:#1d4ed8;border:1.5px solid #bfdbfe}.btn-paid-state{background-color:#dcfce7;color:#065f46;border:1.5px solid #86efac}.btn-delivered-state{background-color:#e0e7ff;color:#3730a3;border:1.5px solid #c7d2fe}.btn-danger-soft{background-color:#fef2f2;color:#b91c1c;border:1.5px solid #fecaca}.btn-danger-soft:hover:not(:disabled){background-color:#fee2e2}.btn-outline-danger{background-color:#fff;color:#b91c1c;border:1px solid #fecaca}.btn-link{width:auto;min-height:36px;padding:4px 10px;font-size:.9375rem;font-weight:600;color:var(--primary);background:transparent}.btn-edit-small{width:auto;min-height:44px;padding:8px 16px;font-size:.9375rem;font-weight:700;color:var(--primary);background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;flex-shrink:0}.btn-edit-small:hover:not(:disabled){background-color:#dbeafe}.btn-dismiss{width:auto;min-height:32px;padding:4px 10px;font-size:.875rem;font-weight:700;background:#ffffffb3;color:inherit;border:1px solid currentColor;border-radius:8px}.alert{border-radius:14px;padding:14px 16px;font-size:1rem;display:flex;flex-direction:column;gap:6px}.alert-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.alert-ok{background-color:var(--ok-bg);border:1px solid var(--ok-border);color:var(--ok-text)}.alert-error{background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.san-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.meta-box{background-color:var(--surface-subtle);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.meta-label{font-size:.875rem;color:var(--muted)}.meta-value{font-size:1.125rem;font-weight:700;color:var(--text)}.capitalize{text-transform:capitalize}.topbar-actions{display:flex;flex-direction:column;gap:10px}.audit-history-panel{background-color:var(--surface-subtle);border:1.5px solid #cbd5e1;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:14px}.audit-list{list-style:none;display:flex;flex-direction:column;gap:10px}.audit-item{display:flex;align-items:flex-start;gap:10px;background-color:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:.9375rem;line-height:1.4}.audit-dot{width:10px;height:10px;border-radius:50%;margin-top:6px;flex-shrink:0}.audit-dot-ok{background-color:#10b981}.audit-dot-warn{background-color:#ef4444}.audit-text{color:var(--text);font-weight:500}.finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.finance-box{border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:4px}.finance-box-in{background-color:#ecfdf5;border:1px solid #a7f3d0}.finance-box-out{background-color:#eff6ff;border:1px solid #bfdbfe}.finance-value{font-size:1.25rem;font-weight:800}.text-green{color:#065f46}.text-blue{color:#1e40af}.balance-banner{background-color:var(--surface-subtle);border:1.5px solid #cbd5e1;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:4px}.balance-label{font-size:.875rem;font-weight:600;color:var(--muted)}.balance-amount{font-size:1.5rem;font-weight:800;color:var(--text)}.period-selector-box{background-color:var(--surface-subtle);border:1px solid var(--border);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.period-hint{font-size:.875rem;color:var(--muted)}.empty-card,.empty-list-box{text-align:center;padding:28px 20px}.participant-list{list-style:none;display:flex;flex-direction:column;gap:14px}.participant-card{display:flex;flex-direction:column;gap:14px;padding:16px;background-color:var(--surface-subtle);border:1px solid var(--border);border-radius:18px}.participant-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.participant-main{display:flex;flex-direction:column;gap:6px;flex:1}.participant-name{font-size:1.125rem;font-weight:700;color:var(--text)}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.status-chip{font-size:.8125rem;font-weight:600;padding:3px 10px;border-radius:999px}.chip-active{background-color:#e2e8f0;color:#334155}.chip-inactive{background-color:#f1f5f9;color:#64748b}.chip-paid{background-color:#dcfce7;color:#166534}.chip-delivered{background-color:#e0e7ff;color:#3730a3}.participant-rpc-actions{display:flex;flex-direction:column;gap:10px}.backup-actions{display:flex;flex-direction:column;gap:12px}.sr-only-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
