:root{--primary-color: #6c757d;--primary-color-hover: #545b62;--secondary-color: #495057;--accent-color: #adb5bd;--header-bg: #343a40;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;background-color:#f5f5f5;color:#333;min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{line-height:1.2}a{color:var(--primary-color);text-decoration:none}a:hover{color:var(--primary-color-hover);text-decoration:underline}button{font-family:inherit}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;background-color:#f5f5f5}.auth-spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:var(--primary-color, #0066cc);border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-loading p{color:#666;font-size:1rem}.auth-bypass{display:flex;flex-direction:column;min-height:100vh}.auth-bypass-banner{background-color:#fff3cd;color:#856404;padding:.5rem 1rem;text-align:center;font-size:.85rem;border-bottom:1px solid #ffc107}.token-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.token-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column}.token-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #eee}.token-modal-header h2{margin:0;font-size:1.25rem;color:#333}.token-close-btn{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;line-height:1}.token-close-btn:hover{color:#333}.token-tabs{display:flex;border-bottom:1px solid #eee;padding:0 1rem}.token-tab{background:none;border:none;padding:.75rem 1rem;font-size:.9rem;color:#666;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.token-tab:hover{color:#333}.token-tab.active{color:var(--primary-color, #0066cc);border-bottom-color:var(--primary-color, #0066cc)}.token-modal-content{padding:1.5rem;overflow-y:auto;flex:1}.claims-section{margin-bottom:1.5rem}.claims-section h3{font-size:.85rem;text-transform:uppercase;color:#888;margin:0 0 .75rem;letter-spacing:.05em}.claims-table{width:100%;border-collapse:collapse}.claims-table tr{border-bottom:1px solid #f0f0f0}.claims-table tr:last-child{border-bottom:none}.claim-key{padding:.5rem .5rem .5rem 0;color:#666;font-family:monospace;font-size:.85rem;width:140px;vertical-align:top}.claim-value{padding:.5rem 0;color:#333;font-family:monospace;font-size:.85rem;word-break:break-all}.raw-view h3,.account-view h3{font-size:.85rem;text-transform:uppercase;color:#888;margin:0 0 .75rem;letter-spacing:.05em}.raw-view h3:not(:first-child){margin-top:1.5rem}.raw-token{background:#f5f5f5;padding:1rem;border-radius:6px;overflow-x:auto}.raw-token code{font-size:.75rem;word-break:break-all;white-space:pre-wrap}.decoded-token,.account-json{background:#f5f5f5;padding:1rem;border-radius:6px;overflow-x:auto;font-size:.8rem;margin:0}.user-menu{position:relative}.login-button{background-color:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.login-button:hover:not(:disabled){background-color:#ffffff40;border-color:#ffffff80}.login-button:disabled{opacity:.7;cursor:not-allowed}.auth-not-configured{color:#fff9;font-size:.8rem;font-style:italic}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;background:#ffffff1a;border:none;padding:.4rem .75rem;border-radius:6px;color:#fff;cursor:pointer;transition:background-color .2s}.user-menu-trigger:hover{background:#fff3}.user-avatar{width:32px;height:32px;background-color:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.user-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{font-size:.6rem;opacity:.7}.user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;z-index:100;overflow:hidden}.user-dropdown-header{padding:1rem;display:flex;flex-direction:column;gap:.25rem}.user-dropdown-header strong{color:#333}.user-email{font-size:.85rem;color:#666}.user-dropdown hr{margin:0;border:none;border-top:1px solid #eee}.dropdown-item{display:block;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;color:#333;cursor:pointer;transition:background-color .2s}.dropdown-item:hover{background-color:#f5f5f5}.app-header{background-color:var(--header-bg);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.header-brand{display:flex;align-items:center;gap:1rem}.header-logo{height:40px;width:auto}.header-title{margin:0;font-size:1.5rem;font-weight:600}.header-actions{display:flex;align-items:center;gap:1rem}.app-nav{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;padding:0 2rem}.nav-list{list-style:none;margin:0;padding:0;display:flex;gap:.5rem}.nav-item{margin:0}.nav-link{display:block;padding:1rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:#495057;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.nav-link:hover{color:var(--primary-color);background-color:#00000005}.nav-link.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.dashboard{padding:2rem;max-width:1200px;margin:0 auto}.dashboard-header{margin-bottom:2rem}.dashboard-header h2{margin:0 0 .5rem;color:var(--primary-color)}.tenant-badge{display:inline-block;background-color:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.875rem}.content-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.content-section h3{margin-top:0;color:#333}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1.5rem 0}.dashboard-card{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:1.5rem;border-radius:8px;text-align:center}.dashboard-card h4{margin:0 0 .5rem;font-weight:500;opacity:.9}.card-value{font-size:2rem;font-weight:700;margin:0}.feature-status{margin-top:2rem;padding:1rem;background-color:#f8f9fa;border-radius:8px}.feature-status h4{margin-top:0}.feature-status ul{list-style:none;padding:0;margin:0}.feature-status li{padding:.5rem 0;border-bottom:1px solid #e9ecef}.feature-status li:last-child{border-bottom:none}.feature-status .enabled{color:#28a745;font-weight:600}.feature-status .disabled{color:#dc3545;font-weight:600}.btn-primary{background-color:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .2s}.btn-primary:hover{background-color:var(--primary-color-hover)}.advanced-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}.tool-card{border:2px solid var(--primary-color);border-radius:8px;padding:1rem;transition:all .2s}.tool-card:hover{background-color:#00000005;transform:translateY(-2px)}.tool-card h4{margin:0 0 .5rem;color:var(--primary-color)}.tool-card p{margin:0;color:#666;font-size:.875rem}.settings-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.settings-form label{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:#f8f9fa;border-radius:6px;cursor:pointer}.settings-form input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color)}.placeholder-content{margin-top:1rem}.app{min-height:100vh;display:flex;flex-direction:column}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #333;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#dc3545}
