.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:100vh;color:var(--color-text-muted);font-size:.95rem}.loading-state__spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--color-border);border-top-color:var(--color-accent);animation:loading-state-spin .8s linear infinite}@keyframes loading-state-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-state__spinner{animation:none}}.reduced-protection-banner{background:var(--color-warning-bg);color:var(--color-warning-text);border-bottom:1px solid var(--color-warning-border);padding:var(--space-2) var(--space-4);font-size:.85rem;line-height:1.4;text-align:center}.error-banner{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:.9rem;line-height:1.4}.tenant-selector{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.tenant-selector__search{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2)}.tenant-selector__search label,.tenant-selector__field label{display:block;font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-1)}.tenant-selector__search input,.tenant-selector__field select{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);min-height:40px}.tenant-selector__search button,.tenant-selector__load-more{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;font:inherit;min-height:40px}.tenant-selector__load-more{align-self:flex-start}.tenant-selector__load-more:disabled{cursor:not-allowed;opacity:.6}.tenant-selector__field{display:flex;flex-direction:column;max-width:420px}.tenant-selector__field select{white-space:normal}.tenant-selector__field-error{margin:var(--space-1) 0 0;color:var(--color-danger-text);font-size:.85rem;flex-basis:100%}@media(max-width:480px){.tenant-selector__search{flex-direction:column;align-items:stretch}}.game-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);min-width:0}.game-card__title{margin:0;font-size:1rem;font-weight:700;color:var(--color-text);overflow-wrap:anywhere}.game-card__status{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;border:1px solid var(--color-border-strong);color:var(--color-text)}.game-card__status--active{border-color:var(--color-accent);color:var(--color-accent)}.game-card__status--pilot{border-color:var(--color-focus-ring);color:var(--color-focus-ring)}.game-card__action{margin-top:auto;width:100%;min-height:40px;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:600;cursor:pointer}.game-card__action:hover:not(:disabled){background:var(--color-surface-raised)}.game-card__action:disabled{color:var(--color-text-muted);cursor:not-allowed}.game-card__error{margin:0;color:var(--color-danger-text);font-size:.85rem;overflow-wrap:anywhere}.game-catalog{display:flex;flex-direction:column;gap:var(--space-4)}.game-catalog__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.game-catalog__empty,.game-catalog__error{padding:var(--space-6);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);text-align:left;overflow-wrap:anywhere}.game-catalog__retry{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;font:inherit;min-height:40px}@media(max-width:390px){.game-catalog__grid{grid-template-columns:1fr}}.dashboard-page{min-height:100vh;display:flex;flex-direction:column;background:var(--color-surface)}.dashboard-page__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.dashboard-page__brand{font-weight:700;color:var(--color-text)}.dashboard-page__user{display:flex;align-items:center;gap:var(--space-4);color:var(--color-text-muted);font-size:.9rem}.dashboard-page__user button{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;font:inherit}.dashboard-page__content{flex:1;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-5);padding:var(--space-6);max-width:1100px;width:100%;margin:0 auto;box-sizing:border-box}.dashboard-page__title{margin:0;font-size:1.4rem;font-weight:700;color:var(--color-text)}.dashboard-page__empty-state{color:var(--color-text-muted);padding:var(--space-6);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-wrap:anywhere}@media(max-width:480px){.dashboard-page__content{padding:var(--space-4)}}@media(max-width:480px){.dashboard-page__header{flex-direction:column;align-items:flex-start}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-surface);padding:var(--space-4)}.login-page__card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--space-5);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-8) var(--space-6)}.login-page__title{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-text);text-align:center}.login-page__description{margin:0;font-size:.9rem;color:var(--color-text-muted);text-align:center}.login-page__retry{align-self:center;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;font:inherit}@media(max-width:420px){.login-page__card{padding:var(--space-6) var(--space-4)}}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.login-form__field{display:flex;flex-direction:column;gap:var(--space-2)}.login-form__field label{font-size:.875rem;font-weight:600;color:var(--color-text)}.login-form__field input{font:inherit;padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text)}.login-form__field input:disabled{opacity:.6}.login-form__field-error{margin:0;color:var(--color-danger-text);font-size:.8rem}.login-form button[type=submit]{padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-on-accent);font-weight:600;cursor:pointer}.login-form button[type=submit]:hover:not(:disabled){background:var(--color-accent-hover)}.login-form button[type=submit]:disabled{opacity:.65;cursor:not-allowed}.password-change-form{display:flex;flex-direction:column;gap:var(--space-5)}.password-change-form__field{display:flex;flex-direction:column;gap:var(--space-2)}.password-change-form__field label{font-size:.875rem;font-weight:600;color:var(--color-text)}.password-change-form__field input{font:inherit;padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text)}.password-change-form__field input:disabled{opacity:.6}.password-change-form__field-error,.password-change-form__form-error{margin:0;color:var(--color-danger-text);font-size:.8rem}.password-change-form__actions{display:flex;flex-direction:column;gap:var(--space-3)}.password-change-form__actions button[type=submit]{padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-on-accent);font-weight:600;cursor:pointer}.password-change-form__actions button[type=submit]:hover:not(:disabled){background:var(--color-accent-hover)}.password-change-form__actions button[type=submit]:disabled{opacity:.65;cursor:not-allowed}.password-change-form__secondary{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:transparent;color:var(--color-text);font-weight:600;cursor:pointer}.password-change-form__secondary:disabled{opacity:.5;cursor:not-allowed}:root{--color-bg: #ffffff;--color-surface: #f7f7f8;--color-surface-raised: #ffffff;--color-border: #d8d9dc;--color-border-strong: #b7b9bd;--color-text: #22262b;--color-text-muted: #5b6168;--color-text-on-accent: #ffffff;--color-danger-bg: #fdecec;--color-danger-text: #8a1f1f;--color-danger-border: #f2b8b8;--color-warning-bg: #fef6e6;--color-warning-text: #7a5400;--color-warning-border: #f0d99a;--color-accent: #b70049;--color-accent-hover: #a1003f;--color-focus-ring: #652fe7;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .06), 0 4px 16px rgba(0, 0, 0, .06)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:inherit}a{color:var(--color-accent)}
