.signup-requests-page{max-width:1400px;margin:0 auto;padding:2rem}.page-header h1{color:#1f2937;margin:0 0 .5rem;font-size:1.75rem;font-weight:600}.page-description{color:#6b7280;margin:0}.filters{margin-bottom:1.5rem}.filters select{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem}.filters select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.loading,.no-results,.error-message{text-align:center;color:#6b7280;background:#f9fafb;border-radius:8px;padding:3rem}.error-message{color:#dc2626;background:#fef2f2}.requests-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem;display:grid}.request-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .2s}.request-card:hover{box-shadow:0 4px 12px #0000000d}.request-card.selected{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.request-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;display:flex}.request-header h3{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.status-badge{text-transform:uppercase;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.status-pending{color:#92400e;background:#fef3c7}.status-approved{color:#065f46;background:#d1fae5}.status-rejected{color:#991b1b;background:#fee2e2}.status-unknown{color:#374151;background:#e5e7eb}.request-body{flex-direction:column;gap:.5rem;display:flex}.info-row{gap:.5rem;font-size:.875rem;display:flex}.info-row .label{color:#6b7280;flex-shrink:0;min-width:100px}.info-row .value{color:#1f2937;word-break:break-word}.info-row .value a{color:#3b82f6;text-decoration:none}.info-row .value a:hover{text-decoration:underline}.info-row.message .value{color:#4b5563;white-space:pre-wrap;font-style:italic}.plan-badge{color:#1d4ed8;background:#dbeafe;border-radius:4px;padding:.125rem .5rem;font-weight:500;display:inline-block}.rejection-reason{border-top:1px dashed #e5e7eb;margin-top:.5rem;padding-top:.5rem}.rejection-reason .value{color:#991b1b}.token-info{border-top:1px dashed #e5e7eb;margin-top:.5rem;padding-top:.5rem}.token-info .token{background:#f3f4f6;border-radius:4px;padding:.125rem .25rem;font-family:monospace;font-size:.75rem}.request-actions{border-top:1px solid #f3f4f6;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.btn-approve,.btn-reject{cursor:pointer;border:none;border-radius:6px;flex:1;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.btn-approve{color:#fff;background:#10b981}.btn-approve:hover:not(:disabled){background:#059669}.btn-reject{color:#fff;background:#ef4444}.btn-reject:hover:not(:disabled){background:#dc2626}.btn-approve:disabled,.btn-reject:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:500px;margin:1rem;padding:1.5rem;box-shadow:0 20px 25px -5px #0000001a}.modal h2{color:#1f2937;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.modal p{color:#6b7280;margin:0 0 1rem}.modal .form-group{margin-bottom:1.5rem}.modal .form-group label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.modal .form-group textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem;font-family:inherit;font-size:.875rem}.modal .form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.btn-cancel,.btn-confirm-reject{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.btn-cancel{color:#374151;background:#f3f4f6}.btn-cancel:hover{background:#e5e7eb}.btn-confirm-reject{color:#fff;background:#ef4444}.btn-confirm-reject:hover:not(:disabled){background:#dc2626}.btn-confirm-reject:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.signup-requests-page{padding:1rem}.requests-grid{grid-template-columns:1fr}.request-card{padding:1rem}.request-header{flex-direction:column;gap:.5rem}.info-row{flex-direction:column;gap:.125rem}.info-row .label{min-width:auto}}:root{--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-bg-elevated:#1e293b;--color-bg-hover:#334155;--color-border:#334155;--color-border-focus:#3b82f6;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-accent:#3b82f6;--color-accent-hover:#2563eb;--color-accent-light:#3b82f61a;--color-success:#10b981;--color-success-bg:#10b9811a;--color-warning:#f59e0b;--color-warning-bg:#f59e0b1a;--color-error:#ef4444;--color-error-bg:#ef44441a;--color-info:#06b6d4;--color-info-bg:#06b6d41a;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0000004d;--shadow-lg:0 10px 15px #0000004d;--transition-fast:.15s ease;--transition-normal:.25s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg-primary);min-height:100vh;line-height:1.6}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}.portal-layout{min-height:100vh;display:flex}.portal-layout__sidebar{background:var(--color-bg-secondary);border-right:1px solid var(--color-border);z-index:100;flex-direction:column;width:260px;display:flex;position:fixed;top:0;bottom:0;left:0}.portal-layout__main{flex-direction:column;flex:1;margin-left:260px;display:flex}.portal-layout__header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);height:64px;padding:0 var(--space-lg);z-index:50;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.portal-layout__content{padding:var(--space-xl);flex:1;width:100%;max-width:1400px;margin:0 auto}.sidebar__logo{padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.sidebar__logo-title{font-size:var(--text-xl);color:var(--color-text-primary);align-items:center;gap:var(--space-sm);font-weight:700;display:flex}.sidebar__logo-subtitle{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-xs)}.sidebar__nav{padding:var(--space-md);flex:1;overflow-y:auto}.sidebar__nav-section{margin-bottom:var(--space-lg)}.sidebar__nav-title{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-sm) var(--space-md);font-weight:600}.sidebar__nav-link{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all var(--transition-fast);display:flex}.sidebar__nav-link:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar__nav-link--active{background:var(--color-accent-light);color:var(--color-accent)}.sidebar__nav-link svg{flex-shrink:0;width:20px;height:20px}.card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.card__header{padding:var(--space-lg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.card__title{font-size:var(--text-lg);color:var(--color-text-primary);font-weight:600}.card__body{padding:var(--space-lg)}.card__footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);background:var(--color-bg-tertiary)}.stats-grid{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.stat-card__value{font-size:var(--text-3xl);color:var(--color-text-primary);font-weight:700;line-height:1}.stat-card__label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-xs)}.stat-card__trend{align-items:center;gap:var(--space-xs);font-size:var(--text-sm);margin-top:var(--space-sm);display:flex}.stat-card__trend--up{color:var(--color-success)}.stat-card__trend--down{color:var(--color-error)}.table-container{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border)}.table th{font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-bg-tertiary);white-space:nowrap;font-weight:600}.table td{font-size:var(--text-sm);color:var(--color-text-primary)}.table tbody tr:hover{background:var(--color-bg-hover)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn--secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-bg-hover)}.btn--danger{background:var(--color-error);color:#fff}.btn--danger:hover:not(:disabled){background:#dc2626}.btn--ghost{color:var(--color-text-secondary);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.btn--sm{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.btn--icon{padding:var(--space-sm)}.badge{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs);border-radius:var(--radius-full);align-items:center;font-weight:500;display:inline-flex}.badge--success{background:var(--color-success-bg);color:var(--color-success)}.badge--warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge--error{background:var(--color-error-bg);color:var(--color-error)}.badge--info{background:var(--color-info-bg);color:var(--color-info)}.badge--neutral{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.form-group{margin-bottom:var(--space-lg)}.form-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs);font-weight:500;display:block}.form-input{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--color-border-focus);outline:none}.form-input::placeholder{color:var(--color-text-muted)}.search-bar{max-width:400px;position:relative}.search-bar__input{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding-left:2.5rem}.search-bar__input:focus{border-color:var(--color-border-focus);outline:none}.search-bar__icon{left:var(--space-md);color:var(--color-text-muted);width:18px;height:18px;position:absolute;top:50%;transform:translateY(-50%)}.modal-overlay{z-index:1000;padding:var(--space-lg);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);flex-direction:column;width:100%;max-width:500px;max-height:90vh;display:flex;overflow:hidden}.modal__header{padding:var(--space-lg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal__title{font-size:var(--text-lg);font-weight:600}.modal__body{padding:var(--space-lg);overflow-y:auto}.modal__footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);justify-content:flex-end;gap:var(--space-sm);display:flex}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-sm{font-size:var(--text-sm)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page-header{margin-bottom:var(--space-xl)}.page-title{font-size:var(--text-2xl);color:var(--color-text-primary);font-weight:700}.page-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-xs)}.pagination{align-items:center;gap:var(--space-sm);display:flex}.pagination__btn{padding:var(--space-xs) var(--space-sm);min-width:32px;height:32px;font-size:var(--text-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.pagination__btn:hover:not(:disabled){background:var(--color-bg-hover)}.pagination__btn--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.pagination__btn:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;padding:var(--space-2xl);color:var(--color-text-secondary)}.empty-state__icon{width:64px;height:64px;margin:0 auto var(--space-lg);opacity:.5}.empty-state__title{font-size:var(--text-lg);color:var(--color-text-primary);font-weight:600}.empty-state__description{font-size:var(--text-sm);margin-top:var(--space-sm)}.avatar{border-radius:var(--radius-full);background:var(--color-bg-tertiary);width:40px;height:40px;font-weight:600;font-size:var(--text-sm);color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.avatar--sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar--lg{width:48px;height:48px;font-size:var(--text-lg)}.tabs{border-bottom:1px solid var(--color-border);gap:var(--space-xs);display:flex}.tab{padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;font-weight:500}.tab:hover{color:var(--color-text-primary)}.tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.alert{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);align-items:center;gap:var(--space-sm);display:flex}.alert--success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success)}.alert--warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning)}.alert--error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error)}.alert--info{background:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info)}.text-center{text-align:center}.mb-xs{margin-bottom:var(--space-xs)}.code{font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.form-help{align-items:center;gap:var(--space-sm);font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-xs);display:flex}@media (width<=768px){.portal-layout__sidebar{transition:transform var(--transition-normal);transform:translate(-100%)}.portal-layout__sidebar--open{transform:translate(0)}.portal-layout__main{margin-left:0}.stats-grid{grid-template-columns:1fr}}
