:root{--color-black: #000000;--color-grey-900: #1a1a1a;--color-grey-700: #333333;--color-grey-500: #666666;--color-grey-400: #888888;--color-grey-300: #b3b3b3;--color-grey-200: #d4d4d4;--color-grey-100: #e5e5e5;--color-grey-50: #f5f5f5;--color-white: #ffffff;--color-accent: #5B6AD4;--color-accent-hover: #4A59C3;--color-accent-light: #E8EBFC;--color-success: #2E7D32;--color-success-light: #E8F5E9;--color-warning: #F59E0B;--color-warning-hover: #D97706;--color-warning-light: #FEF3C7;--color-danger: #C62828;--color-danger-hover: #B71C1C;--color-danger-light: #FFEBEE;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--border-width: 1px;--border-radius: 4px;--border-color: var(--color-grey-200)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:1.6}body{font-family:var(--font-family);background-color:var(--color-white);color:var(--color-grey-700);min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--color-black);font-weight:600;line-height:1.3}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{margin-bottom:var(--space-4)}input,textarea,select{font-family:inherit;font-size:var(--font-size-base);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);background-color:var(--color-white);color:var(--color-grey-700);width:100%;transition:border-color .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-black)}input::placeholder,textarea::placeholder{color:var(--color-grey-400)}label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-grey-700);margin-bottom:var(--space-2)}button{font-family:inherit;font-size:var(--font-size-base);font-weight:500;padding:var(--space-3) var(--space-6);border:var(--border-width) solid transparent;border-radius:var(--border-radius);cursor:pointer;transition:all .2s}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-black);color:var(--color-white);border-color:var(--color-black)}.btn-primary:hover:not(:disabled){background-color:var(--color-grey-900)}.btn-secondary{background-color:var(--color-white);color:var(--color-black);border-color:var(--color-grey-300)}.btn-secondary:hover:not(:disabled){background-color:var(--color-grey-50);border-color:var(--color-black)}.btn-danger{background-color:var(--color-white);color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger);color:var(--color-white)}.btn-accent{background-color:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.btn-accent:hover:not(:disabled){background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-warning{background-color:var(--color-warning);color:var(--color-white);border-color:var(--color-warning)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-hover);border-color:var(--color-warning-hover)}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-grey{color:var(--color-grey-500)}.text-black{color:var(--color-black)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.panel{background-color:var(--color-white);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);padding:var(--space-6)}.divider{height:1px;background-color:var(--color-grey-100);margin:var(--space-6) 0}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:var(--space-6) var(--space-6);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-grey-100)}.app-header h1{margin:0;font-size:var(--font-size-lg)}.header-link{background:none;border:none;color:var(--color-grey-500);cursor:pointer;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);transition:color .2s}.header-link:hover{color:var(--color-black)}.header-badge{font-size:var(--font-size-xs);background:var(--color-black);color:var(--color-white);padding:var(--space-1) var(--space-2);text-transform:uppercase;letter-spacing:.05em}.header-right{display:flex;align-items:center;gap:var(--space-4)}.header-user{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-grey-600)}.app-main{flex:1;max-width:900px;width:100%;margin:0 auto;padding:var(--space-8) var(--space-6)}.step-content{margin-top:var(--space-8)}.form-group{margin-bottom:var(--space-6)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.form-section{margin-bottom:var(--space-8)}.form-section-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-grey-100)}.button-row{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-grey-100)}.button-row-right{display:flex;gap:var(--space-3)}.file-upload{border:2px dashed var(--color-grey-200);border-radius:var(--border-radius);padding:var(--space-10);text-align:center;cursor:pointer;transition:all .2s}.file-upload:hover{border-color:var(--color-grey-400);background-color:var(--color-grey-50)}.file-upload.dragover{border-color:var(--color-black);background-color:var(--color-grey-50)}.file-upload-icon{font-size:3rem;margin-bottom:var(--space-4);color:var(--color-grey-400)}.file-upload-text{color:var(--color-grey-500)}.file-upload-selected{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background-color:var(--color-grey-50);border-radius:var(--border-radius);display:inline-block}.terminal{background-color:var(--color-grey-900);color:var(--color-grey-300);font-family:Monaco,Menlo,Courier New,monospace;font-size:var(--font-size-sm);padding:var(--space-6);border-radius:var(--border-radius);height:300px;overflow-y:auto}.terminal-line{margin-bottom:var(--space-2)}.terminal-line.success{color:#4ade80}.terminal-line.error{color:#f87171}.terminal-line.info{color:var(--color-grey-400)}.progress-bar{height:4px;background-color:var(--color-grey-100);border-radius:2px;overflow:hidden;margin-top:var(--space-4)}.progress-bar-fill{height:100%;background-color:var(--color-black);transition:width .3s ease}.card-preview{border:1px solid var(--color-grey-200);border-radius:var(--border-radius);padding:var(--space-6);background-color:var(--color-white)}.card-preview-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.card-preview-role{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-grey-500);margin-bottom:var(--space-1)}.card-preview-summary{font-weight:600;font-size:var(--font-size-lg);color:var(--color-black)}.card-preview-story{color:var(--color-grey-700);line-height:1.7;margin-bottom:var(--space-4)}.card-preview-policy{padding:var(--space-4);background-color:var(--color-grey-50);border-radius:var(--border-radius);margin-bottom:var(--space-3)}.card-preview-policy-label{font-size:var(--font-size-xs);color:var(--color-grey-500);text-transform:uppercase;letter-spacing:.05em}.card-preview-policy-value{font-size:var(--font-size-xl);font-weight:600;color:var(--color-black);margin:var(--space-1) 0}.card-preview-argument{font-size:var(--font-size-sm);color:var(--color-grey-600);font-style:italic}.badge{display:inline-block;font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);border-radius:var(--border-radius);font-weight:500}.badge-real{background-color:var(--color-grey-100);color:var(--color-grey-700)}.badge-ai{background-color:var(--color-black);color:var(--color-white)}.badge-clone{background-color:var(--color-grey-300);color:var(--color-grey-700)}.review-stats{display:flex;gap:var(--space-6);padding:var(--space-4) 0;border-bottom:1px solid var(--color-grey-100);margin-bottom:var(--space-6)}.review-stat{text-align:center}.review-stat-value{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-black)}.review-stat-label{font-size:var(--font-size-sm);color:var(--color-grey-500)}.card-navigation{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0;border-top:1px solid var(--color-grey-100);margin-top:var(--space-6)}.card-counter{font-size:var(--font-size-sm);color:var(--color-grey-500)}.card-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.edit-form{margin-top:var(--space-4)}.edit-form .form-group{margin-bottom:var(--space-4)}.edit-form label{display:block;font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--space-2);color:var(--color-grey-700)}.edit-form input,.edit-form textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-grey-200);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:inherit}.edit-form textarea{resize:vertical;min-height:80px}.edit-form input:focus,.edit-form textarea:focus{outline:none;border-color:var(--color-black)}.edit-form-row{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.edit-form-row .form-group{flex:1;margin-bottom:0}.form-hint{display:block;font-size:var(--font-size-xs);color:var(--color-grey-500);margin-top:var(--space-1)}.status-message{padding:var(--space-4);border-radius:var(--border-radius);margin-bottom:var(--space-4)}.status-message.success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.status-message.error{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b}.status-message.info{background-color:var(--color-grey-50);border:1px solid var(--color-grey-200);color:var(--color-grey-700)}.placeholder-view{text-align:center;padding:var(--space-10)}.placeholder-view h2{margin-bottom:var(--space-4)}.placeholder-view p{color:var(--color-grey-500);margin-bottom:var(--space-6)}.loading-container{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--color-grey-500)}.job-id-entry{max-width:500px;margin:var(--space-8) auto;padding:var(--space-6)}.job-id-entry h2{margin-bottom:var(--space-4)}.job-id-entry p{color:var(--color-grey-500);margin-bottom:var(--space-6)}.job-id-entry form{display:flex;flex-direction:column;gap:var(--space-4)}.job-id-input{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:var(--font-size-sm);padding:var(--space-3);border:1px solid var(--color-grey-200);background:var(--color-white)}.welcome-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.welcome-content{max-width:560px;width:100%;text-align:center}.welcome-title{font-size:2.5rem;font-weight:300;letter-spacing:-.02em;margin-bottom:.5rem;color:var(--color-black)}.welcome-subtitle{font-size:1.125rem;color:var(--color-grey);margin-bottom:3rem}.welcome-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.welcome-btn{width:100%;padding:1rem 2rem;font-size:1rem}.welcome-divider{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.welcome-divider:before,.welcome-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.welcome-divider span{color:var(--color-grey);font-size:.875rem;text-transform:lowercase}.welcome-actions-secondary{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.btn-text{background:none;border:none;color:var(--color-grey);font-size:.9375rem;cursor:pointer;padding:.5rem;transition:color .2s}.btn-text:hover{color:var(--color-black)}.resume-form{background:var(--color-light-grey);padding:1.5rem;margin-bottom:2rem;text-align:left}.resume-form .form-group{margin-bottom:1rem}.resume-form input{font-family:monospace;font-size:.875rem}.error-text{color:var(--color-black);font-size:.875rem;margin-top:.5rem;padding:.5rem;background:var(--color-danger-light, #FFEBEE);border-left:3px solid var(--color-danger, #C62828)}.welcome-info{text-align:left;padding:2rem;background:var(--color-light-grey);margin-top:2rem}.welcome-info h3{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;color:var(--color-grey)}.welcome-info ol{margin:0;padding-left:1.25rem}.welcome-info li{margin-bottom:.5rem;color:var(--color-dark-grey)}.welcome-info li:last-child{margin-bottom:0}.welcome-footer-links{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:2rem;font-size:.8125rem;color:var(--color-grey, #999)}.welcome-footer-links button{background:none;border:none;font-size:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:not-allowed;opacity:.6;padding:0}.welcome-footer-links span{-webkit-user-select:none;user-select:none}.job-status-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.job-status-card{max-width:560px;width:100%;background:var(--color-white);border:1px solid var(--color-border);padding:2rem}.job-status-card h2{font-size:1.5rem;font-weight:400;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.status-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid var(--color-light-grey)}.status-row:last-of-type{border-bottom:none}.status-label{font-size:.875rem;color:var(--color-grey);text-transform:uppercase;letter-spacing:.05em}.status-value{font-size:.9375rem;text-align:right;max-width:60%;word-break:break-all}.status-value.mono{font-family:monospace;font-size:.8125rem}.status-badge{font-weight:600;letter-spacing:.05em}.progress-section{margin-top:1rem;padding:1rem;background:var(--color-light-grey)}.progress-section .status-row{border-bottom:none;padding:.5rem 0}.progress-bar{height:8px;background:var(--color-border);margin-top:.5rem}.progress-bar-fill{height:100%;background:var(--color-black);transition:width .3s ease}.error-section{margin-top:1rem;padding:1rem;background:var(--color-danger-light, #FFEBEE);border-left:3px solid var(--color-danger, #C62828)}.error-message{color:var(--color-danger, #C62828);margin:0}.info-text{font-size:.875rem;color:var(--color-grey);margin-top:1rem;font-style:italic}.success-text{color:var(--color-success, #2E7D32);font-weight:500;margin-top:1rem}.job-id-display{font-family:monospace;font-size:.875rem;color:var(--color-grey);margin:1rem 0}.job-status-card .btn-secondary{margin-top:1.5rem;width:100%}.wizard{margin-bottom:var(--space-8)}.wizard-steps{display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.wizard-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.wizard-step-number{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-grey-300);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;color:var(--color-grey-400);background-color:var(--color-white);margin-bottom:var(--space-2);transition:all .2s}.wizard-step.active .wizard-step-number{border-color:var(--color-black);background-color:var(--color-black);color:var(--color-white)}.wizard-step.completed .wizard-step-number{border-color:var(--color-black);background-color:var(--color-white);color:var(--color-black)}.wizard-step-label{font-size:var(--font-size-sm);color:var(--color-grey-400);text-align:center}.wizard-step.active .wizard-step-label,.wizard-step.completed .wizard-step-label{color:var(--color-black);font-weight:500}.wizard-progress{height:2px;background-color:var(--color-grey-100);border-radius:1px}.wizard-progress-fill{height:100%;background-color:var(--color-black);transition:width .3s ease}.request-account-container{display:flex;justify-content:center;align-items:flex-start;padding:2rem;min-height:60vh}.request-account-card{background:#fff;border:1px solid #e0e0e0;padding:2.5rem;max-width:500px;width:100%}.request-account-card h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#111}.request-account-card .subtitle{color:#666;margin-bottom:2rem;line-height:1.5}.request-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:#333}.form-group input,.form-group textarea{padding:.75rem 1rem;border:1px solid #ccc;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#111}.form-group input:disabled,.form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:100px}.error-text{color:#d32f2f;font-size:.8125rem}.error-banner{background-color:#ffebee;border:1px solid #ffcdd2;color:#c62828;padding:1rem;font-size:.875rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.success-card{background:#fff;border:1px solid #e0e0e0;padding:3rem 2.5rem;max-width:500px;width:100%;text-align:center}.success-icon{width:64px;height:64px;border:2px solid #111;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.5rem}.success-card h2{margin:0 0 1rem;font-size:1.5rem;font-weight:600;color:#111}.success-message{color:#333;margin-bottom:1.5rem;line-height:1.5}.success-detail{color:#666;margin-bottom:.5rem}.email-highlight{font-weight:600;color:#111;margin-bottom:1.5rem}.success-note{color:#888;font-size:.875rem;margin-bottom:2rem}.success-card .btn-primary{margin-top:1rem}.admin-login-container{display:flex;justify-content:center;align-items:flex-start;padding:2rem;min-height:60vh}.admin-login-card{background:#fff;border:1px solid #e0e0e0;padding:2.5rem;max-width:400px;width:100%}.admin-login-card h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#111}.admin-login-card .subtitle{color:#666;margin-bottom:2rem}.admin-login-form{display:flex;flex-direction:column;gap:1.5rem}.admin-login-form .form-group{display:flex;flex-direction:column;gap:.5rem}.admin-login-form label{font-size:.875rem;font-weight:500;color:#333}.admin-login-form input{padding:.75rem 1rem;border:1px solid #ccc;font-size:1rem;font-family:inherit}.admin-login-form input:focus{outline:none;border-color:#111}.admin-login-form .error-banner{background-color:var(--color-danger-light, #FFEBEE);border:1px solid #ffcdd2;color:var(--color-danger, #C62828);padding:.75rem 1rem;font-size:.875rem}.admin-login-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:.5rem}.admin-dashboard{max-width:900px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.admin-header h2{margin:0;font-size:1.5rem;font-weight:600}.admin-loading,.admin-error{text-align:center;padding:3rem;color:#666}.admin-error p{margin-bottom:1rem}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.stat-card{background:#f5f5f5;padding:1.5rem;text-align:center}.stat-value{font-size:2rem;font-weight:600;color:#111}.stat-label{font-size:.875rem;color:#666;text-transform:uppercase;letter-spacing:.05em}.action-message{padding:1rem;margin-bottom:1.5rem;font-size:.9375rem}.action-message.success{background:var(--color-success-light, #E8F5E9);border:1px solid #c8e6c9;color:var(--color-success, #2E7D32)}.action-message.error{background:var(--color-danger-light, #FFEBEE);border:1px solid #ffcdd2;color:var(--color-danger, #C62828)}.pin-display{background:#fff9c4;border:1px solid #fff176;padding:1.5rem;margin-bottom:1.5rem}.pin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pin-details p{margin:0 0 .5rem;color:#666}.pin-value{font-size:2rem;font-weight:600;font-family:monospace;letter-spacing:.2em;margin:1rem 0;color:#111}.admin-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:1px solid #e0e0e0}.tab{background:none;border:none;padding:1rem 1.5rem;font-size:.9375rem;color:#666;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.tab:hover{color:#111}.tab.active{color:#111;border-bottom-color:#111}.account-list{display:flex;flex-direction:column;gap:1rem}.no-accounts{text-align:center;padding:3rem;color:#888;background:#f9f9f9}.account-card{border:1px solid #e0e0e0;padding:1.5rem;background:#fff}.account-card.status-rejected{opacity:.6}.account-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.account-name{font-weight:600;font-size:1.125rem;color:#111;display:flex;align-items:center;gap:.75rem}.account-email{color:#666;font-size:.875rem}.account-date{color:#888;font-size:.8125rem}.account-org{color:#333;margin-bottom:.75rem}.account-reason{color:#555;font-size:.9375rem;line-height:1.5;padding:1rem;background:#f9f9f9;margin-bottom:1rem}.account-meta{color:#888;font-size:.8125rem;margin-top:.5rem}.account-actions{display:flex;gap:.75rem}.status-badge{font-size:.75rem;padding:.25rem .5rem;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.status-badge.pending{background:var(--color-warning-light, #FEF3C7);color:var(--color-warning-hover, #D97706)}.status-badge.approved{background:var(--color-success-light, #E8F5E9);color:var(--color-success, #2E7D32)}.status-badge.rejected{background:var(--color-danger-light, #FFEBEE);color:var(--color-danger, #C62828)}.admin-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e0e0e0;text-align:center}.btn-primary{background-color:#111;color:#fff;border:none;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-secondary{background-color:#fff;color:#333;border:1px solid #ccc;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-text{background:none;border:none;color:#666;font-size:.9375rem;cursor:pointer;padding:.5rem}.btn-text:hover{color:#111}@media(max-width:600px){.admin-stats{grid-template-columns:repeat(2,1fr)}.account-header{flex-direction:column;gap:.5rem}.account-actions{flex-direction:column}}.gm-login-container{display:flex;justify-content:center;align-items:flex-start;padding:2rem;min-height:60vh}.gm-login-card{background:#fff;border:1px solid #e0e0e0;padding:2.5rem;max-width:400px;width:100%;text-align:center}.gm-login-card h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#111}.gm-login-card .subtitle{color:#666;margin-bottom:2rem}.gm-login-form{display:flex;flex-direction:column;gap:1.5rem}.pin-input-group{display:flex;flex-direction:column;align-items:center;gap:.5rem}.pin-input{width:100%;max-width:200px;padding:1rem;font-size:1.75rem;font-family:monospace;font-weight:600;letter-spacing:.3em;text-align:center;border:2px solid #ccc;text-transform:uppercase;transition:border-color .2s}.pin-input:focus{outline:none;border-color:#111}.pin-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.pin-input::placeholder{color:#ccc;letter-spacing:.2em}.pin-hint{font-size:.8125rem;color:#888}.error-banner{background-color:#ffebee;border:1px solid #ffcdd2;color:#c62828;padding:.75rem 1rem;font-size:.875rem;text-align:left}.form-actions{display:flex;gap:1rem;justify-content:center;margin-top:.5rem}.btn-primary{background-color:#111;color:#fff;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#333}.btn-primary:disabled{background-color:#999;cursor:not-allowed}.btn-secondary{background-color:#fff;color:#333;border:1px solid #ccc;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background-color:#f5f5f5;border-color:#999}.btn-secondary:disabled{color:#999;cursor:not-allowed}.btn-text{background:none;border:none;color:#111;font-size:.9375rem;cursor:pointer;text-decoration:underline;padding:0}.btn-text:hover{color:#333}.login-help{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.login-help p{color:#666;font-size:.875rem;margin-bottom:.5rem}.dashboard-container{max-width:800px;margin:0 auto;padding:var(--space-6)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-grey-200)}.dashboard-header h2{margin:0;font-size:var(--font-size-xl)}.header-buttons{display:flex;gap:var(--space-3)}.btn-live{background:var(--color-accent, #5B6AD4);color:#fff;border:none}.btn-live:hover{background:var(--color-accent-hover, #4A59C3)}.dashboard-loading{text-align:center;padding:var(--space-8);color:var(--color-grey-500)}.dashboard-error{background:var(--color-danger-light, #FFEBEE);border-left:3px solid var(--color-danger, #C62828);padding:var(--space-4);margin-bottom:var(--space-4);color:var(--color-danger, #C62828)}.dashboard-empty{text-align:center;padding:var(--space-8);background:var(--color-grey-50);border-radius:var(--border-radius)}.dashboard-empty p{color:var(--color-grey-500);margin-bottom:var(--space-4)}.jobs-list{display:flex;flex-direction:column;gap:var(--space-4)}.job-card{border:1px solid var(--color-grey-200);border-radius:var(--border-radius);background:var(--color-white);overflow:hidden}.job-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-grey-50);border-bottom:1px solid var(--color-grey-100)}.job-id{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:var(--font-size-sm);color:var(--color-grey-600)}.status-badge{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);border-radius:3px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.status-pending{background:var(--color-grey-200);color:var(--color-grey-700)}.status-processing{background:var(--color-accent-light, #E8EBFC);color:var(--color-accent-hover, #4A59C3)}.status-completed{background:var(--color-success-light, #E8F5E9);color:var(--color-success, #2E7D32)}.status-finalized{background:var(--color-black);color:var(--color-white)}.status-failed{background:var(--color-danger-light, #FFEBEE);color:var(--color-danger, #C62828)}.status-cancelled{background:var(--color-grey-200);color:var(--color-grey-500)}.job-card-body{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4)}.job-info{flex:1}.job-info-row{display:flex;gap:var(--space-4);margin-bottom:var(--space-2)}.job-info-row:last-child{margin-bottom:0}.job-label{font-size:var(--font-size-sm);color:var(--color-grey-500);min-width:80px}.job-value{font-size:var(--font-size-sm);color:var(--color-grey-800)}.job-actions{margin-left:var(--space-4);flex-shrink:0}.action-buttons{display:flex;gap:var(--space-2);align-items:center}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.btn-danger{background:transparent;color:var(--color-danger, #C62828);border:1px solid var(--color-danger, #C62828);padding:var(--space-2) var(--space-3);border-radius:var(--border-radius);cursor:pointer;font-size:var(--font-size-sm);transition:all .2s}.btn-danger:hover:not(:disabled){background:var(--color-danger, #C62828);color:#fff}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.text-muted{color:var(--color-grey-400);font-size:var(--font-size-sm)}.text-error{color:var(--color-danger, #C62828)}.dashboard-footer{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-grey-200)}.live-session-dashboard{max-width:1400px;margin:0 auto;padding:20px 32px}.global-progress-bar{display:flex;align-items:center;justify-content:center;gap:0;padding:20px 24px;margin-bottom:24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border:1px solid #e2e8f0}.progress-phase{display:flex;flex-direction:column;align-items:center;position:relative;min-width:80px}.progress-phase .phase-indicator{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e2e8f0;border:3px solid #cbd5e1;font-weight:600;font-size:14px;color:#64748b;transition:all .3s ease;z-index:2}.progress-phase .phase-label{margin-top:8px;font-size:12px;font-weight:500;color:#64748b;white-space:nowrap;transition:color .3s ease}.progress-phase .phase-connector{position:absolute;top:20px;left:50%;width:100%;height:3px;background:#cbd5e1;z-index:1;transition:background .3s ease}.progress-phase.active .phase-indicator{background:var(--color-accent, #5B6AD4);border-color:var(--color-accent, #5B6AD4);color:#fff;box-shadow:0 0 0 4px #5b6ad433}.progress-phase.active .phase-label{color:var(--color-accent, #5B6AD4);font-weight:600}.progress-phase.completed .phase-indicator{background:var(--color-success, #22c55e);border-color:var(--color-success, #22c55e);color:#fff}.progress-phase.completed .phase-connector{background:var(--color-success, #22c55e)}.progress-phase.completed .phase-label{color:var(--color-success, #22c55e)}.progress-phase.future .phase-indicator{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8}.progress-phase.future .phase-label{color:#94a3b8}.progress-phase .phase-check{font-size:18px;line-height:1}.progress-phase .phase-number{font-size:14px;font-weight:700}.progress-phase .phase-icon{font-size:16px}.progress-phase .phase-pulse{width:12px;height:12px;background:#fff;border-radius:50%;animation:progress-pulse 1.5s ease-in-out infinite}@keyframes progress-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.progress-phase.round-phase .phase-connector{width:80%;left:60%}@media(max-width:768px){.global-progress-bar{padding:16px 12px;gap:0;overflow-x:auto}.progress-phase{min-width:60px}.progress-phase .phase-indicator{width:32px;height:32px;font-size:12px}.progress-phase .phase-label{font-size:10px}.progress-phase .phase-connector{top:16px}}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--color-grey-200, #e0e0e0)}.dashboard-header h2{margin:0;font-size:24px;color:var(--color-grey-700, #333)}.connection-status{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f5f5f5;border-radius:20px;font-size:14px}.status-dot{width:10px;height:10px;border-radius:50%}.status-dot.connected{background:var(--color-success, #2E7D32);box-shadow:0 0 6px var(--color-success, #2E7D32)}.status-dot.disconnected{background:var(--color-danger, #C62828)}.message{padding:12px 16px;border-radius:8px;margin-bottom:16px;cursor:pointer}.message.error{background:var(--color-danger-light, #FFEBEE);color:var(--color-danger, #C62828);border:1px solid #ef9a9a}.message.success{background:var(--color-success-light, #E8F5E9);color:var(--color-success, #2E7D32);border:1px solid #a5d6a7}.create-session-panel{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.create-session-panel h3{margin:0 0 20px;font-size:20px;color:#333}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#555}.form-group select{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:16px}.button-group{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.active-session-panel{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.session-main-content{display:grid;grid-template-columns:280px 1fr;gap:24px;margin-bottom:24px}.session-left-column,.session-right-column{display:flex;flex-direction:column;gap:20px}@media(max-width:1024px){.session-main-content{grid-template-columns:1fr}}.game-code-section{text-align:center;padding:24px 32px;background:var(--color-accent, #5B6AD4);border-radius:12px}.game-code-label{font-size:14px;color:#ffffffe6;margin-bottom:8px}.game-code{font-size:48px;font-weight:700;color:#fff;letter-spacing:8px;font-family:monospace}.game-code-hint{font-size:12px;color:#fffc;margin-top:8px}.game-code-section.compact{padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:12px}.game-code-section.compact .game-code-label{margin-bottom:0;font-size:12px}.game-code-section.compact .game-code{font-size:24px;letter-spacing:4px}.game-code-section.compact .game-code-hint{display:none}.players-section{flex:1;min-height:0}.connection-stats{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#f5f5f5;border-radius:8px;font-size:14px;font-weight:500}.connection-stats .stat{display:flex;align-items:center;gap:6px}.connection-stats .stat.connected{color:var(--color-success, #2E7D32)}.connection-stats .stat.disconnected{color:var(--color-danger, #C62828)}.players-section .status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.players-section .status-dot.connected{background-color:var(--color-success, #2E7D32)}.players-section .status-dot.disconnected{background-color:var(--color-danger, #C62828)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h3{margin:0;font-size:16px;color:#333}.readiness-summary{font-size:14px;color:#666}.disconnected-count{padding:4px 12px;background:var(--color-danger-light, #FFEBEE);color:var(--color-danger, #C62828);border-radius:12px;font-weight:500}.no-players{text-align:center;padding:24px;color:#666;font-style:italic;background:#fafafa;border-radius:8px}.players-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.player-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fafafa;border-radius:8px;border:1px solid #eee}.player-item.disconnected{opacity:.6;background:#f5f5f5}.player-name{flex:1;font-weight:500}.player-status{font-size:12px;padding:4px 8px;border-radius:12px;text-transform:uppercase}.player-status.status-ready,.player-status.status-completed{background:var(--color-success-light, #E8F5E9);color:var(--color-success, #2E7D32)}.player-status.status-pending,.player-status.status-in_progress{background:var(--color-warning-light, #FEF3C7);color:var(--color-warning-hover, #D97706)}.player-status.status-skipped,.player-status.status-dropped{background:var(--color-danger-light, #FFEBEE);color:var(--color-danger, #C62828)}.players-summary-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fafafa;border-radius:8px;border:1px solid #eee;margin-bottom:12px}.players-summary-stats{display:flex;align-items:center;gap:12px}.players-total{font-weight:600;font-size:14px;color:#333}.btn-manage-players{padding:6px 14px;font-size:13px;font-weight:500;border-radius:6px;border:1px solid #ddd;background:#fff;color:#555;cursor:pointer;transition:all .15s ease}.btn-manage-players:hover{background:#f0f0f0;border-color:#ccc;color:#333}.player-drawer-overlay{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;justify-content:flex-end}.player-drawer{width:380px;max-width:90vw;height:100%;background:#fff;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;animation:slideInRight .2s ease-out}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.player-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid #eee}.player-drawer-header h3{margin:0;font-size:16px;font-weight:600;color:#111}.player-drawer-close{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:#666;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.player-drawer-close:hover{background:#f0f0f0}.player-drawer-search{padding:12px 20px;border-bottom:1px solid #eee}.player-drawer-search input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;transition:border-color .15s}.player-drawer-search input:focus{border-color:var(--color-accent, #5B6AD4)}.player-drawer-stats{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid #eee;font-size:13px}.player-drawer-list{flex:1;overflow-y:auto;padding:8px 12px}.player-drawer-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;transition:background .1s}.player-drawer-item:hover{background:#f8f8f8}.player-drawer-item.disconnected{opacity:.6}.player-drawer-name{flex:1;font-weight:500;font-size:14px;display:flex;align-items:center;gap:8px}.player-drawer-team{font-size:11px;color:var(--color-grey-500, #666);padding:2px 8px;background:var(--color-accent-light, #E8EBFC);border-radius:10px;white-space:nowrap}.btn-remove-player{padding:4px 10px;font-size:12px;font-weight:500;border-radius:4px;border:1px solid transparent;background:transparent;color:#999;cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.btn-remove-player:hover{background:var(--color-danger-light, #FFEBEE);color:var(--color-danger, #C62828);border-color:var(--color-danger, #C62828)}.player-drawer-empty{text-align:center;padding:24px;color:#999;font-style:italic}.player-team{font-size:12px;color:var(--color-grey-500, #666);padding:4px 8px;background:var(--color-accent-light, #E8EBFC);border-radius:12px}.progress-tracker{background:#fafafa;border-radius:8px;padding:16px;border:1px solid #eee}.progress-row{display:flex;align-items:center;gap:12px;padding:8px 0}.progress-row+.progress-row{border-top:1px solid #eee}.progress-label{width:120px;font-size:13px;color:#555;flex-shrink:0}.progress-row.empty{opacity:.5}.progress-row.empty .progress-count{color:#999}.btn-push{padding:4px 10px;font-size:12px;font-weight:500;background:var(--color-accent, #5B6AD4);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;white-space:nowrap;margin-left:8px}.btn-push:hover{background:var(--color-accent-hover, #4A59C3)}.btn-push.warning{background:var(--color-warning, #F59E0B)}.btn-push.warning:hover{background:var(--color-warning-hover, #D97706)}.btn-advance{padding:6px 14px;font-size:13px;font-weight:600;background:var(--color-accent, #5B6AD4);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s,transform .1s;white-space:nowrap;margin-left:8px;box-shadow:0 2px 4px #9ca7f24d}.btn-advance:hover{background:var(--color-accent-hover, #4A59C3);transform:translateY(-1px)}.btn-advance:active{transform:translateY(0)}.progress-bar-container{flex:1;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-accent, #5B6AD4);border-radius:4px;transition:width .3s ease}.progress-bar-fill.done{background:var(--color-success, #2E7D32)}.progress-count{width:32px;text-align:right;font-size:14px;font-weight:600;color:#333}.waiting-row{margin-top:8px;padding:12px 8px 8px;border-top:2px dashed #e0e0e0;background:#fafafa;border-radius:0 0 6px 6px}.waiting-row .progress-label{color:#333;font-weight:600}.waiting-row.empty .progress-label{color:#999;font-weight:500}.progress-row.initial-phases-complete{background:linear-gradient(90deg,rgba(34,197,94,.08) 0%,transparent 100%);border-radius:6px;padding:10px 8px;margin-bottom:4px}.progress-row.broker-election-row{background:linear-gradient(90deg,rgba(14,165,233,.08) 0%,transparent 100%);border-radius:6px;padding:10px 8px}.progress-total{margin-top:12px;padding-top:8px;border-top:1px solid #eee;text-align:center;font-size:12px;color:#888}.controls-section{display:flex;flex-wrap:wrap;gap:12px;padding:16px 20px;background:#f5f5f5;border-radius:12px;align-items:center}.btn-primary{background:var(--color-accent, #5B6AD4);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover, #4A59C3);transform:translateY(-1px)}.btn-primary:disabled{background:var(--color-grey-300, #ccc);cursor:not-allowed}.btn-primary.btn-large{width:100%;padding:16px;font-size:18px}.btn-secondary{background:#fff;color:#333;border:1px solid #ddd;padding:12px 24px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:#f5f5f5}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-warning{background:var(--color-warning, #F59E0B);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-warning:hover{background:var(--color-warning-hover, #D97706)}.btn-danger{background:var(--color-danger, #C62828);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover{background:var(--color-danger-hover, #B71C1C)}.btn-back{display:block;width:100%;margin-top:20px;padding:12px;background:transparent;border:1px solid #ddd;border-radius:8px;color:#666;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:#f5f5f5}.sync-point-banner{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;border-radius:12px;margin-bottom:16px;animation:pulse-border 2s infinite}.sync-point-banner.sync-point-1{background:var(--color-accent-light, #E8EBFC);border:2px solid var(--color-accent, #5B6AD4)}.sync-point-banner.sync-point-2{background:var(--color-success-light, #E8F5E9);border:2px solid var(--color-success, #2E7D32)}.sync-point-icon{font-size:32px;flex-shrink:0}.sync-point-content{flex:1}.sync-point-content strong{display:block;font-size:16px;color:#333;margin-bottom:4px}.sync-point-content p{margin:0;font-size:14px;color:#555;line-height:1.4}@keyframes pulse-border{0%,to{box-shadow:0 0 #9ca7f266}50%{box-shadow:0 0 0 8px #9ca7f200}}.sync-point-banner.sync-point-2{animation-name:pulse-border-green}@keyframes pulse-border-green{0%,to{box-shadow:0 0 #2e7d3266}50%{box-shadow:0 0 0 8px #2e7d3200}}@media(max-width:600px){.dashboard-header{flex-direction:column;gap:12px;text-align:center}.game-code{font-size:36px;letter-spacing:4px}.button-group,.controls-section{flex-direction:column}.sync-point-banner{flex-direction:column;text-align:center}.sync-point-icon{align-self:center}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}.policy-timeline{position:relative}@keyframes timeline-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.timeline-step{cursor:default}.timeline-step.active>div:first-child{animation:timeline-glow 2s ease-in-out infinite}@keyframes timeline-glow{0%,to{box-shadow:0 0 0 4px #5b6ad433}50%{box-shadow:0 0 0 8px #5b6ad426}}@media(max-width:600px){.policy-timeline{padding:16px 8px!important;overflow-x:auto}.timeline-step{min-width:55px!important}.timeline-step>div:first-child{width:30px!important;height:30px!important;font-size:12px!important}.timeline-step>span{font-size:10px!important}}.error-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.error-modal-card{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;width:100%;max-width:400px;overflow:hidden;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.error-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #f0f0f0}.error-modal-title-row{display:flex;align-items:center;gap:12px}.error-modal-icon{width:32px;height:32px;border-radius:50%;background:var(--color-danger-light, #FFEBEE);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#dc2626}.error-modal-title{margin:0;font-size:18px;font-weight:600;color:#111}.error-modal-close{width:32px;height:32px;border:none;background:#f0f0f0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#000;transition:background-color .15s ease}.error-modal-close:hover{background:#e0e0e0;color:#000}.error-modal-body{padding:16px}.error-modal-body p{margin:0;font-size:14px;line-height:1.5;color:#555}.nav-page{min-height:100vh;display:flex;flex-direction:column;background:var(--color-grey-50, #f5f5f5)}.nav-header{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;background:#fff;box-shadow:0 2px 8px #00000014}.nav-header-left,.nav-header-right{display:flex;align-items:center;gap:16px}.nav-home-btn{background:none;border:none;font-size:24px;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease}.nav-home-btn:hover{background:#f0f0f0;transform:scale(1.1)}.nav-title{margin:0;font-size:24px;font-weight:700;color:#1a1a2e}.nav-user{font-size:14px;color:#666;padding:8px 16px;background:#f5f5f5;border-radius:20px}.nav-logout{background:none;border:1px solid #ddd;padding:8px 16px;border-radius:20px;font-size:14px;color:#666;cursor:pointer;transition:all .2s ease}.nav-logout:hover{background:#f5f5f5;border-color:#ccc}.nav-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.nav-subtitle{font-size:18px;font-weight:500;color:#666;margin-bottom:40px;text-transform:uppercase;letter-spacing:2px}.nav-tiles{display:flex;gap:32px;flex-wrap:wrap;justify-content:center;max-width:900px}.nav-tile{background:#fff;border:none;border-radius:20px;padding:40px;width:320px;text-align:center;cursor:pointer;box-shadow:0 4px 20px #00000014;transition:all .3s ease}.nav-tile:hover{transform:translateY(-8px);box-shadow:0 12px 40px #00000026}.nav-tile.tile-live{background:var(--color-accent, #5B6AD4)}.nav-tile.tile-live .tile-title,.nav-tile.tile-live .tile-description{color:#fff}.tile-icon{font-size:64px;margin-bottom:20px}.tile-title{font-size:22px;font-weight:700;color:#1a1a2e;margin-bottom:12px}.tile-description{font-size:14px;color:#666;line-height:1.5}.nav-footer{padding:20px 32px;background:#fff;border-top:1px solid #eee}.nav-back-btn{background:none;border:1px solid #ddd;padding:12px 24px;border-radius:8px;font-size:14px;color:#666;cursor:pointer;transition:all .2s ease}.nav-back-btn:hover{background:#f5f5f5;border-color:#ccc}.page-with-nav{min-height:100vh;display:flex;flex-direction:column}.page-nav-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;box-shadow:0 2px 8px #00000014;position:sticky;top:0;z-index:100}.page-nav-left,.page-nav-right{display:flex;align-items:center;gap:12px}.page-home-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease}.page-home-btn:hover{background:#f0f0f0}.page-title{margin:0;font-size:18px;font-weight:600;color:#1a1a2e}.page-content{flex:1;padding:24px;background:var(--color-grey-50, #f5f5f5)}.page-footer{padding:16px 24px;background:#fff;border-top:1px solid #eee}@media(max-width:768px){.nav-tiles{flex-direction:column;align-items:center}.nav-tile{width:100%;max-width:320px}.nav-header{flex-direction:column;gap:16px;text-align:center}.nav-header-left,.nav-header-right{justify-content:center}}.gm-observer-container{min-height:100vh;background:linear-gradient(135deg,#e4d7ff,#f0e9ff);padding:1.5rem}.gm-observer-loading{min-height:100vh;background:linear-gradient(135deg,#e4d7ff,#f0e9ff);display:flex;align-items:center;justify-content:center;padding:1.5rem}.loading-card{background:#fff;border-radius:1rem;box-shadow:0 10px 40px #00000026;padding:2rem;text-align:center;max-width:400px}.loading-spinner{width:48px;height:48px;border:4px solid #E4D7FF;border-top-color:#854dff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-card h2{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.loading-card p{color:#666;margin-bottom:1.5rem}.cancel-link{background:none;border:none;color:#666;text-decoration:underline;cursor:pointer;font-size:.875rem}.cancel-link:hover{color:#333}.gm-observer-header{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.75rem;box-shadow:0 2px 8px #0000001a;padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.leave-button{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#666;padding:.5rem .75rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.leave-button:hover{background:#f5f5f5;color:#333}.header-title{font-size:1.25rem;font-weight:700;color:#1a1a1a;flex:1;text-align:center}.host-badge{display:flex;align-items:center;gap:.375rem;background:#3b82f6;color:#fff;padding:.375rem .75rem;border-radius:999px;font-size:.875rem;font-weight:600}.locked-banner{background:#dcfce7;border:1px solid #86EFAC;border-radius:.75rem;padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.lock-icon{font-size:1.5rem}.locked-banner strong{display:block;color:#166534;font-weight:700}.locked-banner span{color:#15803d;font-size:.875rem}.status-text{text-align:center;color:#666;margin-bottom:1rem}.gm-observer-grid{display:grid;grid-template-columns:28% 1fr 180px;gap:1rem;margin-bottom:1rem}@media(max-width:1024px){.gm-observer-grid{grid-template-columns:1fr}}.panel{background:#fff;border-radius:1rem;box-shadow:0 4px 20px #0000001a;padding:1.25rem}.panel h2{font-size:1.125rem;font-weight:700;color:#1a1a1a;margin-bottom:1rem}.panel h3{font-size:1rem;font-weight:700;color:#1a1a1a;margin-bottom:.75rem}.lever-group{margin-bottom:1.25rem}.lever-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.lever-name{font-weight:500;color:#333;font-size:.875rem}.lever-value{font-size:1.125rem;font-weight:700}.lever-value-purple{color:#7c3aed}.lever-value-indigo{color:#4f46e5}.slider-track{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden}.slider-fill{height:100%;border-radius:999px;transition:width .3s ease}.slider-fill-purple{background:#8b5cf6}.slider-fill-indigo{background:#6366f1}.slider-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#9ca3af;margin-top:.25rem}.position-summary{background:#f9fafb;border-radius:.5rem;padding:.75rem;margin-top:1rem}.summary-title{font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.summary-row{display:flex;justify-content:space-between;font-size:.875rem;color:#6b7280;margin-bottom:.25rem}.value-purple{font-weight:600;color:#7c3aed}.value-indigo{font-weight:600;color:#4f46e5}.budget-status{margin-top:1rem;padding:.75rem;border-radius:.5rem;text-align:center;font-weight:600}.under-budget{background:#dcfce7;color:#166534;border:1px solid #86EFAC}.over-budget{background:#fee2e2;color:#991b1b;border:1px solid #FECACA}.team-members{display:flex;flex-direction:column;gap:.5rem}.member-card{padding:.75rem;border-radius:.5rem;border:1px solid #E5E7EB;background:#f9fafb;transition:all .2s}.member-card.is-operator{background:#fffbeb;border-color:#fcd34d}.member-card.is-host{background:#eff6ff;border-color:#93c5fd}.member-card.out-of-time{opacity:.6}.member-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.member-info{display:flex;align-items:center;gap:.5rem}.member-name{font-weight:500;color:#1a1a1a;font-size:.875rem}.badge{font-size:.625rem;font-weight:700;padding:.125rem .5rem;border-radius:999px;text-transform:uppercase}.badge-broker{background:#fcd34d;color:#78350f}.badge-host{background:#3b82f6;color:#fff}.remaining-time{font-size:.75rem;font-weight:500;color:#6b7280}.time-bar{height:6px;background:#e5e7eb;border-radius:999px;overflow:hidden}.time-fill{height:100%;transition:width .3s ease}.time-good{background:#854dff}.time-warning{background:#f59e0b}.time-critical{background:#ef4444}.time-legend{margin-top:1rem;padding:.75rem;background:#f9fafb;border-radius:.5rem}.legend-title{font-size:.75rem;font-weight:600;color:#6b7280;margin-bottom:.5rem}.legend-items{display:flex;gap:1rem}.legend-item{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#6b7280}.legend-color{width:12px;height:8px;border-radius:2px}.info-box{margin-top:1rem;padding:.75rem;background:#f9fafb;border-radius:.5rem;font-size:.75rem;color:#6b7280;font-style:italic}.timer-panel{display:flex;flex-direction:column;align-items:center}.timer-display{font-size:2.5rem;font-weight:700;font-family:SF Mono,Monaco,Courier New,monospace;color:#854dff;background:#f3e8ff;border:2px solid #DDD6FE;border-radius:.75rem;padding:1rem 1.5rem;text-align:center;margin-bottom:.75rem}.timer-display.timer-warning{color:#d97706;background:#fef3c7;border-color:#fcd34d}.timer-display.timer-critical{color:#dc2626;background:#fee2e2;border-color:#fecaca;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.timer-hint{font-size:.75rem;color:#6b7280;text-align:center;margin:0}.observer-info{text-align:center;font-size:.875rem;color:#6b7280;font-style:italic}.voice-controls{position:fixed;bottom:1rem;left:1rem;background:#fff;border-radius:.75rem;box-shadow:0 4px 20px #00000026;padding:.75rem;border:1px solid #E5E7EB;z-index:100;min-width:160px}.voice-status{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.connected{background:#22c55e}.status-dot.connecting{background:#eab308;animation:pulse 1s infinite}.status-dot.disconnected{background:#9ca3af}.voice-status span{font-size:.75rem;color:#6b7280}.mute-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.875rem;border:1px solid;cursor:pointer;transition:all .2s}.mute-button.disabled{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb;cursor:not-allowed}.mute-button.muted{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.mute-button.muted:hover{background:#fecaca}.mute-button.unmuted{background:#dcfce7;color:#166534;border-color:#86efac}.mute-button.unmuted:hover{background:#bbf7d0}.voice-hint{font-size:.75rem;color:#6b7280;text-align:center;margin:.5rem 0 0}
