src/styles.css
Rama main · réplica de lectura del repositorio original.
@import "tailwindcss";
@import "tw-animate-css";
@import "shadcn/tailwind.css";
@import "@fontsource-variable/inter";
@custom-variant dark (&:is(.dark *));
:root {
--brand-primary: #007b83;
--brand-primary-active: #005f66;
--brand-background: #ffffff;
--brand-primary-soft: #e7f6f6;
--brand-signal: #4fd1d0;
--ink: #142022;
--muted: #5b696b;
--line: #dde5e5;
--line-strong: #cbd6d6;
--surface: #ffffff;
--soft: #f6f9f9;
--panel: #ffffff;
--console-canvas: #ffffff;
--navigation: #f8fbfb;
--background: #ffffff;
--foreground: #142022;
--card: #ffffff;
--card-foreground: #142022;
--primary: #007b83;
--primary-foreground: #ffffff;
--secondary: #f6f9f9;
--secondary-foreground: #142022;
--muted-color: #f6f9f9;
--muted-foreground: #5b696b;
--destructive: #b83232;
--destructive-foreground: #ffffff;
--success: #147a55;
--success-soft: #ecfdf3;
--warning: #8a6300;
--warning-soft: #fffaeb;
--border: #dde5e5;
--input: #cbd6d6;
color: var(--ink);
background: var(--background);
color-scheme: light;
font-family:
Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-synthesis: none;
text-rendering: optimizeLegibility;
--popover: #ffffff;
--popover-foreground: #142022;
--accent: #e7f6f6;
--accent-foreground: #005f66;
--ring: #007b83;
--chart-1: #007b83;
--chart-2: #4fd1d0;
--chart-3: #147a55;
--chart-4: #8a6300;
--chart-5: #5b696b;
--radius: 0.625rem;
--sidebar: #f8fbfb;
--sidebar-foreground: #142022;
--sidebar-primary: #007b83;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #e7f6f6;
--sidebar-accent-foreground: #005f66;
--sidebar-border: #dde5e5;
--sidebar-ring: #007b83;
}
.dark {
--brand-primary: #4fd1d0;
--brand-primary-active: #79dfde;
--brand-background: #10191a;
--brand-primary-soft: #173638;
--ink: #effafa;
--muted: #a6b6b7;
--line: #314143;
--line-strong: #45585a;
--surface: #10191a;
--soft: #172224;
--panel: #1b292b;
--console-canvas: #10191a;
--navigation: #131e20;
--background: #10191a;
--foreground: #effafa;
--card: #1b292b;
--card-foreground: #effafa;
--primary: #4fd1d0;
--primary-foreground: #0b2021;
--secondary: #243436;
--secondary-foreground: #effafa;
--muted-color: #172224;
--muted-foreground: #a6b6b7;
--destructive: #f07b7b;
--destructive-foreground: #1d0a0a;
--success: #73d6aa;
--success-soft: #16372c;
--warning: #efc66a;
--warning-soft: #3b3015;
--border: #314143;
--input: #45585a;
--popover: #1b292b;
--popover-foreground: #effafa;
--accent: #173638;
--accent-foreground: #79dfde;
--ring: #4fd1d0;
--sidebar: #131e20;
--sidebar-foreground: #effafa;
--sidebar-primary: #4fd1d0;
--sidebar-primary-foreground: #0b2021;
--sidebar-accent: #173638;
--sidebar-accent-foreground: #79dfde;
--sidebar-border: #314143;
--sidebar-ring: #4fd1d0;
color-scheme: dark;
}
@theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-card: var(--card);
--color-card-foreground: var(--card-foreground);
--color-primary: var(--primary);
--color-primary-foreground: var(--primary-foreground);
--color-secondary: var(--secondary);
--color-secondary-foreground: var(--secondary-foreground);
--color-muted: var(--muted-color);
--color-muted-foreground: var(--muted-foreground);
--color-destructive: var(--destructive);
--color-destructive-foreground: var(--destructive-foreground);
--color-border: var(--border);
--color-input: var(--input);
--font-heading: var(--font-sans);
--font-sans: 'Inter Variable', Inter, sans-serif;
--color-sidebar-ring: var(--sidebar-ring);
--color-sidebar-border: var(--sidebar-border);
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
--color-sidebar-accent: var(--sidebar-accent);
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
--color-sidebar-primary: var(--sidebar-primary);
--color-sidebar-foreground: var(--sidebar-foreground);
--color-sidebar: var(--sidebar);
--color-chart-5: var(--chart-5);
--color-chart-4: var(--chart-4);
--color-chart-3: var(--chart-3);
--color-chart-2: var(--chart-2);
--color-chart-1: var(--chart-1);
--color-ring: var(--ring);
--color-accent-foreground: var(--accent-foreground);
--color-accent: var(--accent);
--color-popover-foreground: var(--popover-foreground);
--color-popover: var(--popover);
--radius-sm: calc(var(--radius) * 0.6);
--radius-md: calc(var(--radius) * 0.8);
--radius-lg: var(--radius);
--radius-xl: calc(var(--radius) * 1.4);
--radius-2xl: calc(var(--radius) * 1.8);
--radius-3xl: calc(var(--radius) * 2.2);
--radius-4xl: calc(var(--radius) * 2.6);
}
* {
box-sizing: border-box;
}
body {
margin: 0;
min-width: 320px;
min-height: 100vh;
}
button,
input,
select,
textarea {
font: inherit;
}
button:not(:disabled),
[role='button']:not(:disabled) {
cursor: pointer;
}
a {
color: inherit;
text-decoration: none;
}
.realmrootMark {
position: relative;
display: block;
width: 28px;
height: 28px;
flex: 0 0 auto;
border-radius: 9px;
background: var(--brand-primary);
}
.realmrootMark i {
position: absolute;
bottom: 5px;
width: 3px;
border-radius: 3px;
background: white;
}
.realmrootMark i:nth-child(1) {
left: 7px;
height: 10px;
transform: rotate(-26deg);
transform-origin: bottom;
}
.realmrootMark i:nth-child(2) {
left: 12px;
height: 16px;
}
.realmrootMark i:nth-child(3) {
right: 7px;
height: 10px;
transform: rotate(26deg);
transform-origin: bottom;
}
:where(a, button, input, select, textarea, [role='button'], [tabindex]):not([data-slot]):focus-visible {
outline: 3px solid color-mix(in srgb, var(--brand-primary) 72%, var(--background));
outline-offset: 2px;
}
.skipLink {
position: fixed;
z-index: 100;
top: 12px;
left: 12px;
padding: 8px 12px;
border-radius: 8px;
background: var(--brand-primary);
color: var(--primary-foreground);
font-size: 14px;
font-weight: 700;
opacity: 0;
pointer-events: none;
transform: translateY(-150%);
}
.skipLink:focus-visible {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
}
button,
a,
input,
select,
textarea {
touch-action: manipulation;
}
.preferencesControls {
display: inline-flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-end;
gap: 8px;
}
.preferencesControl {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 7px;
color: var(--foreground);
font-size: 12px;
font-weight: 650;
}
.preferencesIconControl {
width: 36px;
padding: 0;
}
.preferencesControl [data-slot='select-trigger'] {
width: auto;
min-width: 72px;
}
.consolePreferences {
display: inline-flex;
}
.accountTopbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}
.accountTopbarActions {
display: inline-flex;
align-items: center;
justify-content: flex-end;
gap: 8px;
}
.accountAvatarMenuTrigger {
width: 44px;
min-width: 44px;
height: 44px;
min-height: 44px;
padding: 0;
border: 1px solid transparent;
border-radius: 999px;
background: transparent;
color: var(--foreground);
box-shadow: none;
transition:
background-color 150ms ease,
border-color 150ms ease,
box-shadow 150ms ease,
transform 150ms ease;
}
.accountAvatarMenuTrigger:hover,
.accountAvatarMenuTrigger[aria-expanded="true"] {
border-color: var(--border);
background: var(--muted-color);
box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-primary) 9%, transparent);
}
.accountAvatarMenuTrigger:active {
transform: translateY(1px);
}
.accountMenuAvatar {
display: grid;
place-items: center;
border: 1px solid var(--border);
border-radius: 999px;
background: var(--muted-color);
color: var(--muted-foreground);
font-size: 14px;
font-weight: 700;
line-height: 1;
object-fit: cover;
}
.accountMenuAvatarTrigger {
width: 34px;
height: 34px;
border-color: transparent;
}
.accountMenuHeaderAvatar {
width: 40px;
height: 40px;
flex: 0 0 auto;
}
.accountUserMenu {
--account-menu-bg: color-mix(in srgb, var(--brand-primary) 2%, var(--popover));
display: grid;
gap: 4px;
width: 288px;
padding: 10px;
border: 1px solid var(--border);
border-radius: 12px;
background: var(--account-menu-bg);
color: var(--foreground);
box-shadow:
0 18px 48px rgb(24 24 27 / 14%),
0 3px 10px rgb(24 24 27 / 6%);
}
.accountUserMenuHeader {
display: flex;
align-items: center;
gap: 10px;
min-width: 0;
padding: 6px 6px 12px;
border-bottom: 1px solid var(--border);
}
.accountUserMenuHeader div {
display: grid;
min-width: 0;
gap: 2px;
}
.accountUserMenuHeader strong {
min-width: 0;
color: var(--foreground);
font-size: 14px;
line-height: 1.3;
}
.accountUserMenuHeader span {
min-width: 0;
color: var(--muted-foreground);
font-size: 12px;
line-height: 1.35;
overflow-wrap: anywhere;
}
.accountMenuItem {
display: flex;
align-items: center;
gap: 10px;
min-height: 44px;
padding: 0 10px;
color: var(--foreground);
font-size: 13px;
font-weight: 580;
}
.accountMenuItem {
width: 100%;
border: 0;
border-radius: 8px;
background: transparent;
cursor: pointer;
text-align: left;
transition:
background-color 150ms ease,
color 150ms ease;
}
.accountMenuItem:hover,
.accountMenuItem:focus,
.accountSubmenuTrigger[data-state='open'] {
background: var(--muted-color);
}
.accountMenuItem > svg,
.accountSubmenuTriggerLabel > svg {
width: 17px;
height: 17px;
flex: 0 0 auto;
color: var(--muted-foreground);
}
.accountMenuSeparator {
margin: 2px 0;
}
.accountSubmenuTrigger {
justify-content: space-between;
gap: 16px;
}
.accountSubmenuTriggerLabel {
display: inline-flex;
align-items: center;
min-width: 0;
gap: 8px;
}
.accountSubmenuTriggerLabel span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.accountSubmenuTrigger > svg:last-child {
width: 14px;
height: 14px;
flex: 0 0 auto;
margin-left: 0;
color: var(--muted-foreground);
}
.accountSubmenuValue {
max-width: 88px;
overflow: hidden;
margin-left: auto;
color: var(--muted-foreground);
font-size: 11px;
font-weight: 500;
text-overflow: ellipsis;
white-space: nowrap;
}
.accountSubmenuContent {
min-width: 152px;
padding: 6px;
border: 1px solid var(--border);
background: var(--popover);
color: var(--foreground);
}
.accountSubmenuItem {
gap: 8px;
}
.accountSubmenuCheck,
.accountSubmenuCheckHidden {
width: 15px;
height: 15px;
flex: 0 0 auto;
}
.accountSubmenuCheckHidden {
visibility: hidden;
}
.accountMenuItemDanger {
color: var(--destructive);
}
.accountMenuItemDanger:hover {
background: color-mix(in srgb, var(--destructive) 10%, transparent);
}
.dark .authPanel,
.dark .hostedAuthPanel,
.dark .accountHero,
.dark .accountPanelGroup,
.dark .settingsAction,
.dark .panelTitleIcon,
.dark .itemRowIcon,
.dark .consoleActivityCard,
.dark .objectHeader,
.dark .applicationTypeCard,
.dark .setupPanel,
.dark .itemRow,
.dark .socialButton,
.dark .statusPill {
background: var(--panel);
color: var(--ink);
}
.dark .accountPanelHeader,
.dark .subsectionTitle,
.dark .hostedPreviewHeader,
.dark .statusPill,
.dark .setupPanel,
.dark .segmented {
background: var(--soft);
}
.dark .authShell {
background: color-mix(in srgb, var(--brand-background) 92%, #000000);
}
.dark .authBackLink,
.dark .authBrandPanel p:not(.eyebrow),
.dark .authBackAction,
.dark .authSignupPrompt,
.dark .intro,
.dark .statusPill span {
color: var(--muted);
}
.dark .applicationTypeCard:hover,
.dark .applicationTypeCard.selected {
background: color-mix(in srgb, var(--brand-primary) 12%, var(--panel));
}
.consoleShell {
position: fixed;
inset: 0;
display: grid;
grid-template-rows: 64px minmax(0, 1fr);
height: 100dvh;
overflow: hidden;
background: var(--background);
font-size: 14px;
}
.dark .consoleShell {
background: var(--background);
}
.consoleTopbar {
position: sticky;
top: 0;
z-index: 30;
display: grid;
grid-template-columns: 250px minmax(0, 1fr);
width: 100%;
min-width: 0;
height: 64px;
border-bottom: 1px solid var(--border);
background: color-mix(in srgb, var(--background) 96%, transparent);
backdrop-filter: blur(12px);
}
.consoleTopbarBrand {
display: flex;
min-width: 0;
align-items: center;
padding: 0 20px;
border-right: 1px solid var(--border);
background: var(--navigation);
}
.consoleTopbarActions {
display: flex;
min-width: 0;
align-items: center;
justify-content: flex-end;
gap: 10px;
padding: 0 22px;
}
.consoleSearchTrigger {
width: min(280px, 32vw);
justify-content: space-between;
border-color: color-mix(in srgb, var(--border) 82%, transparent);
background: color-mix(in srgb, var(--background) 70%, var(--navigation));
color: var(--muted-foreground);
font-weight: 520;
}
.consoleSearchTrigger:hover {
background: var(--accent);
color: var(--foreground);
}
.consoleSearchTrigger svg {
width: 15px;
height: 15px;
}
.consoleSearchTrigger kbd {
padding: 2px 6px;
border: 1px solid var(--border);
border-radius: 5px;
background: var(--background);
color: var(--muted-foreground);
font-family: inherit;
font-size: 10px;
line-height: 1.2;
}
.consoleBody {
min-width: 0;
min-height: 0;
}
.consoleRail {
width: 250px;
height: 100%;
min-height: 0;
flex-shrink: 0;
flex-direction: column;
border-right: 1px solid var(--border);
background: var(--navigation);
}
.consoleOrganizationSwitcher {
flex: 0 0 auto;
padding: 12px;
border-bottom: 1px solid var(--border);
}
.consoleOrganizationTrigger {
width: 100%;
height: 52px;
justify-content: flex-start;
gap: 10px;
padding: 6px 8px;
border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
background: color-mix(in srgb, var(--background) 62%, var(--navigation));
box-shadow: 0 1px 2px color-mix(in srgb, var(--foreground) 4%, transparent);
}
.consoleOrganizationTrigger:hover,
.consoleOrganizationTrigger[data-state='open'] {
border-color: color-mix(in srgb, var(--primary) 30%, var(--border));
background: color-mix(in srgb, var(--primary) 5%, var(--background));
}
.consoleOrganizationIcon {
display: grid;
width: 32px;
height: 32px;
flex: 0 0 auto;
place-items: center;
border-radius: 8px;
background: color-mix(in srgb, var(--primary) 11%, transparent);
color: var(--primary);
}
.consoleOrganizationIcon svg {
width: 16px;
height: 16px;
}
.consoleOrganizationLabel,
.consoleOrganizationName {
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.consoleOrganizationLabel {
margin-bottom: 1px;
color: var(--muted-foreground);
font-size: 9px;
font-weight: 750;
letter-spacing: 0.08em;
line-height: 1.2;
text-transform: uppercase;
}
.consoleOrganizationName {
color: var(--foreground);
font-size: 13px;
font-weight: 680;
line-height: 1.35;
}
.consoleOrganizationChevron {
width: 14px;
height: 14px;
flex: 0 0 auto;
color: var(--muted-foreground);
}
.consoleOrganizationOption {
min-height: 46px;
gap: 9px;
padding: 6px 26px 6px 8px;
}
.consoleOrganizationOption > span:not([data-slot]) {
display: grid;
min-width: 0;
gap: 1px;
}
.consoleOrganizationOption strong,
.consoleOrganizationOption small {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.consoleOrganizationOption strong {
font-size: 13px;
font-weight: 650;
}
.consoleOrganizationOption small {
color: var(--muted-foreground);
font-size: 10px;
}
.consoleNavScroll {
scrollbar-gutter: stable;
scrollbar-color: transparent transparent;
scrollbar-width: thin;
}
.consoleNavScroll:hover {
scrollbar-color: color-mix(in srgb, var(--muted) 38%, transparent) transparent;
}
.consoleNavScroll::-webkit-scrollbar {
width: 10px;
}
.consoleNavScroll::-webkit-scrollbar-track {
background: transparent;
}
.consoleNavScroll::-webkit-scrollbar-thumb {
border: 3px solid transparent;
border-radius: 999px;
background-clip: content-box;
background-color: transparent;
}
.consoleNavScroll > .grid {
gap: 9px;
}
.consoleNavScroll > .grid > .grid {
gap: 2px;
}
.consoleNavScroll:hover::-webkit-scrollbar-thumb {
background-color: color-mix(in srgb, var(--muted) 38%, transparent);
}
.consoleNavScroll:hover::-webkit-scrollbar-thumb:hover {
background-color: color-mix(in srgb, var(--muted) 56%, transparent);
}
.consoleMain {
height: 100%;
min-width: 0;
flex: 1;
overflow-y: auto;
background: var(--background);
}
.consoleContent {
display: flex;
width: 100%;
min-width: 560px;
max-width: 1160px;
flex-direction: column;
gap: 0;
margin: 0;
margin-left: max(0px, calc((100vw - 1410px) / 2));
padding: 38px clamp(24px, 4vw, 58px) 60px;
}
.consoleContent:has(.consolePageHeader) {
padding-top: 28px;
}
.consoleBreadcrumbs {
display: flex;
align-items: center;
gap: 6px;
margin-bottom: 18px;
color: var(--muted-foreground);
font-size: 10px;
}
.consoleContent:has(.consolePageHeader) .consoleBreadcrumbs {
margin-bottom: 12px;
}
.consoleBreadcrumbs [aria-current='page'],
.consoleBreadcrumbs a {
color: var(--primary);
font-weight: 700;
}
.consolePage {
display: flex;
min-width: 0;
flex-direction: column;
gap: 12px;
}
.consolePageHeader {
margin-bottom: 4px;
}
.consolePageHeader p {
font-size: 12px;
}
.consoleNavGroupLabel {
margin: 0;
padding: 4px 10px;
color: var(--muted-foreground);
font-size: 10px;
font-weight: 750;
letter-spacing: 0.1em;
text-transform: uppercase;
}
.consoleNavItem {
display: flex;
min-height: 34px;
align-items: center;
gap: 9px;
padding: 0 10px;
border-radius: 8px;
color: var(--muted-foreground);
font-size: 13px;
font-weight: 620;
transition: background-color 150ms ease, color 150ms ease;
}
.consoleNavItem svg {
width: 16px;
height: 16px;
flex: 0 0 auto;
}
.consoleNavItem span {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.consoleNavItem:hover {
background: var(--brand-primary-soft);
color: var(--brand-primary-active);
}
.consoleNavItem.is-active {
background: var(--primary);
color: var(--primary-foreground);
font-weight: 680;
}
.consoleNavFooter {
display: grid;
gap: 2px;
margin: 0 12px;
padding: 12px 0 16px;
border-top: 1px solid var(--border);
}
.consoleAccountMenuSummary {
display: flex;
min-width: 0;
align-items: center;
gap: 10px;
padding: 6px 6px 10px;
}
.consoleAccountMenuItem {
display: flex;
min-height: 36px;
width: 100%;
align-items: center;
gap: 10px;
border-radius: 6px;
padding: 0 10px;
color: var(--foreground);
font-size: 14px;
font-weight: 500;
text-align: left;
}
.consoleAccountMenuItem:hover {
background: var(--muted-color);
}
.consoleAccountMenuItemDanger {
color: var(--destructive);
}
.consoleAccountMenuItemDanger:hover {
background: color-mix(in srgb, var(--destructive) 10%, transparent);
}
.consoleSubmenuTrigger {
justify-content: space-between;
gap: 16px;
}
.dropdownSubContent {
display: none;
}
.dropdownSub:hover > .dropdownSubContent,
.dropdownSub:focus-within > .dropdownSubContent {
display: block;
}
.consoleSubmenuContent {
min-width: 132px;
}
.consoleSubmenuItem {
gap: 8px;
}
.shell {
min-height: 100vh;
padding: 24px;
}
.topbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
max-width: 1120px;
margin: 0 auto;
}
.brand,
.actions {
display: flex;
align-items: center;
gap: 12px;
}
.brand {
font-weight: 700;
}
.brandLink {
width: max-content;
}
.brandMark,
.brandLogo {
display: grid;
width: 36px;
height: 36px;
place-items: center;
border-radius: 8px;
color: #ffffff;
background: var(--brand-primary);
object-fit: cover;
}
.actions {
flex-wrap: wrap;
justify-content: flex-end;
}
.actions a,
.primaryAction {
display: inline-flex;
align-items: center;
min-height: 40px;
padding: 0 14px;
border-radius: 8px;
font-size: 14px;
font-weight: 600;
}
.primaryAction {
color: #ffffff;
background: #18212f;
}
.hero {
max-width: 1120px;
margin: 104px auto 48px;
}
.eyebrow {
margin: 0 0 12px;
color: var(--brand-primary);
font-size: 13px;
font-weight: 700;
letter-spacing: 0;
text-transform: uppercase;
}
.shell :is(h1, h2, h3, p) {
overflow-wrap: anywhere;
}
.shell h1 {
max-width: 760px;
margin: 0;
font-size: 56px;
line-height: 1.04;
letter-spacing: 0;
text-wrap: balance;
}
.intro {
max-width: 640px;
margin: 24px 0 0;
color: #475569;
font-size: 20px;
line-height: 1.6;
}
.featureGrid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
max-width: 1120px;
margin: 0 auto;
}
.feature,
.settingsPanel {
border: 1px solid var(--line);
border-radius: 8px;
background: var(--surface);
}
.feature {
min-height: 184px;
padding: 24px;
}
.feature svg {
color: var(--brand-primary);
}
.feature h2 {
margin: 18px 0 10px;
font-size: 18px;
}
.feature p,
.muted {
margin: 0;
color: var(--muted);
line-height: 1.6;
}
.platformStatus {
display: inline-flex;
align-items: center;
gap: 10px;
max-width: 1120px;
margin: 20px auto 0;
color: var(--muted);
font-size: 14px;
}
.statusDot {
width: 10px;
height: 10px;
border-radius: 999px;
background: var(--warning);
}
.statusDot.online {
background: var(--success);
}
.authShell {
position: relative;
display: flex;
align-items: flex-start;
justify-content: center;
min-height: 100dvh;
padding: 64px 16px 28px;
background: color-mix(in srgb, var(--brand-background) 24%, var(--soft));
}
.authBackLink {
position: absolute;
top: 24px;
left: 24px;
display: inline-flex;
align-items: center;
gap: 8px;
min-height: 36px;
padding: 0 10px;
border-radius: 8px;
color: var(--muted-foreground);
font-size: 14px;
font-weight: 700;
}
.authBackLink:hover {
background: color-mix(in srgb, var(--brand-primary) 8%, transparent);
color: var(--ink);
}
.authPanel {
width: 100%;
overflow: hidden;
border: 1px solid var(--line);
border-radius: 12px;
background: var(--panel);
box-shadow: 0 18px 54px rgb(20 32 34 / 8%);
}
.authFrame {
display: grid;
width: 100%;
margin-block: auto;
justify-items: center;
}
.authShell-split .authFrame {
max-width: 880px;
}
.authShell-focused .authFrame {
max-width: 400px;
}
.authShell-decision .authFrame {
max-width: 460px;
}
.authPanel-split {
display: grid;
grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
}
.authPanel-focused,
.authPanel-decision {
padding: 28px;
}
.oauthContextForm {
display: grid;
gap: 18px;
}
.oauthContextChoices {
display: grid;
gap: 8px;
min-width: 0;
margin: 0;
padding: 0;
border: 0;
}
.oauthContextChoices legend {
margin-bottom: 8px;
color: var(--ink);
font-size: 12px;
font-weight: 700;
}
.oauthContextChoice {
display: grid;
grid-template-columns: auto 40px minmax(0, 1fr);
align-items: center;
gap: 12px;
min-height: 64px;
padding: 10px 12px;
border: 1px solid var(--line);
border-radius: 12px;
background: var(--panel);
cursor: pointer;
}
.oauthContextChoice:has(input:checked) {
border-color: var(--brand-primary);
background: color-mix(in srgb, var(--brand-primary) 7%, var(--panel));
}
.oauthContextChoice:focus-within {
outline: 3px solid color-mix(in srgb, var(--brand-primary) 28%, transparent);
outline-offset: 2px;
}
.oauthContextChoice input {
width: 18px;
height: 18px;
margin: 0;
accent-color: var(--brand-primary);
}
.oauthContextChoiceIcon {
display: grid;
width: 40px;
height: 40px;
place-items: center;
border: 1px solid var(--line);
border-radius: 10px;
background: var(--soft);
color: var(--brand-primary);
}
.oauthContextChoiceIcon svg {
width: 20px;
height: 20px;
}
.oauthContextChoiceText {
display: grid;
min-width: 0;
gap: 2px;
}
.oauthContextChoiceText strong,
.oauthContextChoiceText small {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.oauthContextChoiceText strong {
color: var(--ink);
font-size: 14px;
}
.oauthContextChoiceText small {
color: var(--muted);
font-size: 12px;
}
.oauthContextActions {
display: flex;
justify-content: flex-end;
gap: 8px;
}
.oauthContextSwitchAccount {
min-height: 44px;
padding: 0;
border: 0;
background: transparent;
color: var(--brand-primary);
font: inherit;
font-size: 13px;
font-weight: 700;
cursor: pointer;
}
.oauthContextSwitchAccount:focus-visible {
outline: 3px solid color-mix(in srgb, var(--brand-primary) 28%, transparent);
outline-offset: 2px;
}
.oauthContextSwitchAccount:disabled,
.oauthContextChoice:has(input:disabled) {
cursor: not-allowed;
opacity: 0.62;
}
.authContent {
display: grid;
width: 100%;
margin-top: 18px;
}
.authPanel-split .authContent {
align-content: center;
margin: 0;
padding: 38px 40px;
}
.authBrandPanel {
display: grid;
justify-items: center;
gap: 8px;
text-align: center;
}
.authPanel-split .authBrandPanel {
min-height: 520px;
align-content: center;
justify-items: start;
padding: 48px;
border-right: 1px solid var(--line);
background:
radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--brand-primary) 9%, transparent), transparent 38%),
color-mix(in srgb, var(--brand-background) 28%, var(--soft));
text-align: left;
}
.authBrandPanel .brand {
justify-content: center;
margin-bottom: 10px;
font-size: 14px;
}
.authPanel-split .authBrandPanel .brand {
justify-content: flex-start;
}
.authBrandPanel .brandMark,
.authBrandPanel .brandLogo {
width: 32px;
height: 32px;
border-radius: 8px;
}
.authBrandPanel h1 {
max-width: 340px;
margin: 0;
font-size: 24px;
font-weight: 670;
letter-spacing: -0.035em;
line-height: 1.2;
}
.authPanel-split .authBrandPanel h1 {
font-size: 30px;
}
.authBrandPanel p:not(.eyebrow) {
max-width: 320px;
margin: 0;
color: var(--muted);
font-size: 13px;
line-height: 1.6;
}
.authMessageIcon {
display: grid;
width: 44px;
height: 44px;
place-items: center;
margin-bottom: 4px;
border: 1px solid color-mix(in srgb, var(--brand-primary) 18%, var(--line));
border-radius: 999px;
background: color-mix(in srgb, var(--brand-primary) 8%, var(--panel));
color: var(--brand-primary);
}
.authShell-message .authContent {
display: grid;
justify-items: center;
gap: 12px;
text-align: center;
}
.authContent [data-slot='button'][data-size='default'],
.authContent [data-slot='button'][data-size='lg'] {
width: 100%;
}
.decisionStack {
display: grid;
gap: 18px;
}
.decisionFacts {
display: grid;
margin: 0;
border-block: 1px solid var(--line);
}
.decisionFacts > div {
display: grid;
grid-template-columns: minmax(110px, 0.7fr) minmax(0, 1.3fr);
gap: 18px;
padding: 11px 0;
border-top: 1px solid var(--line);
}
.decisionFacts > div:first-child {
border-top: 0;
}
.decisionFacts dt {
color: var(--muted);
font-size: 12px;
font-weight: 650;
}
.decisionFacts dd {
min-width: 0;
margin: 0;
overflow-wrap: anywhere;
color: var(--ink);
font-size: 12px;
line-height: 1.55;
}
.decisionFacts dd span,
.decisionFacts dd code {
display: block;
}
.decisionFacts dd span {
font-size: 13px;
font-weight: 650;
}
.decisionFacts dd code {
margin-top: 2px;
color: var(--muted);
font-size: 10px;
}
.decisionPermissions,
.decisionSection {
display: grid;
gap: 12px;
}
.decisionSection {
padding-top: 18px;
border-top: 1px solid var(--line);
}
.decisionPrerequisite {
display: grid;
gap: 16px;
padding: 18px;
border: 1px solid color-mix(in srgb, var(--brand-primary) 20%, var(--line));
border-radius: calc(var(--auth-panel-radius, 8px) - 2px);
background: color-mix(in srgb, var(--brand-primary) 4%, var(--panel));
}
.decisionPrerequisiteCopy {
display: grid;
gap: 6px;
}
.decisionPrerequisiteCopy h2,
.decisionPrerequisiteCopy p {
margin: 0;
}
.decisionPrerequisiteCopy h2 {
font-size: 16px;
line-height: 1.35;
}
.decisionPrerequisiteCopy p:not(.decisionPrerequisiteEyebrow),
.decisionPrerequisiteHint {
color: var(--muted);
font-size: 12px;
line-height: 1.55;
}
.decisionPrerequisiteEyebrow {
color: var(--brand-primary);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.decisionAccountSummary {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 12px;
align-items: center;
padding: 11px 12px;
border: 1px solid var(--line);
border-radius: 7px;
background: var(--panel);
}
.decisionAccountSummary span {
color: var(--muted);
font-size: 11px;
}
.decisionAccountSummary strong {
overflow-wrap: anywhere;
font-size: 12px;
text-align: right;
}
.decisionPrerequisiteHint {
margin: -4px 0 0;
text-align: center;
}
.decisionPermissions h2,
.decisionSection h2 {
margin: 0;
font-size: 14px;
font-weight: 650;
}
.decisionPermissions p,
.decisionSection p {
margin: 0;
color: var(--muted);
font-size: 12px;
line-height: 1.55;
}
.decisionPermissions ul {
display: grid;
max-height: 168px;
gap: 0;
margin: 0;
padding: 0;
overflow-y: auto;
border-block: 1px solid var(--line);
list-style: none;
}
.decisionPermissions li {
padding: 9px 0;
border-top: 1px solid var(--line);
font-size: 12px;
}
.decisionPermissions li:first-child {
border-top: 0;
}
.decisionRadio {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 10px;
align-items: start;
padding: 9px 0;
border-top: 1px solid var(--line);
}
.decisionRadio:first-child {
border-top: 0;
}
.decisionRadio > span {
display: grid;
gap: 2px;
}
.decisionRadio strong {
font-size: 12px;
}
.decisionRadio small {
color: var(--muted);
font-size: 11px;
line-height: 1.45;
}
.decisionActions {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.decisionActions-single {
grid-template-columns: minmax(0, 1fr);
}
.brandingPreview {
display: grid;
gap: 24px;
min-height: 360px;
padding: 28px;
border-radius: var(--auth-panel-radius, 8px);
background:
linear-gradient(135deg, color-mix(in srgb, var(--brand-background) 82%, white), #ffffff 68%),
var(--brand-background);
}
.brandingPreview h2 {
margin: 0 0 8px;
color: var(--auth-text-color, var(--ink));
font-size: 28px;
line-height: 1.2;
}
.brandingPreview p:not(.eyebrow) {
max-width: 30rem;
color: color-mix(in srgb, var(--auth-text-color, var(--ink)) 62%, transparent);
line-height: 1.6;
}
.consoleResourcePageWithAside {
display: grid;
gap: 16px;
}
.consoleResourcePageMain {
display: flex;
min-width: 0;
flex-direction: column;
gap: 12px;
}
.signInExperienceSettings {
min-width: 0;
}
.signInExperienceSettings > .grid > section {
grid-template-columns: minmax(0, 1fr);
}
.signInExperiencePreviewPanel {
min-width: 0;
}
.hostedPreviewShell {
display: grid;
align-content: start;
}
.hostedAuthPreview {
min-height: auto;
padding: 18px;
}
.hostedAuthPanel {
display: grid;
width: min(100%, 372px);
gap: 14px;
margin-inline: auto;
padding: 22px;
border: 1px solid var(--auth-border-color, color-mix(in srgb, var(--brand-primary) 10%, var(--line)));
border-radius: var(--auth-panel-radius, 8px);
background: var(--auth-surface-color, #ffffff);
color: var(--auth-text-color, var(--ink));
box-shadow: 0 10px 26px rgb(24 24 27 / 7%);
}
.hostedAuthPanel .authBrandPanel h2 {
max-width: 340px;
margin: 0;
color: var(--ink);
font-size: 19px;
line-height: 1.25;
}
.hostedPreviewPrompt {
margin: 12px 0 0;
color: var(--muted);
font-size: 13px;
text-align: center;
}
.authCardHeader h2,
.settingsPanel h2 {
margin: 0 0 6px;
font-size: 15px;
line-height: 1.3;
}
.authCardHeader {
width: 100%;
text-align: left;
}
.authCardHeader p {
margin: 0 0 16px;
color: var(--muted);
font-size: 13px;
line-height: 1.5;
}
.formStack {
display: grid;
gap: 9px;
}
.authStepTitle {
margin: 0 0 4px;
color: var(--ink);
font-size: 15px;
font-weight: 750;
line-height: 1.3;
}
.compactForm {
margin-top: 20px;
}
.field {
display: grid;
gap: 6px;
color: var(--ink);
font-size: 14px;
font-weight: 600;
}
.field small {
color: var(--muted);
font-weight: 400;
line-height: 1.4;
}
.textInput {
width: 100%;
min-height: 40px;
padding: 8px 10px;
border: 1px solid var(--input);
border-radius: 8px;
background: var(--panel);
color: var(--ink);
font-size: 14px;
}
.textInput[type="color"] {
min-height: 40px;
padding: 5px;
}
.textInput[type="file"] {
min-height: auto;
padding: 8px;
color: transparent;
font-size: 13px;
}
.textInput[type="file"]::file-selector-button {
min-height: 32px;
margin-right: 10px;
padding: 0 12px;
border: 1px solid var(--line);
border-radius: 6px;
background: var(--panel);
color: var(--ink);
font: inherit;
font-weight: 650;
}
.textArea {
min-height: 96px;
resize: vertical;
}
.textInput:focus-visible {
border-color: var(--brand-primary);
box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-primary) 18%, transparent);
}
.passwordField {
position: relative;
}
.passwordField .textInput {
padding-right: 42px;
}
.passwordField button {
position: absolute;
top: 50%;
right: 6px;
display: grid;
width: 32px;
height: 32px;
place-items: center;
transform: translateY(-50%);
border: 0;
border-radius: 6px;
background: transparent;
color: var(--muted);
}
.passwordField button:hover {
background: var(--muted-color);
color: var(--ink);
}
.assetUploadRow {
position: relative;
display: grid;
grid-template-columns: 48px minmax(0, 1fr);
gap: 12px;
align-items: center;
}
.avatarUploadControl {
display: grid;
grid-template-columns: 56px minmax(0, 1fr);
gap: 12px;
align-items: center;
}
.assetUploadField {
display: grid;
min-width: 0;
gap: 6px;
}
.assetUploadLabel {
color: var(--ink);
font-size: 14px;
font-weight: 600;
}
.assetUploadButton {
display: inline-flex;
align-items: center;
justify-content: center;
width: max-content;
max-width: 100%;
min-height: 40px;
gap: 6px;
padding: 0 14px;
border: 1px solid var(--line);
border-radius: 8px;
background: var(--panel);
color: var(--ink);
cursor: pointer;
font-size: 14px;
font-weight: 600;
transition:
border-color 150ms ease,
box-shadow 150ms ease,
color 150ms ease;
}
.assetUploadButton:hover,
.assetUploadRow:focus-within .assetUploadButton {
border-color: var(--brand-primary);
box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-primary) 14%, transparent);
color: var(--brand-primary);
}
.assetUploadInput {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip: rect(0 0 0 0);
clip-path: inset(50%);
white-space: nowrap;
}
.assetPreview {
display: grid;
flex-shrink: 0;
width: 56px;
height: 56px;
place-items: center;
border: 1px solid var(--line);
border-radius: 8px;
object-fit: cover;
}
.avatarUploadMeta {
display: grid;
gap: 5px;
justify-items: start;
}
.avatarUploadLabel {
color: var(--ink);
font-size: 13px;
font-weight: 700;
line-height: 1.3;
}
.avatarUploadHelp {
color: var(--muted);
font-size: 12px;
line-height: 1.35;
}
.avatarUploadButton {
display: inline-flex;
align-items: center;
gap: 6px;
min-height: 34px;
padding: 0 11px;
border: 1px solid var(--line);
border-radius: 8px;
background: var(--panel);
color: var(--ink);
font-family: inherit;
font-size: 13px;
font-weight: 700;
cursor: pointer;
}
.avatarUploadButton:hover {
border-color: color-mix(in srgb, var(--brand-primary) 24%, var(--line));
background: var(--muted-color);
}
.avatarUploadButton:focus-within,
.avatarUploadButton:focus-visible {
outline: 3px solid color-mix(in srgb, var(--brand-primary) 18%, transparent);
outline-offset: 2px;
}
.visuallyHidden {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.uiButton {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
min-height: 40px;
padding: 0 14px;
border: 1px solid transparent;
border-radius: 8px;
font-size: 14px;
font-weight: 600;
transition:
border-color 150ms ease,
background-color 150ms ease,
color 150ms ease,
box-shadow 150ms ease;
}
.uiButton-sm,
.uiButton-icon {
min-height: 36px;
}
.uiButton-sm {
padding: 0 12px;
}
.uiButton-icon {
width: 36px;
padding: 0;
}
.uiButton:disabled {
cursor: not-allowed;
opacity: 0.48;
}
[data-icon] {
width: 1rem;
height: 1rem;
flex-shrink: 0;
}
.authPanel .uiButton {
width: 100%;
min-height: 38px;
padding: 0 12px;
font-size: 13px;
}
.authPanel .textInput,
.accountContent .textInput {
min-height: 38px;
}
.accountContent .uiButton {
min-height: 40px;
padding: 0 12px;
font-size: 14px;
}
.uiButton-primary {
color: var(--primary-foreground);
background: var(--brand-primary);
}
.uiButton-primary:hover {
background: var(--brand-primary-active);
}
.uiButton-secondary {
border-color: var(--line);
background: var(--panel);
color: var(--ink);
}
.uiButton-secondary:hover {
border-color: color-mix(in srgb, var(--brand-primary) 18%, var(--line));
background: var(--muted-color);
}
.uiButton-ghost {
border-color: transparent;
background: transparent;
color: var(--brand-primary);
}
.uiButton-ghost:hover {
background: color-mix(in srgb, var(--brand-primary) 8%, transparent);
}
.uiButton-danger {
border-color: color-mix(in srgb, var(--destructive) 32%, var(--line));
background: color-mix(in srgb, var(--destructive) 10%, var(--panel));
color: var(--destructive);
}
.uiButton-danger:hover {
background: color-mix(in srgb, var(--destructive) 16%, var(--panel));
}
.segmented {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
gap: 4px;
margin-bottom: 12px;
padding: 4px;
border-radius: 8px;
background: var(--muted-color);
}
.segmented button {
min-height: 40px;
border: 0;
border-radius: 6px;
background: transparent;
color: var(--muted-foreground);
font-size: 13px;
font-weight: 700;
transition:
background-color 150ms ease,
color 150ms ease,
box-shadow 150ms ease;
}
.segmented button.active {
background: var(--panel);
color: var(--ink);
box-shadow: 0 1px 8px rgb(24 24 27 / 8%);
}
.status {
display: flex;
align-items: center;
gap: 10px;
margin: 0 0 14px;
padding: 10px 12px;
border-radius: 8px;
color: var(--foreground);
background: var(--muted-color);
font-size: 13px;
line-height: 1.5;
}
.status-success {
background: var(--success-soft);
color: var(--success);
}
.status-error {
background: color-mix(in srgb, var(--destructive) 12%, var(--panel));
color: var(--destructive);
}
.status-warning {
background: var(--warning-soft);
color: var(--warning);
}
.identitySummary {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 14px;
padding: 10px;
border: 1px solid var(--line);
border-radius: 8px;
background: var(--soft);
}
.identitySummary span {
color: var(--muted);
font-size: 13px;
line-height: 1.4;
}
.identitySummary strong {
min-width: 0;
overflow-wrap: anywhere;
}
.identitySummary button {
min-height: 36px;
margin-left: auto;
border: 0;
background: transparent;
color: var(--brand-primary);
font-weight: 700;
}
.authInlineAction {
min-height: 36px;
border: 0;
background: transparent;
color: var(--brand-primary);
font: inherit;
font-size: 13px;
font-weight: 700;
text-align: center;
}
.authInlineAction:disabled {
cursor: not-allowed;
opacity: 0.55;
}
.authMethodDivider {
display: grid;
grid-template-columns: 1fr auto 1fr;
align-items: center;
gap: 12px;
margin: 18px 0;
color: var(--muted-foreground);
font-size: 14px;
font-weight: 750;
text-transform: lowercase;
}
.authMethodDivider::before,
.authMethodDivider::after {
content: "";
height: 1px;
background: var(--line);
}
.authMethodDivider + .socialGrid {
margin-top: 0;
}
.socialGrid,
.authLinks {
display: grid;
gap: 10px;
margin-top: 16px;
}
.socialGrid {
padding: 0;
border: 0;
}
.socialGrid legend {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
}
.socialButton {
display: grid;
grid-template-columns: 28px minmax(0, 1fr) 28px;
align-items: center;
gap: 8px;
width: 100%;
height: 40px;
min-height: 40px;
padding: 8px 12px;
border: 1px solid var(--line);
border-radius: 8px;
background: var(--panel);
color: var(--ink);
font-size: 14px;
font-weight: 600;
}
.socialButton:hover {
border-color: color-mix(in srgb, var(--brand-primary) 18%, var(--line));
background: var(--muted-color);
}
.socialButton:disabled {
cursor: not-allowed;
opacity: 0.55;
}
.providerIcon {
display: inline-grid;
place-items: center;
width: 24px;
height: 24px;
border: 1px solid var(--line);
border-radius: 6px;
background: color-mix(in srgb, var(--brand-background) 26%, var(--panel));
color: var(--muted);
font-size: 10px;
font-weight: 700;
line-height: 1;
}
.providerIcon img {
display: block;
width: 16px;
height: 16px;
object-fit: contain;
}
.dark .providerIcon img {
filter: invert(1);
}
.providerIconLarge {
width: 34px;
height: 34px;
}
.providerIconLarge img {
width: 18px;
height: 18px;
}
.socialButtonText {
min-width: 0;
text-align: center;
overflow: hidden;
overflow-wrap: anywhere;
text-overflow: ellipsis;
white-space: nowrap;
}
.authLinks {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
column-gap: 18px;
row-gap: 10px;
}
.authLinks a,
.authLinks button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
border: 0;
background: transparent;
color: var(--brand-primary);
font: inherit;
font-size: 13px;
font-weight: 700;
text-align: center;
text-decoration: none;
}
.authFieldLink {
justify-self: start;
margin-top: -4px;
color: var(--brand-primary);
font-size: 13px;
font-weight: 700;
text-decoration: none;
}
.authBackAction {
min-height: 32px;
border: 0;
background: transparent;
color: var(--muted-foreground);
font: inherit;
font-size: 13px;
font-weight: 700;
text-align: center;
}
.authBackAction:hover {
color: var(--brand-primary);
}
.authSignupPrompt {
margin: 0;
color: var(--muted-foreground);
font-size: 13px;
line-height: 1.45;
text-align: center;
}
.authSignupPrompt a,
.authSignupLink {
border: 0;
padding: 0;
background: transparent;
color: var(--brand-primary);
font: inherit;
font-weight: 750;
text-decoration: none;
}
.authLegalLinks {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
gap: 8px 14px;
}
.authLegalLinks a {
color: var(--muted);
font-size: 12px;
font-weight: 700;
text-decoration: none;
}
.authLegalLinks a:hover {
color: var(--brand-primary);
}
.authPoweredBy {
margin: 0;
color: var(--muted);
font-size: 12px;
text-align: right;
}
.authPageFooter {
display: flex;
width: 100%;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 14px 4px 0;
}
.accountShell {
min-height: 100dvh;
background: color-mix(in srgb, var(--brand-primary) 1.5%, var(--background));
}
.accountProductTopbar {
position: sticky;
top: 0;
z-index: 20;
display: flex;
height: 64px;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 0 22px;
border-bottom: 1px solid var(--border);
background: color-mix(in srgb, var(--background) 96%, transparent);
backdrop-filter: blur(12px);
}
.accountMobileMenu {
display: none;
}
.accountDeploymentContext {
min-height: 38px;
align-items: center;
gap: 8px;
padding: 0 12px;
border: 1px solid var(--border);
border-radius: 8px;
background: var(--background);
color: var(--muted-foreground);
font-size: 12px;
font-weight: 650;
}
.accountDeploymentContext svg {
width: 15px;
height: 15px;
color: var(--primary);
}
.accountContent {
min-width: 0;
width: min(100%, 1080px);
padding: 38px clamp(28px, 4vw, 52px) 64px;
border: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
}
.accountContent.is-settings {
width: min(100%, 960px);
}
.accountContent.is-workspace {
width: min(100%, 1240px);
}
.accountStandaloneState {
width: min(100% - 32px, 900px);
margin: 48px auto;
}
.accountHeader,
.panelHeader,
.buttonRow {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}
.accountHeader {
margin-bottom: 10px;
padding-bottom: 10px;
border-bottom: 1px solid var(--line);
}
.accountHeader h1 {
margin: 2px 0 0;
font-size: 18px;
line-height: 1.25;
}
.accountHeader .eyebrow {
margin: 0;
}
.accountGrid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
}
.accountSectionStack {
display: grid;
grid-template-columns: 320px minmax(0, 1fr);
gap: 18px;
align-items: start;
}
.accountShellLayout {
display: grid;
min-height: calc(100dvh - 64px);
grid-template-columns: 236px minmax(0, 1fr);
}
.accountSidebar {
position: sticky;
top: 64px;
display: grid;
height: calc(100dvh - 64px);
min-width: 0;
grid-template-rows: auto minmax(0, 1fr);
align-content: stretch;
padding: 28px 18px 22px;
border-right: 1px solid var(--border);
background: var(--background);
}
.accountSidebarIdentity {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 12px;
align-items: center;
padding: 0 10px 26px;
border-bottom: 1px solid var(--border);
}
.accountSidebarIdentity > div {
display: grid;
min-width: 0;
gap: 3px;
}
.accountSidebarIdentity strong,
.accountSidebarIdentity span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.accountSidebarIdentity strong {
font-size: 13px;
font-weight: 680;
}
.accountSidebarIdentity span {
color: var(--muted-foreground);
font-size: 11px;
}
.accountHero {
display: grid;
gap: 18px;
align-content: start;
padding: 22px;
border: 1px solid var(--line);
border-radius: var(--radius-xl);
background: var(--panel);
box-shadow: 0 10px 24px rgb(24 24 27 / 4%);
}
.accountHeroIdentity {
display: grid;
gap: 14px;
justify-items: start;
}
.accountHeaderAvatar {
display: grid;
width: 72px;
height: 72px;
place-items: center;
border: 1px solid color-mix(in srgb, var(--brand-primary) 16%, var(--line));
border-radius: 8px;
background: var(--panel);
color: var(--brand-primary);
object-fit: cover;
}
.accountHeaderMeta {
display: grid;
min-width: 0;
gap: 4px;
}
.accountHeaderMeta h1 {
margin: 0;
color: var(--ink);
font-size: 22px;
font-weight: 800;
line-height: 1.25;
}
.accountHeaderMeta p {
margin: 0;
color: var(--muted);
line-height: 1.4;
}
.accountSummaryStrip {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
}
.accountProfilePage {
display: grid;
min-width: 0;
}
.accountSectionStackFlat {
display: grid;
gap: 12px;
min-width: 0;
}
.accountSectionStackFlat > .accountObjectSection + .accountObjectSection {
margin-top: 0;
padding-top: 0;
border-top: 0;
}
.accountProfileSummary {
grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
align-items: center;
}
.accountProfileSummary .accountHeroIdentity {
grid-template-columns: 72px minmax(0, 1fr);
align-items: center;
}
.accountProfileDetails {
overflow: hidden;
}
.accountProfileDetails .settingsAction {
grid-template-columns: minmax(0, 1fr) auto;
padding: 18px 20px;
}
.accountProfileDetails .settingsActionMain {
grid-template-columns: 44px minmax(0, 1fr);
gap: 12px;
align-items: center;
}
.accountProfileRowAvatar {
width: 44px;
height: 44px;
border-radius: 999px;
object-fit: cover;
}
.accountProfileDetails .settingsActionIcon {
display: grid;
width: 44px;
height: 44px;
place-items: center;
border-radius: 999px;
background: var(--muted-color);
color: var(--muted-foreground);
overflow: hidden;
}
.accountNav {
display: grid;
align-content: start;
gap: 24px;
padding: 0;
border: 0;
background: transparent;
box-shadow: none;
margin-top: 24px;
}
.accountNavGroup {
display: grid;
align-content: start;
gap: 5px;
}
.accountNavGroup > p {
margin: 0 0 5px;
padding: 0 11px;
color: var(--muted-foreground);
font-size: 10px;
font-weight: 750;
letter-spacing: 0.1em;
text-transform: uppercase;
}
.accountNavItem {
display: flex;
min-height: 44px;
align-items: center;
gap: 11px;
padding: 0 12px;
border-radius: 9px;
color: var(--muted-foreground);
font-size: 13px;
font-weight: 630;
}
.accountNavItem:hover {
background: var(--soft);
color: var(--ink);
}
.accountNavItem.is-active {
background: var(--brand-primary-soft);
color: var(--brand-primary-active);
}
.organizationWorkspaceSidebar {
grid-template-rows: auto minmax(0, 1fr) auto;
padding: 18px 14px 14px;
}
.organizationWorkspacePicker {
padding-bottom: 16px;
border-bottom: 1px solid var(--border);
}
.organizationWorkspacePickerTrigger {
display: grid;
width: 100%;
min-height: 54px;
grid-template-columns: 34px minmax(0, 1fr) auto;
align-items: center;
gap: 10px;
padding: 8px;
border-radius: 9px;
color: var(--foreground);
}
.organizationWorkspacePickerTrigger:hover,
.organizationWorkspacePickerTrigger[data-state='open'] {
background: var(--soft);
}
.organizationWorkspacePickerTrigger:focus-visible {
outline: 2px solid var(--ring);
outline-offset: 2px;
}
.organizationWorkspacePickerTrigger:disabled {
cursor: wait;
opacity: 0.65;
}
.organizationWorkspacePickerTrigger strong,
.organizationWorkspacePickerTrigger small,
.organizationWorkspaceMenuItem strong,
.organizationWorkspaceMenuItem small {
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.organizationWorkspacePickerTrigger strong,
.organizationWorkspaceMenuItem strong {
font-size: 13px;
font-weight: 680;
}
.organizationWorkspacePickerTrigger small,
.organizationWorkspaceMenuItem small {
margin-top: 2px;
color: var(--muted-foreground);
font-size: 11px;
}
.organizationWorkspacePickerTrigger > svg {
width: 16px;
color: var(--muted-foreground);
}
.organizationWorkspaceMark,
.organizationWorkspaceMenuMark {
display: grid;
flex: 0 0 auto;
place-items: center;
border: 1px solid color-mix(in srgb, var(--brand-primary) 22%, var(--border));
border-radius: 8px;
background: var(--brand-primary-soft);
color: var(--brand-primary-active);
font-weight: 750;
}
.organizationWorkspaceMark {
width: 34px;
height: 34px;
font-size: 13px;
}
.organizationWorkspaceMenu {
min-width: 240px;
}
.organizationWorkspaceMenuItem {
min-height: 48px;
gap: 9px;
padding: 6px 8px;
}
.organizationWorkspaceMenuMark {
width: 30px;
height: 30px;
font-size: 11px;
}
.organizationWorkspaceNav {
min-height: 0;
margin-top: 16px;
gap: 16px;
overflow-y: auto;
overscroll-behavior: contain;
scrollbar-width: thin;
}
.organizationWorkspaceNav .accountNavItem {
min-height: 38px;
}
.organizationWorkspaceFooter {
padding-top: 10px;
border-top: 1px solid var(--border);
}
.organizationWorkspaceFooter .accountNavItem {
min-height: 40px;
}
.accountNavItem svg {
width: 17px;
height: 17px;
}
.accountPageHeader {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 20px;
margin-bottom: 26px;
}
.accountPageHeader h1 {
margin: 0 0 6px;
color: var(--ink);
font-size: 28px;
font-weight: 680;
letter-spacing: -0.04em;
line-height: 1.15;
}
.accountPageHeader p {
max-width: 640px;
margin: 0;
color: var(--muted-foreground);
font-size: 14px;
line-height: 1.5;
}
.accountRows {
min-width: 0;
}
.accountEmptyState {
display: grid;
width: 100%;
min-height: 74px;
grid-template-columns: 36px minmax(0, 1fr);
gap: 12px;
align-items: center;
margin: 0;
padding: 18px;
border: 1px solid var(--border);
border-radius: var(--radius-xl);
background: var(--panel);
box-shadow: 0 4px 14px rgb(24 24 27 / 3%);
}
.accountEmptyStateIcon {
display: grid;
width: 36px;
height: 36px;
place-items: center;
border-radius: 999px;
background: var(--muted-color);
color: var(--muted-foreground);
}
.accountEmptyStateIcon svg {
width: 17px;
height: 17px;
}
.accountEmptyState > div {
display: grid;
min-width: 0;
gap: 3px;
}
.accountEmptyState strong {
color: var(--ink);
font-size: 13px;
line-height: 1.4;
}
.accountEmptyState span:not(.accountEmptyStateIcon) {
color: var(--muted-foreground);
font-size: 12px;
line-height: 1.5;
}
.accountRows > .accountEmptyState {
padding: 18px 0;
border: 0;
border-radius: 0;
box-shadow: none;
}
.accountTabPanel > .accountEmptyState {
width: auto;
margin-inline: 18px;
padding: 18px 0;
border: 0;
border-radius: 0;
box-shadow: none;
}
.accountRow {
display: grid;
min-height: 72px;
grid-template-columns: minmax(150px, 1fr) minmax(130px, 0.75fr) minmax(88px, auto);
gap: 20px;
align-items: center;
padding: 17px 0;
border-top: 1px solid var(--border);
}
.accountRow:first-child {
border-top: 0;
}
.accountRow.is-value-empty {
grid-template-columns: minmax(150px, 1fr) minmax(88px, auto);
}
.accountRow.is-action-empty {
grid-template-columns: minmax(150px, 1fr) minmax(130px, 0.75fr);
}
.accountRow.is-value-empty.is-action-empty {
grid-template-columns: minmax(0, 1fr);
}
.accountRowLabel {
display: grid;
min-width: 0;
gap: 5px;
}
.accountRowLabel strong {
font-size: 13px;
line-height: 1.4;
}
.accountRowLabel span {
color: var(--muted-foreground);
font-size: 12px;
line-height: 1.5;
}
.accountRowValue {
min-width: 0;
overflow-wrap: anywhere;
color: var(--muted-foreground);
font-size: 12px;
line-height: 1.55;
}
.accountRowValue code {
font-size: 12px;
white-space: normal;
}
.accountRowAction {
display: flex;
min-width: 0;
align-items: center;
justify-content: flex-end;
}
.providerLabel {
display: grid;
min-width: 0;
grid-template-columns: auto minmax(0, 1fr);
gap: 12px;
align-items: center;
}
.providerLabelText {
display: grid;
min-width: 0;
gap: 2px;
}
.providerLabelName,
.providerLabelDetail {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.providerLabelDetail {
color: var(--muted-foreground);
font-size: 12px;
font-weight: 400;
line-height: 1.4;
}
.accountObjectSection {
min-width: 0;
}
.accountObjectSection + .accountObjectSection {
margin-top: 38px;
padding-top: 32px;
border-top: 1px solid var(--line-strong);
}
.accountObjectSection > header {
margin-bottom: 10px;
}
.accountObjectSection > header h2 {
margin: 0 0 5px;
font-size: 18px;
font-weight: 650;
line-height: 1.3;
}
.accountObjectSection > header h2:last-child {
margin-bottom: 0;
}
.accountObjectSection > header p {
margin: 0;
color: var(--muted-foreground);
font-size: 12px;
line-height: 1.55;
}
.accountObjectSection.is-surface {
overflow: hidden;
border: 1px solid var(--line);
border-radius: var(--radius-xl);
background: var(--panel);
box-shadow: 0 4px 14px rgb(24 24 27 / 3%);
}
.accountObjectSection.is-surface > header,
.accountTabPanel > .accountObjectSection > header {
margin: 0;
padding: 15px 18px 13px;
border-bottom: 1px solid var(--line);
}
.accountObjectSection.is-surface > header h2,
.accountTabPanel > .accountObjectSection > header h2 {
font-size: 14px;
}
.accountObjectSection.is-surface > .accountRows,
.accountTabPanel > .accountObjectSection > .accountRows {
padding: 0 18px 10px;
}
.accountObjectSection.is-surface > .text-sm,
.accountTabPanel > .accountObjectSection > .text-sm {
margin: 0;
padding: 18px;
}
.accountMetricGrid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
margin-bottom: 12px;
}
.accountMetric {
min-height: 112px;
padding: 16px;
border: 1px solid var(--border);
border-radius: 12px;
background: var(--background);
box-shadow: 0 1px 3px rgb(20 32 34 / 4%);
}
.accountMetric span,
.accountMetric small {
color: var(--muted-foreground);
font-size: 12px;
}
.accountMetric strong {
display: block;
margin: 10px 0 8px;
font-size: 24px;
letter-spacing: -0.04em;
}
.accountOverviewFlow {
display: grid;
gap: 12px;
}
.accountEntityList {
display: grid;
gap: 12px;
}
.accountObjectSection + .accountEntityList {
margin-top: 12px;
}
.accountOverviewFlow .accountObjectSection + .accountObjectSection,
.accountEntityList .accountObjectSection + .accountObjectSection {
margin-top: 0;
padding-top: 0;
border-top: 0;
}
.accountBackLink {
display: inline-flex;
margin-bottom: 18px;
color: var(--primary);
font-size: 13px;
font-weight: 650;
}
.accountRows.itemList {
padding: 0 18px 10px;
}
.settingsPanel + .settingsPanel .accountRow:first-child {
border-top: 1px solid var(--border);
}
.statusPill {
display: grid;
gap: 2px;
min-width: 0;
padding: 10px;
border: 1px solid var(--line);
border-radius: 8px;
background: var(--soft);
}
.statusPill span {
color: var(--muted-foreground);
font-size: 11px;
font-weight: 700;
line-height: 1.2;
text-transform: uppercase;
}
.statusPill strong {
color: var(--ink);
font-size: 13px;
line-height: 1.25;
}
.accountPanelGroup {
display: grid;
align-content: start;
gap: 0;
min-width: 0;
padding: 0;
border: 1px solid var(--line);
border-radius: var(--radius-xl);
background: var(--panel);
box-shadow: 0 8px 20px rgb(24 24 27 / 3%);
overflow: hidden;
}
.accountDashboardGrid {
display: grid;
grid-template-columns: 1fr;
gap: 16px;
align-items: start;
}
.accountPanelHeader {
padding: 16px 18px 14px;
border-bottom: 1px solid var(--line);
background: var(--soft);
}
.accountContent .settingsPanel {
display: grid;
min-width: 0;
border: 0;
border-radius: 0;
background: transparent;
}
.settingsAction {
padding: 13px 0;
background: var(--panel);
}
.settingsAction strong {
display: block;
margin-bottom: 3px;
color: var(--ink);
font-size: 13px;
line-height: 1.4;
}
.settingsAction .uiButton {
white-space: nowrap;
}
.settingsActionButtons {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
gap: 8px;
max-width: min(100%, 520px);
}
.accountPanelActions {
display: flex;
justify-content: flex-end;
padding: 0 18px 18px;
}
.accountTabPanel {
overflow: hidden;
border: 1px solid var(--line);
border-radius: var(--radius-xl);
background: var(--panel);
box-shadow: 0 4px 14px rgb(24 24 27 / 3%);
}
.accountSignInStack {
display: grid;
gap: 12px;
}
.accountTabPanel > .accountRows {
padding-inline: 18px;
}
.accountTabPanel > .text-sm {
margin: 0;
padding: 18px;
}
.accountTabBody {
display: grid;
gap: 14px;
padding: 16px 18px 18px;
}
.accountTabToolbar {
display: flex;
justify-content: flex-end;
}
.accountSectionStack {
display: grid;
}
.accountSectionStack .accountObjectSection {
padding: 16px 18px 18px;
}
.accountSectionStack .accountObjectSection + .accountObjectSection {
margin: 0;
padding-top: 18px;
border-top: 1px solid var(--line);
}
.accountContent .accountRowAction .uiButton {
min-height: 34px;
padding-inline: 10px;
font-size: 13px;
}
.accountTabPanel > .settingsPanel .settingsAction {
padding-inline: 18px;
}
.accountTabPanel > .settingsPanel + .settingsPanel {
border-top: 1px solid var(--line);
}
.accountTabPanel > .settingsPanel .subsectionTitle:first-child {
border-top: 0;
}
.panelTitle {
display: flex;
justify-content: space-between;
gap: 16px;
align-items: flex-start;
min-width: 0;
}
.panelTitleMain {
display: flex;
gap: 12px;
align-items: flex-start;
min-width: 0;
}
.panelTitleIcon {
display: grid;
width: 36px;
height: 36px;
flex: 0 0 auto;
place-items: center;
border: 1px solid color-mix(in srgb, var(--brand-primary) 18%, var(--line));
border-radius: 8px;
background: var(--panel);
color: var(--brand-primary);
}
.panelTitle h2 {
margin: 0 0 3px;
font-size: 18px;
font-weight: 750;
line-height: 1.25;
}
.panelTitle p {
margin: 0;
color: var(--muted);
font-size: 13px;
line-height: 1.45;
}
.panelHeader .panelTitle {
margin-bottom: 0;
}
.settingsBody {
display: grid;
gap: 0;
padding: 0;
}
.accountContent .itemRow {
display: grid;
grid-template-columns: minmax(0, 1fr) auto auto;
gap: 12px;
align-items: center;
padding: 13px 0;
border: 0;
border-top: 1px solid var(--line);
border-radius: 0;
background: transparent;
}
.accountContent .itemRow .uiButton {
min-height: 34px;
padding: 0 10px;
font-size: 13px;
}
.accountContent .itemRowEmpty {
grid-template-columns: 1fr;
min-height: 116px;
place-items: center;
padding-block: 22px;
text-align: center;
}
.accountContent .itemRowEmpty .accountRowLabel {
max-width: 440px;
justify-items: center;
gap: 6px;
}
.accountContent .itemRowEmpty.is-compact {
min-height: 0;
place-items: stretch;
padding-block: 14px 18px;
text-align: left;
}
.accountContent .itemRowEmpty.is-compact .accountRowLabel {
max-width: none;
grid-template-columns: 36px minmax(0, 1fr);
justify-items: stretch;
gap: 2px 12px;
}
.accountContent .itemRowEmpty.is-compact .accountEmptyIcon {
grid-row: 1 / 3;
margin: 0;
}
.accountContent .itemRowEmpty.is-compact .accountRowLabel > :not(.accountEmptyIcon) {
grid-column: 2;
}
.accountContent .itemRowEmpty .accountRowLabel strong {
color: var(--ink);
font-weight: 650;
}
.accountEmptyIcon {
display: grid;
width: 36px;
height: 36px;
place-items: center;
margin-bottom: 2px;
border-radius: 999px;
background: var(--muted-color);
color: var(--muted-foreground);
}
.accountEmptyIcon svg {
width: 17px;
height: 17px;
}
.itemRowMain {
display: grid;
grid-template-columns: 34px minmax(0, 1fr);
gap: 10px;
align-items: center;
min-width: 0;
}
.itemRowMain.withoutIcon {
grid-template-columns: minmax(0, 1fr);
}
.itemRowCopy {
display: grid;
min-width: 0;
gap: 4px;
}
.itemRowIcon {
display: grid;
width: 34px;
height: 34px;
place-items: center;
border: 1px solid var(--line);
border-radius: 8px;
background: var(--panel);
color: var(--brand-primary);
}
.itemRowTitle {
display: flex;
flex-wrap: wrap;
gap: 8px;
align-items: center;
}
.itemRowTitle span {
display: inline-flex;
min-height: 22px;
align-items: center;
padding: 0 8px;
border: 1px solid color-mix(in srgb, var(--brand-primary) 18%, var(--line));
border-radius: 999px;
background: color-mix(in srgb, var(--brand-primary) 7%, var(--panel));
color: var(--brand-primary);
font-size: 11px;
font-weight: 750;
line-height: 1;
}
.itemList {
display: grid;
gap: 0;
padding: 0 20px 12px;
}
.subsectionTitle {
display: grid;
gap: 4px;
padding: 16px 20px 9px;
border-top: 1px solid var(--line);
background: transparent;
}
.subsectionTitle h3 {
margin: 0;
color: var(--ink);
font-size: 13px;
font-weight: 680;
line-height: 1.3;
}
.subsectionTitle p {
margin: 0;
color: var(--muted);
font-size: 12px;
line-height: 1.45;
}
.subsectionTitle + .itemList {
padding-top: 4px;
}
.dialogFormBody {
padding: 16px 0;
}
.consoleToolbar {
gap: 8px;
}
.consoleToolbar.rounded-lg {
border-radius: var(--radius-xl);
}
.consoleToolbar .textInput {
width: min(100%, 320px);
min-height: 40px;
padding-block: 8px;
}
.consoleListToolbar {
padding: 0;
}
.consoleDataTableToolbar {
display: block;
padding: 12px 14px;
background: var(--card);
}
.consoleDataTableToolbar .consoleListToolbar {
width: 100%;
}
.consoleDataTableToolbar [data-slot='input'] {
width: 280px;
}
.consoleDataTablePanel [data-slot='table-header'] {
background: var(--muted-color);
}
.consoleResourceFrame,
.consoleMetricCard,
.consoleChartPanel,
.consoleActivityCard {
border-radius: var(--radius-xl);
}
.consoleResourceFrame th {
height: 43px;
padding-inline: 14px;
}
.consoleResourceFrame td {
height: 62px;
padding: 9px 14px;
}
.consoleMetricCard {
min-height: 128px;
}
.consoleDashboardGrid {
display: grid;
grid-template-columns: minmax(0, 1.45fr) minmax(290px, 0.8fr);
gap: 12px;
}
.consoleAreaChart {
position: relative;
height: 250px;
overflow: hidden;
border-bottom: 1px solid var(--line);
background: repeating-linear-gradient(to bottom, transparent 0, transparent 61px, var(--line) 62px);
}
.consoleAreaChart svg {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
}
.consoleAreaChart .area {
fill: color-mix(in srgb, var(--brand-primary) 10%, transparent);
}
.consoleAreaChart .line {
fill: none;
stroke: var(--brand-primary);
stroke-width: 2.4;
vector-effect: non-scaling-stroke;
}
.consoleAttentionRow {
display: grid;
min-height: 66px;
grid-template-columns: 34px minmax(0, 1fr) auto;
gap: 10px;
align-items: center;
padding: 10px 16px;
border-top: 1px solid var(--line);
}
.consoleAttentionRow:first-child {
border-top: 0;
}
.consoleAttentionRow > div {
display: grid;
gap: 3px;
}
.consoleAttentionRow strong {
font-size: 12px;
}
.consoleAttentionRow span {
color: var(--muted);
font-size: 11px;
}
.consoleAttentionIcon {
display: grid;
width: 32px;
height: 32px;
place-items: center;
border-radius: 8px;
background: var(--brand-primary-soft);
color: var(--brand-primary);
}
.consoleDashboardStatusRow {
display: flex;
min-height: 66px;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 10px 16px;
border-top: 1px solid var(--line);
}
.consoleDashboardStatusRow:first-child {
border-top: 0;
}
.consoleDashboardStatusRow > div,
.consoleDashboardClearState > div {
display: grid;
min-width: 0;
gap: 3px;
}
.consoleDashboardStatusRow strong,
.consoleDashboardClearState strong {
font-size: 12px;
}
.consoleDashboardStatusRow span,
.consoleDashboardClearState span {
color: var(--muted);
font-size: 11px;
}
.consoleDashboardClearState {
display: grid;
min-height: 112px;
grid-template-columns: 34px minmax(0, 1fr);
align-items: center;
gap: 10px;
padding: 18px 16px;
}
.consoleDashboardClearState > svg {
width: 20px;
color: var(--brand-primary);
}
.consoleAttentionIcon svg {
width: 15px;
height: 15px;
}
.consoleChartPanel {
min-height: 420px;
}
.consoleChartCanvas {
position: relative;
min-height: 208px;
padding: 22px 0 24px;
}
@media (min-width: 1120px) {
.consoleContent:has(.consoleResourcePageWithAside) {
display: grid;
max-width: none;
grid-template-columns: minmax(0, 1fr) clamp(340px, 30vw, 420px);
grid-template-rows: auto minmax(0, 1fr);
column-gap: 16px;
height: 100%;
margin: 0;
padding: 28px 0 24px
calc(max(0px, (100vw - 1410px) / 2) + clamp(24px, 4vw, 58px));
}
.consoleContent:has(.consoleResourcePageWithAside) .consoleBreadcrumbs {
grid-column: 1;
grid-row: 1;
}
.consoleContent:has(.consoleResourcePageWithAside) .consolePage {
display: contents;
}
.consoleResourcePageWithAside {
display: contents;
}
.consoleResourcePageMain {
grid-column: 1;
grid-row: 2;
min-height: 0;
overflow: hidden;
}
.consoleResourcePageMain > [data-slot='tabs'] {
min-height: 0;
flex: 1;
overflow: hidden;
}
.signInExperienceSettings {
min-height: 0;
flex: 1;
overflow-x: hidden;
overflow-y: auto;
overscroll-behavior: contain;
padding-right: 12px;
scrollbar-gutter: stable;
}
.signInExperienceSettings .settingsFormField {
grid-template-columns: minmax(150px, 0.8fr) minmax(220px, 1.2fr);
gap: 16px;
}
.signInRegistrationForm .settingsFormField {
min-height: 60px;
grid-template-columns: minmax(0, 0.95fr) minmax(220px, 1.05fr);
padding-block: 10px;
}
.signInRegistrationForm > section + section {
margin-top: 20px;
}
.signInRegistrationForm > section > header {
margin-bottom: 10px;
}
.signInRegistrationForm > footer {
margin-top: 16px;
padding-top: 12px;
}
.signInExperiencePreviewPanel {
grid-column: 2;
grid-row: 1 / -1;
height: 100%;
min-height: 0;
align-self: start;
overflow-y: auto;
overscroll-behavior: contain;
scrollbar-gutter: stable;
}
}
.consoleChartAxis {
height: 1px;
margin-bottom: 31px;
background: var(--line);
}
.consoleChartLine {
position: absolute;
right: 0;
bottom: 40px;
left: 40px;
height: 2px;
background: var(--brand-primary);
}
.consoleChartLabels {
position: absolute;
right: 0;
bottom: 0;
left: 40px;
display: flex;
justify-content: space-between;
color: var(--muted);
font-size: 11px;
line-height: 1;
}
.consoleActivityCard {
min-height: 130px;
padding: 24px;
border: 1px solid var(--line);
background: var(--surface);
}
.consoleDetailStack {
gap: 16px;
}
.applicationSettingsStack {
display: grid;
gap: 12px;
}
.applicationSettingsPanel {
border-radius: var(--radius-xl);
box-shadow: none;
}
.applicationSettingsPanel > div:first-child {
padding-block: 14px;
}
.applicationSettingsPanel > div:last-child {
padding-block: 14px;
}
.applicationCreateForm {
gap: 12px;
}
.applicationTypeGrid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 8px;
margin: 0;
padding: 0;
border: 0;
}
.applicationTypeGrid legend {
margin-bottom: 6px;
color: var(--ink);
font-size: 14px;
font-weight: 600;
}
.applicationTypeCard {
display: grid;
grid-template-columns: 32px minmax(0, 1fr);
gap: 9px;
min-height: 92px;
padding: 10px;
border: 1px solid var(--line);
border-radius: var(--radius-lg);
background: var(--panel);
color: var(--ink);
text-align: left;
}
.applicationTypeCard:hover,
.applicationTypeCard.selected {
border-color: color-mix(in srgb, var(--brand-primary) 42%, var(--line));
background: color-mix(in srgb, var(--brand-primary) 7%, var(--panel));
}
.applicationTypeIcon {
display: grid;
width: 32px;
height: 32px;
place-items: center;
border-radius: 8px;
background: var(--muted-color);
color: var(--brand-primary);
}
.applicationTypeCard strong,
.applicationTypeCard small {
display: block;
}
.applicationTypeCard strong {
margin-bottom: 4px;
font-size: 13px;
line-height: 1.3;
}
.applicationTypeCard small {
color: var(--muted);
font-size: 12px;
font-weight: 400;
line-height: 1.35;
}
.consoleBackLink {
display: none;
align-items: center;
gap: 8px;
width: max-content;
color: var(--muted);
font-size: 14px;
font-weight: 700;
}
.consoleBackLink:hover {
color: var(--ink);
}
.consoleDetailHeader {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 24px;
margin-bottom: 4px;
}
.consoleDetailHeader h1 {
margin: 0;
font-size: 30px;
font-weight: 670;
letter-spacing: -0.04em;
line-height: 1.15;
}
.consoleDetailHeader p {
max-width: 680px;
margin: 8px 0 0;
color: var(--muted);
font-size: 13px;
line-height: 1.6;
}
.consoleDetailMeta {
display: block;
max-width: 720px;
margin-top: 6px;
overflow: hidden;
color: var(--muted);
font-family: ui-monospace, 'SFMono-Regular', Consolas, monospace;
font-size: 11px;
text-overflow: ellipsis;
white-space: nowrap;
}
.detailFlatRows {
min-width: 0;
}
.detailSections {
display: grid;
gap: 28px;
}
.detailSection {
min-width: 0;
}
.detailSection > header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 20px;
padding-bottom: 10px;
border-bottom: 1px solid var(--line);
}
.detailSection > header h2 {
margin: 0;
font-size: 15px;
font-weight: 650;
letter-spacing: -0.015em;
}
.detailSection > header p {
max-width: 680px;
margin: 4px 0 0;
color: var(--muted);
font-size: 12px;
line-height: 1.55;
}
.themePickerGrid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.themeChoice {
display: grid;
grid-template-columns: auto 1fr auto;
gap: 14px;
align-items: center;
width: 100%;
min-height: 64px;
padding: 10px 12px;
border: 1px solid var(--line);
border-radius: 10px;
background: var(--surface);
color: var(--ink);
text-align: left;
}
.themeChoice:hover,
.themeChoice[data-selected='true'] {
border-color: var(--brand);
}
.themeChoice[data-selected='true'] {
box-shadow: 0 0 0 2px var(--brand-soft);
}
.themeChoice > span:nth-child(2) {
display: grid;
gap: 2px;
}
.themeChoice strong {
font-size: 13px;
}
.themeChoice small {
color: var(--muted);
font-size: 11px;
}
.themeSwatches {
display: flex;
gap: 3px;
}
.themeSwatches i {
width: 12px;
height: 24px;
border: 1px solid color-mix(in srgb, var(--foreground) 10%, transparent);
border-radius: 3px;
}
.detailFlatRow {
display: grid;
min-height: 64px;
grid-template-columns: minmax(180px, 0.9fr) minmax(220px, 1.4fr) 156px;
gap: 18px;
align-items: start;
padding: 15px 0;
border-top: 1px solid var(--line);
}
.detailFlatRow:first-child {
border-top: 0;
}
.detailFlatRow > div {
display: grid;
gap: 4px;
}
.detailFlatRow strong {
font-size: 13px;
}
.detailFlatRow > div span,
.detailFlatRow > span {
color: var(--muted);
font-size: 12px;
line-height: 1.55;
}
.detailFlatRow > [data-slot='button'] {
justify-self: end;
}
.objectHeader {
display: flex;
align-items: flex-start;
gap: 16px;
padding: 16px;
border: 1px solid var(--line);
border-radius: var(--radius-xl);
background: var(--surface);
}
.objectAvatar {
display: grid;
flex: 0 0 42px;
width: 42px;
height: 42px;
place-items: center;
border: 1px solid var(--line);
border-radius: 8px;
background: var(--soft);
color: var(--ink);
font-size: 16px;
font-weight: 800;
}
.stickyActionBar {
position: sticky;
bottom: 0;
z-index: 5;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-end;
gap: 8px;
margin: 8px -20px -20px;
padding: 12px 20px;
border-top: 1px solid var(--line);
background: color-mix(in srgb, var(--surface) 94%, transparent);
backdrop-filter: blur(8px);
}
.setupPanel {
display: grid;
gap: 10px;
margin-top: 16px;
padding: 14px;
border: 1px solid var(--line);
border-radius: var(--radius-xl);
background: var(--soft);
}
.setupPanel h3,
.setupPanel p {
margin: 0;
}
.setupPanel p {
display: grid;
gap: 4px;
color: var(--muted);
line-height: 1.5;
}
.setupPanel > div {
display: grid;
gap: 6px;
color: var(--muted);
line-height: 1.5;
}
.setupPanel code {
overflow-wrap: anywhere;
color: var(--ink);
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
font-size: 13px;
}
.backupCodeGrid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
gap: 6px;
}
.backupCodeGrid code {
padding: 6px 8px;
border: 1px solid var(--line);
border-radius: 6px;
background: var(--panel);
}
.setupQr {
width: 168px;
max-width: 100%;
border-radius: 8px;
}
.itemRow {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 12px;
border: 1px solid var(--line);
border-radius: var(--radius-xl);
background: var(--panel);
}
.itemRow > div {
min-width: 0;
}
.itemRow h3 {
margin: 0 0 4px;
font-size: 15px;
}
.itemRow p,
.emptyState {
margin: 0;
color: var(--muted);
line-height: 1.5;
}
.consentPage {
position: relative;
min-height: 100dvh;
padding: 32px 20px 48px;
background:
radial-gradient(circle at 50% -10rem, color-mix(in srgb, var(--brand-primary) 11%, transparent), transparent 36rem),
color-mix(in srgb, var(--brand-background) 24%, var(--soft));
}
.consentPage > .brand {
justify-content: center;
gap: 9px;
width: min(100%, 660px);
margin: 0 auto 22px;
color: var(--foreground);
font-size: 14px;
letter-spacing: -0.015em;
}
.consentPage > .brand .brandMark,
.consentPage > .brand .brandLogo {
width: 28px;
height: 28px;
}
.consentFrame {
width: min(100%, 660px);
margin: 0 auto;
}
.consentCard {
overflow: hidden;
border: 1px solid var(--line);
border-radius: 24px;
background: var(--panel);
box-shadow: 0 30px 80px rgb(24 58 53 / 10%), 0 2px 7px rgb(24 58 53 / 4%);
}
.consentContext {
padding: 32px 40px 0;
}
.consentApplication {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.consentApplicationMark {
display: grid;
width: 60px;
height: 60px;
place-items: center;
margin-bottom: 12px;
overflow: hidden;
border: 1px solid var(--line);
border-radius: 18px;
background: var(--panel);
box-shadow: 0 7px 20px rgb(34 54 50 / 9%);
}
.consentApplicationLogo,
.consentApplicationFallback {
width: 46px;
height: 46px;
border-radius: 14px;
}
.consentApplicationLogo {
object-fit: cover;
}
.consentApplicationFallback {
display: grid;
place-items: center;
background: color-mix(in srgb, var(--brand-primary) 12%, var(--panel));
color: var(--brand-primary);
font-size: 22px;
font-weight: 800;
}
.consentApplicationIdentity {
width: min(100%, 430px);
min-width: 0;
}
.consentApplicationIdentity h1 {
display: -webkit-box;
max-width: 100%;
margin: 0;
overflow: hidden;
color: var(--ink);
font-size: 22px;
font-weight: 760;
line-height: 1.28;
letter-spacing: -0.025em;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
.consentApplicationOrigin {
display: flex;
max-width: 100%;
align-items: center;
justify-content: center;
gap: 4px;
margin-top: 4px;
overflow: hidden;
color: var(--muted);
font-size: 12px;
font-weight: 550;
}
.consentApplicationOrigin svg {
width: 14px;
height: 14px;
flex: 0 0 auto;
}
.consentApplicationOrigin span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.consentRequestSummary {
max-width: 430px;
margin: 13px 0 0;
color: var(--muted);
font-size: 14px;
line-height: 1.5;
}
.consentAccount {
display: flex;
align-items: center;
gap: 12px;
margin-top: 20px;
padding: 12px 13px;
border: 1px solid var(--line);
border-radius: 15px;
background: var(--soft);
}
.consentAccount img,
.consentAvatarFallback {
width: 40px;
height: 40px;
border: 1px solid var(--line);
border-radius: 999px;
}
.consentAccount img {
object-fit: cover;
}
.consentAvatarFallback {
display: grid;
flex: 0 0 auto;
place-items: center;
color: var(--muted);
background: var(--panel);
}
.consentAccount > div {
display: grid;
min-width: 0;
flex: 1;
}
.consentAccount > div > span,
.consentAccount > div > small {
overflow: hidden;
color: var(--muted);
font-size: 11px;
line-height: 1.35;
text-overflow: ellipsis;
white-space: nowrap;
}
.consentAccount strong {
overflow: hidden;
margin-top: 1px;
color: var(--ink);
font-size: 13px;
text-overflow: ellipsis;
white-space: nowrap;
}
.consentSwitchButton {
width: auto !important;
min-height: 40px;
margin-left: auto;
padding-inline: 12px;
color: var(--brand-primary);
font-size: 12px;
font-weight: 750;
white-space: nowrap;
}
.consentDecisionBody {
padding: 18px 40px 20px;
}
.consentResourceAuthorizations {
display: grid;
gap: 18px;
}
.consentResourceAuthorizationHeader h2 {
margin: 0;
color: var(--ink);
font-size: 16px;
font-weight: 750;
letter-spacing: -0.015em;
}
.consentResourceAuthorizationHeader small {
display: block;
overflow: hidden;
margin-top: 3px;
color: var(--muted);
font-size: 11px;
text-overflow: ellipsis;
white-space: nowrap;
}
.consentPermissions {
min-width: 0;
padding-top: 18px;
border-top: 1px solid var(--line);
}
.consentPermissionsHeader {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
margin-bottom: 9px;
}
.consentPermissionsHeader h3 {
margin: 0;
color: var(--ink);
font-size: 16px;
font-weight: 700;
letter-spacing: -0.015em;
}
.consentPermissionsHeader > span {
flex: 0 0 auto;
padding: 4px 8px;
border-radius: 999px;
background: color-mix(in srgb, var(--brand-primary) 8%, var(--panel));
color: var(--brand-primary);
font-size: 11px;
font-weight: 750;
}
.consentPermissionsIntro {
margin: -2px 0 10px;
color: var(--muted);
font-size: 11px;
line-height: 1.45;
}
.consentPermissionTable {
max-height: 210px;
margin: 0;
padding: 0;
overflow: hidden auto;
overscroll-behavior: contain;
border: 1px solid var(--line);
border-radius: 15px;
background: var(--panel);
scrollbar-color: transparent transparent;
scrollbar-width: thin;
list-style: none;
}
.consentPermissionTable:hover {
scrollbar-color: color-mix(in srgb, var(--muted) 55%, transparent) transparent;
}
.consentPermissionTable::-webkit-scrollbar {
width: 8px;
}
.consentPermissionTable::-webkit-scrollbar-track {
background: transparent;
}
.consentPermissionTable::-webkit-scrollbar-thumb {
border: 2px solid transparent;
border-radius: 999px;
background: transparent;
background-clip: padding-box;
}
.consentPermissionTable:hover::-webkit-scrollbar-thumb {
background-color: color-mix(in srgb, var(--muted) 55%, transparent);
}
.consentPermissionRow {
display: grid;
grid-template-columns: minmax(145px, 178px) minmax(0, 1fr);
min-width: 0;
border-top: 1px solid var(--line);
}
.consentPermissionRow:first-child {
border-top: 0;
}
.consentPermissionRow code,
.consentPermissionRow > span {
display: flex;
min-width: 0;
align-items: center;
padding: 10px 14px;
line-height: 1.4;
}
.consentPermissionRow code {
border-right: 1px solid var(--line);
background: color-mix(in srgb, var(--brand-primary) 2.5%, var(--soft));
color: var(--brand-primary);
overflow-wrap: anywhere;
font-size: 10px;
font-weight: 650;
}
.consentPermissionRow > span {
color: var(--foreground);
font-size: 11px;
font-weight: 550;
}
.consentExistingAccess {
margin-top: 12px;
overflow: hidden;
border: 1px solid var(--line);
border-radius: 13px;
background: var(--soft);
}
.consentExistingAccess summary {
display: flex;
min-height: 44px;
align-items: center;
gap: 10px;
padding: 0 14px;
color: var(--muted-foreground);
cursor: pointer;
font-size: 12px;
font-weight: 700;
list-style: none;
}
.consentExistingAccess summary::-webkit-details-marker {
display: none;
}
.consentExistingAccess summary svg {
width: 16px;
height: 16px;
transition: transform 160ms ease;
}
.consentExistingAccess[open] summary svg {
transform: rotate(90deg);
}
.consentExistingAccess summary span {
flex: 1;
}
.consentExistingAccess summary small {
color: var(--muted);
font-size: 11px;
font-weight: 550;
}
.consentExistingAccess .consentPermissionTable {
max-height: 170px;
border: 0;
border-top: 1px solid var(--line);
border-radius: 0;
}
.consentControlNote {
display: flex;
align-items: flex-start;
gap: 9px;
margin: 18px 2px 0;
color: var(--muted);
font-size: 11px;
line-height: 1.5;
}
.consentControlNote svg {
width: 15px;
height: 15px;
flex: 0 0 auto;
margin-top: 1px;
}
.consentActions {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 10px;
padding: 18px 40px;
border-top: 1px solid var(--line);
background: var(--soft);
}
.consentActions .uiButton-secondary,
.consentActions [data-slot='button'] {
width: auto;
min-height: 44px;
padding-inline: 21px;
border-radius: 11px;
font-size: 13px;
font-weight: 750;
transition:
background 160ms ease,
border-color 160ms ease,
color 160ms ease;
}
.consentActions [data-variant='default'] {
min-width: 178px;
border-color: var(--brand-primary);
background: var(--brand-primary);
color: #ffffff;
box-shadow: 0 6px 16px color-mix(in srgb, var(--brand-primary) 17%, transparent);
}
.consentActions [data-variant='default']:hover {
border-color: var(--brand-primary-active);
background: var(--brand-primary-active);
}
.consentActions [data-variant='ghost'] {
color: var(--muted-foreground);
}
.consentActions [data-variant='ghost']:hover {
background: color-mix(in srgb, var(--muted) 12%, var(--panel));
color: var(--foreground);
}
.consentFooter {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
gap: 6px;
margin: 14px auto 0;
color: var(--muted);
font-size: 11px;
text-align: center;
}
.consentFooterLink {
display: inline-flex;
align-items: center;
gap: 6px;
}
.consentFooter a {
color: var(--muted-foreground);
font-size: 11px;
font-weight: 500;
text-decoration: underline;
text-underline-offset: 3px;
}
@media (max-width: 720px) {
.consentPage {
padding: 24px 16px 32px;
}
.consentPage > .brand {
margin-bottom: 18px;
}
.consentContext,
.consentDecisionBody,
.consentActions {
padding-inline: 28px;
}
.consentPermissionRow {
grid-template-columns: minmax(124px, 150px) minmax(0, 1fr);
}
}
@media (max-width: 560px) {
.consentPage {
min-height: 100dvh;
padding: 0;
background: var(--panel);
}
.consentPage > .brand {
justify-content: flex-start;
margin: 0;
padding: max(18px, env(safe-area-inset-top)) 20px 0;
}
.consentFrame {
width: 100%;
margin: 0;
}
.consentCard {
border: 0;
border-radius: 0;
box-shadow: none;
}
.consentContext {
padding: 22px 20px 0;
}
.consentApplicationMark {
width: 52px;
height: 52px;
margin-bottom: 10px;
border-radius: 15px;
}
.consentApplicationIdentity h1 {
font-size: 20px;
}
.consentDecisionBody {
padding: 16px 20px 18px;
}
.consentAccount {
padding: 11px 12px;
}
.consentAccount small {
display: block;
}
.consentSwitchButton {
min-width: 64px;
min-height: 44px;
}
.consentPermissions {
padding-top: 16px;
}
.consentPermissionTable {
max-height: min(210px, 32dvh);
}
.consentPermissionRow {
grid-template-columns: minmax(108px, 36%) minmax(0, 1fr);
}
.consentPermissionRow code,
.consentPermissionRow > span {
padding: 10px;
}
.consentExistingAccess summary {
padding-inline: 12px;
}
.consentExistingAccess summary small {
white-space: nowrap;
}
.consentActions {
position: sticky;
bottom: 0;
z-index: 10;
display: grid;
grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.4fr);
padding: 13px 20px max(13px, env(safe-area-inset-bottom));
box-shadow: 0 -8px 24px rgb(29 58 54 / 7%);
}
.consentActions [data-slot='button'],
.consentActions [data-variant='default'] {
width: 100%;
min-width: 0;
padding-inline: 10px;
}
.consentFooter {
display: none;
}
}
@media (max-width: 460px) {
.consentPermissionRow {
grid-template-columns: minmax(0, 1fr);
}
.consentPermissionRow code {
border-right: 0;
border-bottom: 1px solid var(--line);
}
.consentPermissionRow code,
.consentPermissionRow > span {
padding: 8px 12px;
}
}
@media (max-width: 900px) and (max-height: 560px) {
.consentPage {
padding-top: 16px;
}
.consentPage > .brand {
margin-bottom: 12px;
}
.consentContext {
padding-top: 20px;
}
.consentApplicationMark {
width: 48px;
height: 48px;
margin-bottom: 8px;
}
.consentApplicationIdentity h1 {
font-size: 19px;
}
.consentAccount {
margin-top: 14px;
}
.consentDecisionBody {
padding-top: 14px;
}
}
.spin {
animation: spin 900ms linear infinite;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
@media (max-width: 860px) {
.consoleTopbar,
.consoleBody,
.consoleMain {
width: 100%;
}
.consoleTopbar {
grid-template-columns: minmax(0, 1fr) auto;
}
.consoleTopbarBrand {
padding-inline: 16px;
border-right: 0;
background: transparent;
}
.consoleTopbarActions {
padding-inline: 16px;
}
.consoleContent {
min-width: 0;
gap: 16px;
padding: 16px;
}
.consoleBackLink {
display: inline-flex;
}
.consoleDetailHeader > div {
min-width: 0;
}
.consoleDetailMeta {
overflow-wrap: anywhere;
white-space: normal;
}
.detailFlatRow {
grid-template-columns: minmax(112px, 0.8fr) minmax(0, 1.2fr) auto;
gap: 12px;
}
.detailFlatRow > span,
.detailFlatRow code {
min-width: 0;
overflow-wrap: anywhere;
}
.consoleDashboardGrid {
grid-template-columns: minmax(0, 1fr);
}
.accountShell {
grid-template-columns: 1fr;
}
.authShell {
padding: 52px 16px 22px;
}
.authBackLink {
top: 14px;
left: 14px;
}
.consolePreferences {
display: inline-flex;
}
.authPanel {
width: min(100%, 400px);
}
.authPanel-split {
grid-template-columns: minmax(0, 1fr);
}
.authPanel-split .authBrandPanel {
min-height: auto;
padding: 28px;
border-right: 0;
border-bottom: 1px solid var(--line);
}
.authPanel-split .authContent {
padding: 28px;
}
.accountShell {
padding: 0;
}
.accountSectionStack {
grid-template-columns: 1fr;
gap: 12px;
}
.accountShellLayout {
grid-template-columns: 1fr;
gap: 0;
}
.accountSidebar {
display: none;
}
.accountMobileMenu {
display: inline-flex;
}
.accountMobileNavSheet .accountSidebar {
position: static;
display: grid;
min-height: 100%;
height: auto;
padding: 20px 16px;
border: 0;
}
.accountMobileNavSheet .accountNav {
grid-template-columns: 1fr;
}
.accountContent {
width: 100%;
padding: 38px 24px 64px;
}
.accountProfileSummary {
grid-template-columns: 1fr;
}
.accountGrid,
.accountDashboardGrid,
.accountMetricGrid,
.applicationTypeGrid,
.featureGrid {
grid-template-columns: 1fr;
}
}
@media (max-width: 560px) {
.realmrootWordmarkContext {
display: none;
}
[data-slot='table']:has([data-empty-state='true']) {
width: 100%;
min-width: 100%;
}
[data-slot='table']:has([data-empty-state='true']) [data-slot='table-header'] {
display: none;
}
.consoleListToolbar [data-slot='native-select-wrapper'] {
width: 100%;
}
.consoleTopbarBrand,
.consoleTopbarActions {
gap: 8px;
padding-inline: 8px;
}
.consoleTopbarBrand [data-slot='button'],
.consoleTopbarActions > [data-slot='button'] {
width: 44px;
height: 44px;
}
.consoleSearchTrigger {
padding-inline: 0;
}
.consoleSearchTrigger > span {
margin-inline: auto;
}
.consoleSearchTrigger > span > span,
.consoleSearchTrigger kbd {
display: none;
}
.consoleBrand {
gap: 8px;
}
.consoleBrandName,
.consoleBrandContext,
.consoleBrand [aria-hidden='true'] {
display: none;
}
.consoleDetailHeader {
flex-direction: column;
gap: 14px;
}
.consoleDetailHeader > [data-slot='button'] {
align-self: flex-start;
}
.shell {
padding: 18px;
}
.topbar,
.accountTopbar,
.accountHeader,
.panelHeader,
.buttonRow,
.identitySummary,
.itemRow {
align-items: stretch;
flex-direction: column;
}
.accountTopbarActions {
width: 100%;
}
.accountTopbar .preferencesControls {
margin-left: auto;
}
.hero {
margin: 64px auto 32px;
}
.shell h1 {
font-size: 40px;
}
.intro,
.authBrandPanel p:not(.eyebrow) {
font-size: 14px;
}
.identitySummary button {
margin-left: 0;
}
.assetUploadRow {
grid-template-columns: 1fr;
align-items: stretch;
}
.avatarUploadControl,
.accountHero {
grid-template-columns: 1fr;
gap: 10px 12px;
padding: 16px;
}
.accountHeroIdentity {
grid-template-columns: 52px minmax(0, 1fr);
justify-items: stretch;
}
.accountProfileSummary .accountHeroIdentity {
grid-template-columns: 52px minmax(0, 1fr);
}
.accountProfileDetails .settingsAction {
grid-template-columns: 1fr;
padding: 16px;
}
.accountProfileDetails .settingsActionMain {
grid-template-columns: 40px minmax(0, 1fr);
}
.accountProfileDetails .settingsActionIcon,
.accountProfileRowAvatar {
width: 40px;
height: 40px;
}
.accountSummaryStrip {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.accountHero > .uiButton {
justify-self: start;
min-height: 36px;
}
.accountHeaderAvatar {
width: 52px;
height: 52px;
}
.assetPreview {
width: 52px;
height: 52px;
}
.accountContent .settingsPanel {
display: grid;
}
.accountPanelGroup {
padding: 0;
}
.accountPanelHeader {
padding: 16px;
}
.settingsAction {
grid-template-columns: minmax(0, 1fr);
gap: 12px;
padding: 16px;
}
.settingsAction .accountRowLabel,
.settingsAction .accountRowValue,
.settingsAction .accountRowAction {
grid-column: 1;
grid-row: auto;
}
.settingsAction .accountRowAction,
.settingsActionButtons {
width: 100%;
justify-content: stretch;
}
.settingsAction .accountRowAction > *,
.settingsActionButtons > *,
.accountPanelActions > * {
width: 100%;
min-height: 44px;
}
.settingsActionButtons {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}
.accountPanelActions {
padding: 0 16px 16px;
}
.dialogFormBody {
padding: 14px;
}
.settingsBody {
padding: 0;
}
.accountRows.itemList {
padding: 0 16px 12px;
}
.subsectionTitle {
padding-inline: 16px;
}
.accountContent .itemRow {
grid-template-columns: 1fr;
align-items: stretch;
}
.itemRowMain {
align-items: start;
}
.accountContent .itemRow .uiButton {
justify-self: start;
}
.accountContent .panelTitle {
flex-direction: column;
align-items: stretch;
margin-bottom: 8px;
}
.accountContent .panelTitle > .uiButton {
width: 100%;
}
.segmented,
.accountNav {
grid-template-columns: 1fr;
}
.accountPageHeader {
align-items: stretch;
flex-direction: column;
margin-bottom: 24px;
}
.accountPageHeader h1 {
font-size: 26px;
}
.accountPageHeader p {
font-size: 13px;
}
.accountRow {
grid-template-columns: minmax(0, 1fr) auto;
gap: 8px 12px;
}
.accountRowValue {
grid-column: 1 / -1;
grid-row: 2;
}
.accountRowAction {
grid-column: 2;
grid-row: 1;
justify-content: flex-end;
}
.accountContent .itemRow:not(.itemRowEmpty) {
grid-template-columns: minmax(0, 1fr) auto;
}
.accountContent .itemRow:not(.itemRowEmpty) .accountRowLabel {
grid-column: 1;
grid-row: 1 / 3;
}
.accountContent .itemRow:not(.itemRowEmpty) .accountRowValue {
grid-column: 2;
grid-row: 1;
}
.accountContent .itemRow:not(.itemRowEmpty) .accountRowAction {
grid-column: 2;
grid-row: 2;
}
.accountTabPanel > .accountRows,
.accountObjectSection.is-surface > .accountRows,
.accountTabPanel > .accountObjectSection > .accountRows {
padding-inline: 16px;
}
.accountObjectSection.is-surface > header,
.accountTabPanel > .accountObjectSection > header {
padding-inline: 16px;
}
.accountTabBody,
.accountSectionStack .accountObjectSection {
padding-inline: 16px;
}
.accountTabToolbar .uiButton {
width: 100%;
}
.accountEmptyState {
padding: 16px;
}
.accountRows > .accountEmptyState {
padding: 16px 0;
}
.accountTabPanel > .accountEmptyState {
margin-inline: 16px;
padding: 16px 0;
}
.accountContent {
padding: 28px 18px 48px;
}
.accountContent .uiButton {
min-height: 44px;
}
.consentSwitchButton {
width: 100%;
margin-left: 0;
}
.authPageFooter {
align-items: flex-start;
flex-direction: column;
}
.authPoweredBy {
text-align: left;
}
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 1ms !important;
animation-iteration-count: 1 !important;
scroll-behavior: auto !important;
transition-duration: 1ms !important;
}
}
@layer base {
* {
@apply border-border outline-ring/50;
}
body {
@apply bg-background text-foreground;
}
html {
@apply font-sans;
}
}