:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2ff;font-family:Inter,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{min-height:100vh}button,input{font:inherit}strong{font-weight:700}.login-shell,.welcome-shell{background:linear-gradient(135deg,#eef2f8 0%,#f8fafc 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card,.welcome-card{background:#fff;border:1px solid #e2e8f0;border-radius:22px;width:min(100%,460px);padding:28px 24px 24px;box-shadow:0 20px 45px #0f172a14}.business-login-card{flex-direction:column;gap:18px;display:flex}.business-brand-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.brand-mark{object-fit:contain;color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);border-radius:12px;width:42px;height:42px;font-size:1.1rem;font-weight:800;display:block}.brand-label{color:#475569;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.business-brand-panel h2{color:#0f172a;margin:4px 0 0;font-size:1.1rem}.login-header{margin:0}.eyebrow{color:#1d4ed8;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700;display:inline-block}.login-header h1,.welcome-card h1{letter-spacing:-.06em;margin:0;font-size:clamp(2rem,5vw,2.4rem)}.login-form{flex-direction:column;gap:14px;display:flex}.field-label{color:#111827;font-size:.92rem;font-weight:600;display:block}.login-form input{box-sizing:border-box;color:#111827;background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;width:100%;padding:14px 16px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.login-form input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 4px #4f46e51f}.login-form button,.button-row button,.logout-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);border:none;border-radius:12px;padding:14px 18px;font-size:1rem;font-weight:700;transition:transform .15s,opacity .2s,box-shadow .2s;box-shadow:0 10px 20px #1d4ed82e}.login-form button:hover,.button-row button:hover,.logout-button:hover{transform:translateY(-1px)}.login-form button:disabled,.button-row button:disabled,.logout-button:disabled{opacity:.7;cursor:wait}.button-row{gap:12px;display:flex}.button-row button{flex:1}.button-row .secondary{color:#0f172a;box-shadow:none;background:#e2e8f0}.helper-text{color:#374151;margin:0 0 6px;font-size:.95rem}.success-message,.error-message{border-radius:10px;margin:18px 0 0;padding:12px 14px;font-size:.92rem}.success-message{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.error-message{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.welcome-card{text-align:center}.welcome-text{color:#4b5563;margin:16px 0 24px;font-size:1rem}.workspace-shell{background:linear-gradient(135deg,#eef2f8 0%,#f8fafc 100%);flex-direction:column;min-height:100vh;padding:32px 24px 48px;display:flex}.workspace-header{justify-content:space-between;align-items:center;gap:16px;width:100%;margin:0 auto 20px;display:flex}.workspace-brand{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:12px;padding:12px 16px;display:flex;box-shadow:0 12px 30px #0f172a0d}.workspace-brand .brand-mark{object-fit:contain;background:0 0;border-radius:0;width:120px;height:auto;font-size:1rem}.workspace-brand h2{color:#0f172a;margin:4px 0 0;font-size:1.1rem}.workspace-header .logout-button{margin-left:auto}.workspace-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:22px;flex-direction:column;gap:20px;margin:0 auto;padding:24px 20px;display:flex;box-shadow:0 20px 45px #0f172a14}.workspace-title-row{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding-bottom:4px;display:flex}.workspace-title-copy{flex-direction:column;gap:4px;display:flex}.workspace-title-copy strong{color:#0f172a;font-size:1.05rem}.workspace-badge{color:#075985;letter-spacing:.04em;text-transform:uppercase;background:#e0f2fe;border-radius:999px;align-items:center;padding:8px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.table-actions-wrap{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;width:100%;display:flex}.table-search-field{width:min(100%,320px);position:relative}.table-search{color:#0f172a;box-sizing:border-box;background:#f8fafc;border:1px solid #dbe1ea;border-radius:12px;width:100%;padding:12px 40px 12px 14px;font-size:.95rem}.table-search:focus{border-color:#1d4ed8;outline:none;box-shadow:0 0 0 4px #1d4ed81f}.table-search-clear{color:#0f172a;cursor:pointer;background:#e2e8f0;border:none;border-radius:50%;width:22px;height:22px;font-size:1.1rem;line-height:1;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.table-search-clear:hover{background:#cbd5e1}.register-user-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#16a34a 0%,#22c55e 100%);border:none;border-radius:12px;padding:12px 16px;font-size:.9rem;font-weight:700;transition:transform .15s;box-shadow:0 10px 20px #22c55e47}.register-user-button:hover{transform:translateY(-1px)}.reward-rule-select{color:#0f172a;box-sizing:border-box;background:#f8fafc;border:1px solid #dbe1ea;border-radius:12px;min-width:min(100%,220px);padding:12px 14px;font-size:.95rem}.reward-rule-select:focus{border-color:#1d4ed8;outline:none;box-shadow:0 0 0 4px #1d4ed81f}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.purchase-button{color:#065f46;cursor:pointer;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:1px solid #10b9814d;border-radius:10px;padding:10px 12px;font-size:.8rem;font-weight:800;transition:transform .15s,box-shadow .2s,opacity .2s;box-shadow:0 8px 18px #10b9811f}.redeem-button{color:#92400e;cursor:pointer;background:linear-gradient(135deg,#fff7ed 0%,#fef3c7 100%);border:1px solid #f59e0b59;border-radius:10px;padding:10px 12px;font-size:.8rem;font-weight:800;transition:transform .15s,box-shadow .2s,opacity .2s;box-shadow:0 8px 18px #f59e0b24}.redeem-button:disabled{color:#6b7280;box-shadow:none;cursor:not-allowed;opacity:.8;background:linear-gradient(135deg,#e5e7eb 0%,#d1d5db 100%);border-color:#cbd5e1}.purchase-button:hover,.redeem-button:hover{transform:translateY(-1px)}.purchase-button:hover{box-shadow:0 12px 20px #10b9812e}.redeem-button:hover:not(:disabled){box-shadow:0 12px 20px #f59e0b33}.table-wrap{box-sizing:border-box;border:1px solid #e5e7eb;border-radius:14px;width:100%;min-width:0;max-width:100%;display:block;overflow-x:auto}.table-wrap table{border-collapse:collapse;table-layout:fixed;background:#fff;width:100%;min-width:1200px}.table-wrap thead th{color:#1f2937;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 100%);font-size:.78rem}.table-wrap th,.table-wrap td{text-align:left;vertical-align:middle;word-break:break-word;overflow-wrap:anywhere;border-bottom:1px solid #e5e7eb;padding:12px 14px}.table-wrap tbody tr{cursor:pointer;transition:background .2s,transform .2s}.table-wrap tbody tr:hover{background:#f9fafb}.table-wrap tbody tr.selected-row{background:#eef2ff}.table-wrap tbody tr.inactive-row{background:#fff1f2}.table-wrap tbody tr.inactive-row:hover{background:#ffe4e6}.table-wrap tbody tr.inactive-row.selected-row{background:#fdf2f8}.table-wrap th{font-weight:700}.table-wrap td{color:#111827}.details-row td{background:#fff;border-bottom:1px solid #e5e7eb;padding:0}.user-detail-panel{box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;padding:20px}.user-detail-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.user-detail-header h3{color:#0f172a;margin:0;font-size:1.2rem}.user-status{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.user-status.active{color:#166534;background:#dcfce7}.user-status.inactive{color:#991b1b;background:#fee2e2}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 16px;display:grid}.detail-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.detail-item span{color:#475569;font-size:.8rem;font-weight:700}.detail-item strong{color:#0f172a;font-size:.94rem}.modal-backdrop{z-index:1000;background:#0f172a73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.purchase-modal{background:#fff;border:1px solid #e2e8f0;border-radius:20px;width:min(100%,520px);overflow:hidden;box-shadow:0 20px 45px #0f172a2e}.purchase-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:12px;padding:20px 20px 12px;display:flex}.purchase-modal-header h3{color:#0f172a;margin:4px 0 0;font-size:1.3rem}.modal-close-button{color:#0f172a;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;width:36px;height:36px;font-size:1.4rem}.purchase-modal-body{padding:20px}.modal-user-name{color:#0f172a;margin:0 0 18px;font-size:1rem;font-weight:700}.purchase-form{flex-direction:column;gap:10px;display:flex}.purchase-form input,.purchase-form select{box-sizing:border-box;color:#0f172a;background:#f8fafc;border:1px solid #dbe1ea;border-radius:12px;width:100%;padding:12px 14px;font-size:.95rem}.register-user-form{gap:14px}.register-user-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.register-user-field{flex-direction:column;gap:8px;display:flex}.register-user-field.full-width{grid-column:1/-1}.checkbox-row{align-items:flex-start}.checkbox-label{color:#0f172a;cursor:pointer;align-items:center;gap:10px;font-weight:600;display:inline-flex}.checkbox-label input{width:16px;height:16px}.purchase-form input:focus,.purchase-form select:focus{border-color:#1d4ed8;outline:none;box-shadow:0 0 0 4px #1d4ed81f}.purchase-modal-actions{justify-content:flex-end;gap:12px;margin-top:18px;display:flex}.purchase-modal-actions button{cursor:pointer;border:none;border-radius:12px;padding:12px 18px;font-size:.95rem;font-weight:700;transition:transform .15s,opacity .2s,box-shadow .2s}.purchase-modal-actions button[type=submit]{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);box-shadow:0 10px 20px #1d4ed82e}.purchase-modal-actions button[type=submit]:hover{transform:translateY(-1px)}.purchase-modal-actions button[type=submit]:disabled{opacity:.7;cursor:wait}.secondary-button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #dbe1ea;border-radius:12px;padding:12px 16px;font-weight:700}.secondary-button:hover{background:#f8fafc}.status-message{color:#374151;margin:0}@media (width<=480px){.login-card,.welcome-card,.workspace-card{padding:24px 18px}.button-row,.workspace-title-row,.workspace-header{flex-direction:column;align-items:flex-start}}
