*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f5f5f5}#app{min-height:100vh}.navbar{background:#fff;box-shadow:0 2px 4px #0000001a;padding:0}.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 1rem;height:60px}.nav-brand{font-size:1.25rem;font-weight:700;color:#0078d4;text-decoration:none}.nav-menu{display:flex;gap:1rem}.nav-link{color:#333;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s}.nav-link:hover{background-color:#f0f0f0}.nav-link.router-link-active{background-color:#0078d4;color:#fff}.main-content{min-height:calc(100vh - 60px);padding:2rem 0}.home[data-v-64ca0e57]{max-width:800px;margin:0 auto;padding:2rem;text-align:center}.loading-section[data-v-64ca0e57]{padding:2rem;background:#f8f9fa;border-radius:8px;margin-top:2rem}.spinner[data-v-64ca0e57]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #0078d4;border-radius:50%;animation:spin-64ca0e57 1s linear infinite;margin:0 auto 1rem}@keyframes spin-64ca0e57{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-section[data-v-64ca0e57]{background:#ffeaa7;border:1px solid #fdcb6e;padding:1.5rem;border-radius:8px;margin-top:2rem;color:#2d3436}.clear-error-btn[data-v-64ca0e57]{background:#e17055;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-top:1rem}.clear-error-btn[data-v-64ca0e57]:hover{background:#d63031}.user-info[data-v-64ca0e57]{background:#f8f9fa;padding:2rem;border-radius:8px;margin-top:2rem}.user-details[data-v-64ca0e57]{text-align:left;max-width:400px;margin:0 auto;padding:1rem;background:#fff;border-radius:4px;margin-top:1rem}.user-details p[data-v-64ca0e57]{margin:.5rem 0}.auth-info[data-v-64ca0e57]{background:#e8f5e8;border:1px solid #4caf50;padding:1rem;border-radius:4px;margin:1rem auto;max-width:400px;text-align:left}.auth-info h3[data-v-64ca0e57]{color:#2e7d32;margin-bottom:.5rem}.login-section[data-v-64ca0e57]{margin-top:2rem}.login-info[data-v-64ca0e57]{background:#e3f2fd;border:1px solid #2196f3;padding:1.5rem;border-radius:8px;margin:1rem 0;text-align:left;max-width:500px;margin-left:auto;margin-right:auto}.login-info h3[data-v-64ca0e57]{color:#1976d2;margin-bottom:1rem}.login-info ul[data-v-64ca0e57]{margin:0;padding-left:1.5rem}.login-info li[data-v-64ca0e57]{margin:.5rem 0;color:#424242}.login-btn[data-v-64ca0e57],.logout-btn[data-v-64ca0e57]{background:#0078d4;color:#fff;border:none;padding:12px 24px;border-radius:4px;cursor:pointer;font-size:16px;margin-top:1rem;transition:background-color .2s}.login-btn[data-v-64ca0e57]:hover,.logout-btn[data-v-64ca0e57]:hover{background:#106ebe}.login-btn[data-v-64ca0e57]:disabled{background:#ccc;cursor:not-allowed}.logout-btn[data-v-64ca0e57]{background:#d13438}.logout-btn[data-v-64ca0e57]:hover{background:#a4262c}.about[data-v-414816b9]{max-width:800px;margin:0 auto;padding:2rem}.content[data-v-414816b9]{text-align:left;line-height:1.6}.content h2[data-v-414816b9]{margin-top:2rem;margin-bottom:1rem;color:#333}.content ul[data-v-414816b9]{margin-left:2rem;margin-bottom:1rem}.content li[data-v-414816b9]{margin-bottom:.5rem}.user-status[data-v-414816b9]{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-top:2rem;border-left:4px solid #0078d4}.user-status h3[data-v-414816b9]{margin-bottom:1rem;color:#0078d4}.pkce-demo[data-v-27db0f7a]{max-width:1000px;margin:0 auto;padding:2rem}.demo-section[data-v-27db0f7a]{background:#fff;padding:2rem;margin:2rem 0;border-radius:8px;box-shadow:0 2px 8px #0000001a}.demo-section h2[data-v-27db0f7a]{color:#333;margin-bottom:1rem;border-bottom:2px solid #0078d4;padding-bottom:.5rem}.flow-steps[data-v-27db0f7a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}.step[data-v-27db0f7a]{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.step-number[data-v-27db0f7a]{background:#0078d4;color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.step-content h3[data-v-27db0f7a]{margin:0 0 .5rem;color:#333}.step-content p[data-v-27db0f7a]{margin:0;color:#666;font-size:.9rem}.status-grid[data-v-27db0f7a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.status-card[data-v-27db0f7a]{background:#f8f9fa;padding:1rem;border-radius:8px;text-align:center;border-left:4px solid #0078d4}.status-card h4[data-v-27db0f7a]{margin:0 0 .5rem;color:#333}.status-card p[data-v-27db0f7a]{margin:0;font-family:monospace;font-size:.9rem}.user-data[data-v-27db0f7a]{background:#f8f9fa;padding:1rem;border-radius:4px;margin:1rem 0}.user-data pre[data-v-27db0f7a]{margin:0;font-size:.9rem;color:#333;white-space:pre-wrap}.tech-info[data-v-27db0f7a]{background:#f8f9fa;padding:1.5rem;border-radius:8px;text-align:left}.tech-info h4[data-v-27db0f7a]{color:#333;margin:1rem 0 .5rem}.tech-info h4[data-v-27db0f7a]:first-child{margin-top:0}.tech-info ul[data-v-27db0f7a]{margin:.5rem 0;padding-left:1.5rem}.tech-info li[data-v-27db0f7a]{margin:.25rem 0;color:#666}.test-btn[data-v-27db0f7a],.logout-btn[data-v-27db0f7a]{background:#0078d4;color:#fff;border:none;padding:12px 24px;border-radius:4px;cursor:pointer;font-size:16px;margin:1rem 0;transition:background-color .2s}.test-btn[data-v-27db0f7a]:hover,.logout-btn[data-v-27db0f7a]:hover{background:#106ebe}.test-btn[data-v-27db0f7a]:disabled{background:#ccc;cursor:not-allowed}.logout-btn[data-v-27db0f7a]{background:#d13438}.logout-btn[data-v-27db0f7a]:hover{background:#a4262c}.sso-silent-test[data-v-44f439a9]{max-width:800px;margin:0 auto;padding:2rem}.test-section[data-v-44f439a9]{background:#f5f5f5;padding:1rem;margin:1rem 0;border-radius:4px}button[data-v-44f439a9]{background:#0078d4;color:#fff;border:none;padding:12px 24px;border-radius:4px;cursor:pointer}button[data-v-44f439a9]:disabled{background:#ccc;cursor:not-allowed}.token-section textarea[data-v-44f439a9]{width:100%;font-family:monospace;font-size:12px}.profile-section pre[data-v-44f439a9]{background:#f5f5f5;padding:1rem;border-radius:4px;overflow-x:auto}
