*,:before,:after{box-sizing:border-box}:root{--color-bg:#f8f8fa;--color-surface:#fff;--color-border:#e2e2e8;--color-text:#1a1a2e;--color-text-muted:#6b6b80;--color-primary:#863bff;--color-primary-hover:#7025e6;--color-success-bg:#f0fdf4;--color-success-border:#bbf7d0;--color-success-text:#166534;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--color-error-text:#991b1b;--radius:8px;--radius-sm:4px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"SF Mono", "Fira Code", "Fira Mono", Menlo, monospace}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0}.shell{flex-direction:column;min-height:100vh;display:flex}.shell-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.logo{cursor:pointer;color:var(--color-text);background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:1rem;font-weight:600;display:flex}.shell-nav{gap:8px;display:flex}.nav-link{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:.85rem}.nav-link:hover{background:var(--color-bg);color:var(--color-text)}.shell-main{flex-direction:column;flex:1;display:flex}.page-center{flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.page-padded{width:100%;max-width:960px;margin:0 auto;padding:32px 24px}.page-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-header h2{margin:0;font-size:1.25rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px}.card-narrow{width:100%;max-width:380px}.card h3{margin:0 0 16px;font-size:.95rem}label{color:var(--color-text-muted);margin-bottom:4px;font-size:.8rem;font-weight:500;display:block}input,select{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-size:.85rem;font-family:var(--font-sans);background:var(--color-surface);color:var(--color-text);margin-bottom:12px;padding:8px 10px}input:focus,select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #863bff26}.btn-primary{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;margin-top:4px;padding:10px 16px;font-size:.85rem;font-weight:500}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.tab-bar{border-bottom:1px solid var(--color-border);gap:0;margin-bottom:16px;display:flex}.tab-bar button{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-size:.85rem}.tab-bar button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.status-message{border-radius:var(--radius-sm);margin-top:12px;padding:8px 12px;font-size:.8rem}.status-message.success{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text)}.status-message.error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text)}.badge{font-size:.75rem;font-family:var(--font-mono);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);padding:2px 8px}.text-muted{color:var(--color-text-muted);font-size:.85rem}.login-header{align-items:center;gap:10px;margin-bottom:20px;display:flex}.login-header h2{margin:0;font-size:1.25rem}.account-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.account-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-align:left;cursor:pointer;width:100%;font-family:var(--font-sans);padding:16px;transition:border-color .15s,box-shadow .15s}.account-card:hover{border-color:var(--color-primary);box-shadow:0 0 0 2px #863bff1a}.account-card-type{text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);margin-bottom:6px;font-size:.7rem;font-weight:600}.account-card-name{color:var(--color-text);margin-bottom:8px;font-size:.95rem;font-weight:500}.account-card-role{color:var(--color-text-muted);font-size:.75rem}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.empty-state{text-align:center;padding:48px 24px}.empty-state p{margin:0 0 8px}.divider{color:var(--color-text-muted);align-items:center;gap:12px;margin:16px 0;font-size:.8rem;display:flex}.divider:before,.divider:after{content:"";background:var(--color-border);flex:1;height:1px}.oidc-buttons{flex-direction:column;gap:8px;display:flex}.btn-oidc{background:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;font-weight:500;display:flex}.btn-oidc:hover{background:var(--color-bg);border-color:var(--color-text-muted)}.temp-control{flex-direction:column;align-items:center;padding:24px 0;display:flex}.temp-status{text-align:center;min-height:40px;margin-top:8px}
