:root {
    --background: 240 20% 97%;
    --background-subtle: 245 22% 95%;
    --foreground: 222 47% 11%;

    --card: 0 0% 100%;
    --card-foreground: 222 47% 11%;

    --popover: 0 0% 100%;
    --popover-foreground: 222 47% 11%;

    --primary: 263 70% 50%;
    --primary-foreground: 0 0% 100%;
    --primary-hover: 263 70% 45%;
    --primary-muted: 263 70% 95%;

    --secondary: 240 5% 96%;
    --secondary-foreground: 222 47% 11%;

    --muted: 240 5% 96%;
    --muted-foreground: 240 4% 35%;

    --accent: 240 5% 96%;
    --accent-foreground: 222 47% 11%;

    --destructive: 0 72% 51%;
    --destructive-foreground: 0 0% 100%;

    --border: 240 6% 90%;
    --input: 240 6% 90%;
    --ring: 263 70% 50%;

    --radius: 0.75rem;
    --radius-lg: 1rem;

    --success: 142 71% 45%;
    --success-foreground: 142 71% 15%;

    --warning: 38 92% 50%;
    --warning-foreground: 38 92% 15%;

    --info: 217 91% 60%;
    --info-foreground: 217 91% 15%;

    /* Sidebar — Finder-style frosted glass */
    --sidebar-background: 0 0% 100%;
    /* Иконки/текст пунктов читались бледно на матовом стекле — подняли контраст. */
    --sidebar-foreground: 240 12% 24%;
    --sidebar-active-bg: 263 70% 55%;
    --sidebar-active-bg-to: 280 65% 58%;
    --sidebar-hover-bg: 263 40% 96%;
    --sidebar-border: 240 6% 85%;
    --sidebar-section-label: 240 5% 55%;
    --sidebar-primary: 263 70% 50%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 263 40% 96%;
    --sidebar-accent-foreground: 240 10% 20%;
    --sidebar-ring: 263 70% 50%;

    /* Layout */
    --header-height: 4rem;

    /* Glass */
    --glass-bg: 0 0% 100%;
    --glass-border: 240 6% 75%;

    /* Shadows — branded purple tint */
    --shadow-sm: 0 2px 8px -2px hsl(263 70% 50% / 0.12);
    --shadow-md: 0 4px 20px -4px hsl(263 70% 50% / 0.16), 0 1px 3px hsl(0 0% 0% / 0.04);
    --shadow-lg: 0 12px 48px -12px hsl(263 70% 50% / 0.22), 0 2px 8px hsl(0 0% 0% / 0.05);
    --shadow-glow: 0 0 40px hsl(263 70% 50% / 0.35);

    /* Auth page specific */
    --auth-gradient: linear-gradient(135deg, hsl(262 83% 58%) 0%, hsl(280 83% 64%) 100%);
    --auth-card-shadow: 0 10px 40px -10px hsl(262 83% 58% / 0.2);

    /* dvh fallback */
    --full-h: 100vh;
    --85-h: 85vh;
      --full-h: 100dvh;
      --85-h: 85dvh;
  }
[data-brand="tenanty"] {
    --primary: 199 82% 48%;
    --primary-foreground: 0 0% 100%;
    --primary-hover: 199 82% 42%;
    --primary-muted: 199 50% 94%;
    --ring: 199 82% 48%;
    --sidebar-active-bg: 199 82% 48%;
    --sidebar-active-bg-to: 199 70% 52%;
    --sidebar-primary: 199 82% 48%;
    --sidebar-accent: 199 40% 96%;
    --sidebar-ring: 199 82% 48%;
    --shadow-sm: 0 2px 8px -2px hsl(199 82% 48% / 0.12);
    --shadow-md: 0 4px 20px -4px hsl(199 82% 48% / 0.16), 0 1px 3px hsl(0 0% 0% / 0.04);
    --shadow-lg: 0 12px 48px -12px hsl(199 82% 48% / 0.22), 0 2px 8px hsl(0 0% 0% / 0.05);
    --shadow-glow: 0 0 40px hsl(199 82% 48% / 0.35);
  }
.dark {
    --background: 222 47% 8%;
    --background-subtle: 222 47% 11%;
    --foreground: 210 40% 96%;

    --card: 222 47% 12%;
    --card-foreground: 210 40% 96%;

    --popover: 222 47% 12%;
    --popover-foreground: 210 40% 96%;

    --primary: 263 70% 60%;
    --primary-foreground: 0 0% 100%;
    --primary-hover: 263 70% 55%;
    --primary-muted: 263 70% 15%;

    --secondary: 217 33% 17%;
    --secondary-foreground: 210 40% 96%;

    --muted: 217 33% 17%;
    --muted-foreground: 215 20% 65%;

    --accent: 217 33% 17%;
    --accent-foreground: 210 40% 96%;

    --destructive: 0 72% 47%;
    --destructive-foreground: 0 0% 100%;

    --border: 217 33% 38%;
    --input: 217 33% 30%;
    --ring: 263 70% 70%;

    --success: 142 71% 45%;
    --success-foreground: 142 71% 90%;

    --warning: 38 92% 50%;
    --warning-foreground: 38 92% 85%;

    --info: 217 91% 55%;
    --info-foreground: 217 91% 90%;

    /* Sidebar — same bg, brightened active */
    --sidebar-background: 228 33% 10%;
    --sidebar-foreground: 220 20% 65%;
    --sidebar-active-bg: 263 70% 50%;
    --sidebar-active-bg-to: 280 65% 55%;
    --sidebar-hover-bg: 220 20% 15%;
    --sidebar-border: 228 33% 34%;
    --sidebar-section-label: 220 20% 60%;
    --sidebar-primary: 263 70% 60%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 220 20% 15%;
    --sidebar-accent-foreground: 220 20% 85%;
    --sidebar-ring: 263 70% 60%;

    /* Glass — dark overrides */
    --glass-bg: 222 47% 12%;
    --glass-border: 217 33% 38%;
  }
:root {
    --safe-area-inline-start: env(safe-area-inset-left);
    --safe-area-inline-end: env(safe-area-inset-right);
  }
[dir="rtl"] {
    --safe-area-inline-start: env(safe-area-inset-right);
    --safe-area-inline-end: env(safe-area-inset-left);
  }
.liquid-glass {
    position: relative;
    background: linear-gradient(
      135deg,
      hsl(var(--glass-bg) / 0.94) 0%,
      hsl(var(--glass-bg) / 0.88) 100%
    );
    border: 1px solid hsl(0 0% 100% / 0.50);
    border-top-color: hsl(0 0% 100% / 0.70);
    border-left-color: hsl(0 0% 100% / 0.60);
    box-shadow:
      0 1px 0 0 hsl(0 0% 100% / 0.5) inset,
      0 4px 24px hsl(var(--primary) / 0.08),
      0 1px 3px hsl(0 0% 0% / 0.03);
    border-radius: var(--radius-lg);
    transition: box-shadow 0.2s ease-out; background-color: hsl(var(--glass-bg) / 0.95); backdrop-filter: none; -webkit-backdrop-filter: none; background-color: hsl(var(--glass-bg) / 0.97);
}

.container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 2rem;
    padding-left: 2rem;
}

@media (min-width: 1400px) {
    .container {
        max-width: 1400px;
    }
}
.admin-root .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.admin-root .\!visible {
    visibility: visible !important;
}
.admin-root .visible {
    visibility: visible;
}
.admin-root .collapse {
    visibility: collapse;
}
.admin-root .static {
    position: static;
}
.admin-root .fixed {
    position: fixed;
}
.admin-root .absolute {
    position: absolute;
}
.admin-root .relative {
    position: relative;
}
.admin-root .isolate {
    isolation: isolate;
}
.admin-root .mb-1 {
    margin-bottom: 0.25rem;
}
.admin-root .mb-2 {
    margin-bottom: 0.5rem;
}
.admin-root .mb-3 {
    margin-bottom: 0.75rem;
}
.admin-root .mb-4 {
    margin-bottom: 1rem;
}
.admin-root .ml-1\.5 {
    margin-left: 0.375rem;
}
.admin-root .ml-2 {
    margin-left: 0.5rem;
}
.admin-root .mt-1\.5 {
    margin-top: 0.375rem;
}
.admin-root .mt-3 {
    margin-top: 0.75rem;
}
.admin-root .\!block {
    display: block !important;
}
.admin-root .block {
    display: block;
}
.admin-root .\!inline {
    display: inline !important;
}
.admin-root .inline {
    display: inline;
}
.admin-root .flex {
    display: flex;
}
.admin-root .inline-flex {
    display: inline-flex;
}
.admin-root .table {
    display: table;
}
.admin-root .grid {
    display: grid;
}
.admin-root .contents {
    display: contents;
}
.admin-root .\!hidden {
    display: none !important;
}
.admin-root .hidden {
    display: none;
}
.admin-root .h-10 {
    height: 2.5rem;
}
.admin-root .h-11 {
    height: 2.75rem;
}
.admin-root .h-5 {
    height: 1.25rem;
}
.admin-root .h-8 {
    height: 2rem;
}
.admin-root .h-auto {
    height: auto;
}
.admin-root .min-h-\[80px\] {
    min-height: 80px;
}
.admin-root .w-10 {
    width: 2.5rem;
}
.admin-root .w-5 {
    width: 1.25rem;
}
.admin-root .w-full {
    width: 100%;
}
.admin-root .shrink-0 {
    flex-shrink: 0;
}
.admin-root .transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.admin-root .resize {
    resize: both;
}
.admin-root .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.admin-root .flex-col {
    flex-direction: column;
}
.admin-root .flex-wrap {
    flex-wrap: wrap;
}
.admin-root .items-center {
    align-items: center;
}
.admin-root .items-baseline {
    align-items: baseline;
}
.admin-root .justify-center {
    justify-content: center;
}
.admin-root .justify-between {
    justify-content: space-between;
}
.admin-root .gap-1 {
    gap: 0.25rem;
}
.admin-root .gap-2 {
    gap: 0.5rem;
}
.admin-root .gap-3 {
    gap: 0.75rem;
}
.admin-root :is(.space-y-1\.5 > :not([hidden]) ~ :not([hidden])) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.admin-root :is(.divide-y > :not([hidden]) ~ :not([hidden])) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.admin-root :is(.divide-border > :not([hidden]) ~ :not([hidden])) {
    --tw-divide-opacity: 1;
    border-color: hsl(var(--border) / var(--tw-divide-opacity, 1));
}
.admin-root .overflow-x-auto {
    overflow-x: auto;
}
.admin-root .whitespace-nowrap {
    white-space: nowrap;
}
.admin-root .rounded {
    border-radius: 0.25rem;
}
.admin-root .rounded-full {
    border-radius: 9999px;
}
.admin-root .rounded-md {
    border-radius: calc(var(--radius) - 2px);
}
.admin-root .rounded-xl {
    border-radius: 0.75rem;
}
.admin-root .border {
    border-width: 1px;
}
.admin-root .border-0 {
    border-width: 0px;
}
.admin-root .border-b {
    border-bottom-width: 1px;
}
.admin-root .border-t {
    border-top-width: 1px;
}
.admin-root .border-solid {
    border-style: solid;
}
.admin-root .border-border {
    --tw-border-opacity: 1;
    border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
}
.admin-root .border-border\/40 {
    border-color: hsl(var(--border) / 0.4);
}
.admin-root .border-border\/50 {
    border-color: hsl(var(--border) / 0.5);
}
.admin-root .border-border\/60 {
    border-color: hsl(var(--border) / 0.6);
}
.admin-root .border-destructive\/20 {
    border-color: hsl(var(--destructive) / 0.2);
}
.admin-root .border-info\/20 {
    border-color: hsl(var(--info) / 0.2);
}
.admin-root .border-input {
    --tw-border-opacity: 1;
    border-color: hsl(var(--input) / var(--tw-border-opacity, 1));
}
.admin-root .border-primary {
    --tw-border-opacity: 1;
    border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));
}
.admin-root .border-primary\/20 {
    border-color: hsl(var(--primary) / 0.2);
}
.admin-root .border-secondary\/40 {
    border-color: hsl(var(--secondary) / 0.4);
}
.admin-root .border-success\/20 {
    border-color: hsl(var(--success) / 0.2);
}
.admin-root .border-warning\/20 {
    border-color: hsl(var(--warning) / 0.2);
}
.admin-root .bg-background {
    --tw-bg-opacity: 1;
    background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
}
.admin-root .bg-background\/50 {
    background-color: hsl(var(--background) / 0.5);
}
.admin-root .bg-background\/60 {
    background-color: hsl(var(--background) / 0.6);
}
.admin-root .bg-destructive {
    --tw-bg-opacity: 1;
    background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));
}
.admin-root .bg-destructive\/10 {
    background-color: hsl(var(--destructive) / 0.1);
}
.admin-root .bg-info\/10 {
    background-color: hsl(var(--info) / 0.1);
}
.admin-root .bg-muted {
    --tw-bg-opacity: 1;
    background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}
.admin-root .bg-muted\/40 {
    background-color: hsl(var(--muted) / 0.4);
}
.admin-root .bg-primary {
    --tw-bg-opacity: 1;
    background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
}
.admin-root .bg-primary\/10 {
    background-color: hsl(var(--primary) / 0.1);
}
.admin-root .bg-primary\/15 {
    background-color: hsl(var(--primary) / 0.15);
}
.admin-root .bg-secondary {
    --tw-bg-opacity: 1;
    background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));
}
.admin-root .bg-success\/10 {
    background-color: hsl(var(--success) / 0.1);
}
.admin-root .bg-transparent {
    background-color: transparent;
}
.admin-root .bg-warning\/10 {
    background-color: hsl(var(--warning) / 0.1);
}
.admin-root .p-3 {
    padding: 0.75rem;
}
.admin-root .p-6 {
    padding: 1.5rem;
}
.admin-root .px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.admin-root .px-2\.5 {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}
.admin-root .px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.admin-root .px-3\.5 {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
}
.admin-root .px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.admin-root .px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
}
.admin-root .py-0\.5 {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}
.admin-root .py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.admin-root .py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.admin-root .py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.admin-root .pr-3 {
    padding-right: 0.75rem;
}
.admin-root .pt-0 {
    padding-top: 0px;
}
.admin-root .text-left {
    text-align: left;
}
.admin-root .text-right {
    text-align: right;
}
.admin-root .font-sans {
    font-family: "Manrope", "Inter", "Noto Sans", system-ui, -apple-system, sans-serif;
}
.admin-root .text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}
.admin-root .text-\[11px\] {
    font-size: 11px;
}
.admin-root .text-\[13px\] {
    font-size: 13px;
}
.admin-root .text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.admin-root .text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}
.admin-root .font-medium {
    font-weight: 500;
}
.admin-root .font-semibold {
    font-weight: 600;
}
.admin-root .uppercase {
    text-transform: uppercase;
}
.admin-root .lowercase {
    text-transform: lowercase;
}
.admin-root .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.admin-root .leading-none {
    line-height: 1;
}
.admin-root .tracking-tight {
    letter-spacing: -0.025em;
}
.admin-root .text-card-foreground {
    --tw-text-opacity: 1;
    color: hsl(var(--card-foreground) / var(--tw-text-opacity, 1));
}
.admin-root .text-destructive {
    --tw-text-opacity: 1;
    color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}
.admin-root .text-destructive-foreground {
    --tw-text-opacity: 1;
    color: hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1));
}
.admin-root .text-emerald-700 {
    --tw-text-opacity: 1;
    color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.admin-root .text-foreground {
    --tw-text-opacity: 1;
    color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}
.admin-root .text-foreground\/70 {
    color: hsl(var(--foreground) / 0.7);
}
.admin-root .text-foreground\/80 {
    color: hsl(var(--foreground) / 0.8);
}
.admin-root .text-info {
    --tw-text-opacity: 1;
    color: hsl(var(--info) / var(--tw-text-opacity, 1));
}
.admin-root .text-muted-foreground {
    --tw-text-opacity: 1;
    color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}
.admin-root .text-primary {
    --tw-text-opacity: 1;
    color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}
.admin-root .text-primary-foreground {
    --tw-text-opacity: 1;
    color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));
}
.admin-root .text-rose-700 {
    --tw-text-opacity: 1;
    color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}
.admin-root .text-secondary-foreground {
    --tw-text-opacity: 1;
    color: hsl(var(--secondary-foreground) / var(--tw-text-opacity, 1));
}
.admin-root .text-success {
    --tw-text-opacity: 1;
    color: hsl(var(--success) / var(--tw-text-opacity, 1));
}
.admin-root .text-success-foreground {
    --tw-text-opacity: 1;
    color: hsl(var(--success-foreground) / var(--tw-text-opacity, 1));
}
.admin-root .text-warning {
    --tw-text-opacity: 1;
    color: hsl(var(--warning) / var(--tw-text-opacity, 1));
}
.admin-root .underline-offset-4 {
    text-underline-offset: 4px;
}
.admin-root .shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.admin-root .shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.admin-root .outline {
    outline-style: solid;
}
.admin-root .ring-offset-background {
    --tw-ring-offset-color: hsl(var(--background) / 1);
}
.admin-root .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.admin-root .filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.admin-root .backdrop-blur-sm {
    --tw-backdrop-blur: blur(4px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.admin-root .transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.admin-root .transition-\[border-color\2c box-shadow\] {
    transition-property: border-color,box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.admin-root .transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.admin-root .transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.admin-root .duration-200 {
    transition-duration: 200ms;
}
@keyframes enter {
    from {
        opacity: var(--tw-enter-opacity, 1);
        transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
    }
}
@keyframes exit {
    to {
        opacity: var(--tw-exit-opacity, 1);
        transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
    }
}
.admin-root .duration-200 {
    animation-duration: 200ms;
}
.admin-root .running {
    animation-play-state: running;
}
.admin-root .paused {
    animation-play-state: paused;
}
.admin-todos {
  overflow-wrap: anywhere;
}
.admin-todos fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
  display: grid;
  gap: 1rem;
}
.admin-todos .admin-todo-filters,
.admin-todo-fields,
.admin-todo-row,
.admin-todo-counts dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 1rem;
}
.admin-todos form,
.admin-todos section,
.admin-todos label,
.admin-todo-list,
.admin-todo-list > li,
.admin-todo-org-field,
.admin-todo-fields > *,
.admin-todo-row > * {
  min-width: 0;
}
.admin-todos input,
.admin-todos select,
.admin-todos textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.admin-todos textarea {
  min-height: 7rem;
  resize: vertical;
  border: 1px solid hsl(var(--border));
  border-radius: .375rem;
  padding: .5rem;
  color: inherit;
  background: inherit;
  font: inherit;
}
.admin-todos .admin-todo-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: .75rem;
  margin-block: 1rem;
}
.admin-todos button {
  max-width: 100%;
  white-space: normal;
  height: auto;
  min-height: 2.5rem;
}
.admin-todos .admin-todo-title {
  /* The shared Button has a fixed height; wrapped titles must grow it instead of overprinting rows below. */
  height: auto;
  min-width: 0;
  width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  display: block;
  text-align: start;
  padding-block: .5rem;
}
.admin-todo-list {
  list-style: none;
  padding: 0;
}
.admin-todo-list > li {
  padding-block: 1rem;
  border-bottom: 1px solid hsl(var(--border));
}
.admin-todo-id {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .5rem;
  max-width: 100%;
  font-size: .875rem;
}
.admin-todo-id details {
  min-width: 0;
}
.admin-todo-fields dd,
.admin-todo-text {
  white-space: pre-wrap;
}
.admin-todo-confirm {
  border: 1px solid hsl(var(--border));
  border-radius: .5rem;
  padding: .75rem;
  margin-block: 1rem;
  display: grid;
  gap: .5rem;
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  scroll-margin-block: 1rem;
}
.admin-root .admin-todo-confirm h3 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
  margin: 0;
}
.admin-todo-confirm p {
  margin: 0;
  font-size: .875rem;
  line-height: 1.4;
}
.admin-todos .admin-todo-confirm .admin-todo-controls {
  margin: 0;
  gap: .5rem;
}
.admin-todo-preview,
.admin-todo-description-clamped {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  overflow-wrap: anywhere;
}
.admin-todo-description-clamped {
  -webkit-line-clamp: 8;
}
.admin-todo-fields .admin-todo-text {
  margin: 0;
}
.admin-todo-org-field .admin-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: .5rem;
}
.admin-todo-org-field .admin-muted {
  font-size: .8125rem;
}
.admin-todo-notice {
  scroll-margin-block: 1rem;
}
.admin-todos summary:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-root {
  margin: 0;
  min-height: 100dvh;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: Manrope,system-ui,sans-serif;
  font-size: 13px;
  line-height: 20px;
  font-variant-numeric: tabular-nums;
  --background: 0 0% 98%;
  --foreground: 240 6% 10%;
  --card: 0 0% 100%;
  --card-foreground: 240 6% 10%;
  --popover: 0 0% 100%;
  --popover-foreground: 240 6% 10%;
  --primary: 263 70% 50%;
  --primary-foreground: 0 0% 100%;
  --secondary: 240 5% 96%;
  --secondary-foreground: 240 5% 26%;
  --muted: 240 5% 96%;
  --muted-foreground: 240 4% 46%;
  --accent: 240 5% 96%;
  --accent-foreground: 240 6% 10%;
  --border: 240 6% 90%;
  --input: 240 6% 90%;
  --ring: 240 4% 46%;
  --radius: 8px;
}
.admin-root * {
  box-sizing: border-box;
}
.admin-root h1 {
  font-size: 20px;
  font-weight: 650;
}
.admin-root h2 {
  font-size: 14px;
  font-weight: 600;
}
 .admin-root small { font-size:12px; }
.admin-root h3 {
  font-weight: 600;
}
/* Shared compact shell. Route visibility is controlled in StaffShell. */
.admin-layout { min-height:100dvh; display:grid; grid-template-columns:216px minmax(0,1fr); grid-template-rows:44px 1fr; background:hsl(var(--background)); }
.admin-sidebar { grid-row:1 / 3; padding:12px 8px; background:hsl(var(--card)); border-right:1px solid hsl(var(--border)); position:sticky; top:0; height:100dvh; overflow-y:auto; }
.admin-brand { display:flex; align-items:center; gap:8px; padding:0 8px 8px; height:32px; }
.admin-brand strong { font-size:15px; letter-spacing:-.02em; }
.admin-brand-mark { width:22px; height:22px; display:grid; place-items:center; border-radius:6px; background:hsl(var(--foreground)); color:#fff; font-weight:700; }
.admin-root .admin-collapse { margin-left:auto; padding:0; min-width:24px; min-height:24px; height:24px; }
.admin-sidebar-collapsed { grid-template-columns:56px minmax(0,1fr); }
.admin-sidebar-collapsed .admin-brand { padding:0; justify-content:center; }
.admin-sidebar-collapsed .admin-brand strong,.admin-sidebar-collapsed .admin-brand-mark,.admin-sidebar-collapsed .admin-sidebar .admin-nav-group h2,.admin-sidebar-collapsed .admin-sidebar .admin-nav-group a span { display:none; }
.admin-sidebar-collapsed .admin-collapse { margin:0; }
.admin-sidebar-collapsed .admin-sidebar .admin-nav-group a { justify-content:center; padding:0; }
.admin-nav-group { margin:12px 0 0; }
.admin-root .admin-nav-group h2 { margin:0 0 4px; padding:0 8px; font-size:11px; font-weight:600; color:hsl(var(--muted-foreground)); }
.admin-root .admin-nav-group a { display:flex; align-items:center; gap:8px; min-height:28px; padding:4px 8px; border-radius:8px; color:hsl(var(--secondary-foreground)); text-decoration:none; font-size:13px; line-height:18px; }
.admin-nav-group svg { flex:none; }
.admin-nav-group a:hover { background:hsl(var(--muted)); }
.admin-root .admin-nav-group a[aria-current=page] { color:hsl(var(--primary)); background:hsl(var(--primary) / .07); font-weight:600; }
.admin-layout > .admin-shell-header { display:grid; grid-template-columns:minmax(0,1fr) minmax(160px,320px) minmax(0,1fr); gap:16px; align-items:center; padding:0 20px; height:44px; min-height:44px; background:hsl(var(--card)); border-bottom:1px solid hsl(var(--border)); position:sticky; top:0; z-index:20; }
.admin-crumbs { display:flex; align-items:center; gap:8px; min-width:0; white-space:nowrap; overflow:hidden; color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-root .admin-crumbs a { text-decoration:none; }
.admin-crumbs b { color:hsl(var(--foreground)); overflow:hidden; text-overflow:ellipsis; font-weight:600; }
.admin-root .admin-command-trigger { width:100%; min-height:28px; height:28px; padding:0 8px; display:flex; justify-content:space-between; align-items:center; background:hsl(var(--background)); font-weight:400; color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-command-trigger kbd { border:1px solid hsl(var(--border)); border-radius:4px; font:11px system-ui; padding:0 4px; background:hsl(var(--card)); }
.admin-shell-right { display:flex; align-items:center; justify-content:flex-end; gap:8px; min-width:0; }
.admin-contour { display:inline-flex; gap:6px; align-items:center; white-space:nowrap; border:1px solid hsl(var(--border)); border-radius:999px; padding:0 8px; font-size:11px; color:hsl(var(--secondary-foreground)); }
.admin-contour::before { content:""; width:6px; height:6px; border-radius:50%; background:#16a34a; }
.admin-user-menu { position:relative; }
.admin-user-menu > summary { cursor:pointer; list-style:none; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; background:hsl(var(--border)); font-size:11px; font-weight:700; }
.admin-user-menu > summary::-webkit-details-marker,.admin-more > summary::-webkit-details-marker { display:none; }
.admin-user-popover { position:absolute; right:0; top:34px; width:200px; padding:12px; display:grid; gap:12px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); }
.admin-user-popover strong { font-size:12px; }
.admin-layout > main { min-width:0; padding:20px 24px 32px; width:100%; max-width:1440px; }
.admin-root .admin-menu-button { display:none; }
.admin-nav-dialog { padding:16px; border:1px solid hsl(var(--border)); border-radius:8px; width:min(280px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; color:hsl(var(--foreground)); background:hsl(var(--card)); font:inherit; }
.admin-nav-dialog::backdrop { background:#18181b66; }
.admin-command-dialog { width:min(560px,calc(100vw - 32px)); padding:0; margin:12vh auto auto; }
.admin-command-heading { display:flex; align-items:center; gap:8px; padding:12px; border-bottom:1px solid hsl(var(--border)); }
.admin-command-results { max-height:55vh; overflow:auto; padding:8px; }
.admin-root .admin-command-results a { display:flex; justify-content:space-between; gap:8px; padding:8px; border-radius:8px; text-decoration:none; }
.admin-command-results a:hover,.admin-command-results a:focus { background:hsl(var(--muted)); }
.admin-command-results small { color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-command-results h2 { font-size:12px; padding:8px; color:hsl(var(--muted-foreground)); }
.admin-skip { position:fixed; left:16px; top:-100px; z-index:100; padding:12px; background:hsl(var(--card)); border-radius:8px; }
.admin-skip:focus-visible { top:16px; }
.admin-drawer-heading { display:flex; align-items:center; justify-content:space-between; }
@media(max-width:1000px) { .admin-layout > .admin-shell-header { grid-template-columns:minmax(0,1fr) 160px auto; gap:8px; padding:0 12px; } .admin-crumbs > span:first-child,.admin-crumbs > span:nth-child(2) { display:none; } }
@media(max-width:800px) {
 .admin-layout,.admin-sidebar-collapsed { grid-template-columns:minmax(0,1fr); grid-template-rows:44px 1fr; }
 .admin-sidebar { display:none; }
 .admin-layout > .admin-shell-header { grid-template-columns:28px minmax(0,1fr) 28px auto; gap:8px; padding:0 8px; }
 .admin-root .admin-menu-button { display:inline-flex; align-items:center; justify-content:center; width:28px; min-height:28px; height:28px; padding:0; }
 .admin-root .admin-command-trigger { width:28px; padding:0; justify-content:center; }
 .admin-command-trigger span { display:none; }
 .admin-command-trigger kbd { border:0; font-size:10px; padding:0; }
 .admin-layout > main { padding:16px; }
 .admin-shell-right { gap:4px; }
 .admin-contour { font-size:10px; padding:0 6px; }
 .admin-server-indicator { display:none !important; }
 .admin-nav-dialog .admin-nav-group a { min-height:36px; }
 .admin-command-results a { flex-wrap:wrap; }
}
.admin-panel {
  padding: 12px 16px;
  margin-block: 16px;
  min-width: 0;
  border: 1px solid hsl(var(--border));
  border-radius: 8px;
  background: hsl(var(--card));
  box-shadow: none;
}
.admin-login {
  max-width: 28rem;
  padding: 1.5rem;
  margin: 2rem auto;
}
.admin-auth {
  padding: 1rem;
}
.admin-root form,
.admin-root label {
  display: grid;
  gap: .5rem;
}
.admin-root form {
  gap: 1rem;
}
.admin-filters {
  grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
  align-items: end;
}
.admin-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap: 1rem;
}
.admin-table {
  overflow-x: auto;
}
.admin-root table {
  border-collapse: collapse;
  width: 100%;
}
.admin-root th,
.admin-root td {
  padding: 8px 16px;
  font-size: 13px;
  text-align: start;
  border-bottom: 1px solid hsl(var(--border));
}
.admin-root dd {
  margin: 0 0 1rem;
  overflow-wrap: anywhere;
}
.admin-code {
  overflow-wrap: anywhere;
  font-family: ui-monospace,monospace;
}
.admin-impersonation {
  min-width: 0;
  overflow-wrap: anywhere;
}
.admin-impersonation summary {
  cursor: pointer;
}
.admin-impersonation-list {
  list-style: none;
  padding: 0;
  margin-block: .75rem;
}
.admin-impersonation-row {
  min-width: 0;
  padding-block: .75rem;
  border-bottom: 1px solid hsl(var(--border));
  font-size: .875rem;
}
.admin-impersonation-heading,
.admin-impersonation-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .25rem .75rem;
}
.admin-impersonation-heading > *,
.admin-impersonation-meta > * {
  min-width: 0;
  max-width: 100%;
}
.admin-impersonation-reason {
  margin: 0;
  font-weight: 600;
}
.admin-impersonation-meta {
  margin-block: .25rem;
  color: hsl(var(--muted-foreground));
  font-size: .8125rem;
}
.admin-impersonation-details {
  font-size: .8125rem;
}
.admin-impersonation-details dl {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap: .5rem 1rem;
  margin-block: .5rem 0;
}
.admin-impersonation-details dl > * {
  min-width: 0;
}
.admin-impersonation-details dd {
  margin: 0;
}
.admin-impersonation summary:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-impersonation-banner {
  border: 1px solid hsl(var(--border));
  background: hsl(var(--primary) / .08);
}
.admin-impersonation [role="timer"] {
  font-variant-numeric: tabular-nums;
}
.admin-muted {
  font-size: 12px;
  color: hsl(var(--muted-foreground));
}
.admin-root button:focus-visible,
.admin-root a:focus-visible,
.admin-root select:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-root select {
  background: hsl(var(--background));
  color: inherit;
  border: 1px solid hsl(var(--border));
  border-radius:8px;
  padding: .5rem;
}
.admin-root a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width:600px) {
  .admin-layout > main {
    padding: 1rem;
  }
  .admin-layout > header {
    padding: 1rem;
  }
  .admin-root th,
  .admin-root td {
    padding: .5rem;
  }
}
.admin-user-list {
  list-style: none;
  padding: 0;
}
.admin-root .admin-user-row {
  padding: .65rem .75rem;
  margin-block: .35rem;
  overflow-wrap: anywhere;
}
.admin-user-row summary {
  display: grid;
  grid-template-columns: .75rem minmax(0,1fr);
  column-gap: .4rem;
  cursor: pointer;
  list-style: none;
  line-height: 1.4;
}
.admin-user-row summary::-webkit-details-marker {
  display: none;
}
.admin-user-row summary::before {
  content: "▸";
  grid-row: 1 / 3;
  color: hsl(var(--muted-foreground));
}
.admin-user-row details[open] > summary::before {
  content: "▾";
}
.admin-user-name {
  font-weight: 600;
}
.admin-user-meta {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 0 .3rem;
  font-size: .8125rem;
  color: hsl(var(--muted-foreground));
}
.admin-user-row summary:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-user-row details[open] > summary {
  margin-bottom: .65rem;
}
.admin-user-result {
  margin-top: .5rem;
  font-size: .875rem;
}
.admin-root .admin-user-confirm {
  padding: .75rem;
  margin-bottom: 0;
}
@media (max-width:600px) {
  .admin-root .admin-user-row {
    padding: .5rem .65rem;
    font-size: .875rem;
  }
}
.admin-user-row > div {
  min-width: 0;
  max-width: 100%;
}
.admin-user-row dl {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  margin-top: .75rem;
}
.admin-user-row dd {
  margin-bottom: 0;
}
.admin-user-row dt {
  color: hsl(var(--muted-foreground));
}
.admin-user-controls {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-block: 1rem;
}
.admin-root .admin-users-reveal {
  display: flex;
  align-items: center;
}
.admin-root [aria-current="page"] {
  border-color: hsl(var(--primary));
  font-weight: 700;
}
.admin-root [tabindex="-1"]:focus,
.admin-root input:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-user-controls button,
.admin-user-action button {
  height: auto;
  min-height: 2.5rem;
  white-space: normal;
  overflow-wrap: anywhere;
  max-width: 100%;
}
.admin-billing-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-block: 1rem;
}
.admin-org-sections {
  min-width: 0;
  max-width: 100%;
}
.admin-org-tabs-hint {
  display: flex;
  gap: .3rem;
  margin-block: -.35rem .75rem;
  font-size: .8125rem;
}
.admin-org-sections [role="tabpanel"]:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-billing-values {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,230px),1fr));
  gap: 1rem;
}
.admin-billing-list {
  list-style: none;
  padding: 0;
}
.admin-billing-list > li {
  border-bottom: 1px solid hsl(var(--border));
  padding-block: .6rem;
  overflow-wrap: anywhere;
}
.admin-money {
  display: inline-block;
  white-space: nowrap;
  overflow-wrap: normal;
  font-variant-numeric: tabular-nums;
}
.admin-billing-values dd {
  margin-bottom: 0;
}
.admin-billing-list summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .25rem;
  cursor: pointer;
  list-style: none;
}
.admin-billing-list summary::-webkit-details-marker {
  display: none;
}
.admin-billing-list summary::before {
  content: "▸";
  color: hsl(var(--muted-foreground));
}
.admin-billing-list details[open] > summary::before {
  content: "▾";
}
.admin-billing-list summary:focus-visible,
.admin-billing-plan:focus-visible,
.admin-config h2:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-billing-plan {
  cursor: help;
  text-decoration: underline dotted;
  text-underline-offset: .2em;
}
.admin-billing-status {
  padding: .85rem 1rem;
  border-inline-start: .3rem solid hsl(var(--border));
  border-radius: .5rem;
  background: hsl(var(--muted));
  font-weight: 600;
}
.admin-billing-status-danger {
  border-color: hsl(var(--destructive));
  background: hsl(var(--destructive) / .12);
}
.admin-billing-status-warning {
  border-color: #b66a00;
  background: rgb(224 150 0 / .15);
}
.admin-billing-status-ok {
  border-color: hsl(var(--primary));
  background: hsl(var(--primary) / .08);
}
.admin-billing-list dl {
  margin-block: .75rem;
}
.admin-migrations {
  min-width: 0;
  overflow-wrap: normal;
}
.admin-migrations .admin-cards {
  align-items: start;
}
.admin-migrations .admin-code,
.admin-migrations dd {
  overflow-wrap: normal;
  word-break: normal;
}
.admin-migrations-status {
  max-width: 100%;
  margin-block: .5rem;
}
.admin-migrations-review {
  border-color: hsl(var(--destructive) / .6);
}
.admin-migrations-discrepancies summary {
  color: hsl(var(--destructive));
  font-weight: 600;
}
.admin-migrations details {
  margin-block: .75rem;
}
.admin-migrations summary {
  cursor: pointer;
}
.admin-migrations summary:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-migrations ul {
  padding-inline-start: 1.25rem;
}
.admin-migrations li {
  margin-block: .5rem;
}
.admin-diagnostics {
  min-width: 0;
  overflow-wrap: anywhere;
}
.admin-diagnostics .admin-filters {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,180px),1fr));
}
.admin-diagnostics input,
.admin-diagnostics label,
.admin-diagnostics form > *,
.admin-diagnostics .admin-billing-values > * {
  min-width: 0;
  max-width: 100%;
}
.admin-diagnostics button {
  white-space: normal;
  height: auto;
  min-height: 2.5rem;
}
@media (max-width:600px) {
  .admin-migrations .admin-panel,
  .admin-billing .admin-panel,
  .admin-config .admin-panel {
    padding: .75rem;
  }
  .admin-money,
  .admin-billing-list summary {
    font-size: .8125rem;
  }
  .admin-billing-actions button {
    white-space: normal;
    height: auto;
    min-height: 2.5rem;
  }
}
.admin-leads .admin-filters {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,180px),1fr));
}
.admin-lead-org-picker {
  margin-block: 1rem;
}
.admin-lead-org-picker small,
.admin-lead-list > li > small {
  display: block;
  font-size: .75rem;
}
.admin-lead-org-options {
  list-style: none;
  padding: 0;
  max-height: 14rem;
  overflow-y: auto;
}
.admin-lead-org-picker button {
  height: auto;
  min-height: 2.5rem;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.admin-lead-org-options button {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: .25rem;
  width: 100%;
  min-width: 0;
  text-align: start;
  margin-block: .35rem;
}
.admin-lead-org-options button > strong,
.admin-lead-org-options button > small {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}
.admin-org-actions {
  margin-block: .75rem 1rem;
  font-size: .875rem;
}
.admin-lead-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .75rem;
  font-weight: 600;
}
.admin-lead-heading > * {
  min-width: 0;
  max-width: 100%;
}
.admin-lead-meta { margin: 2px 0 0; font-size: 12px; color: hsl(var(--muted-foreground)); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.admin-lead-section, .admin-lead-notes, .admin-lead-takeover, .admin-lead-technical, .admin-lead-history { margin: 0 0 12px; padding: 12px 16px; border: 1px solid hsl(var(--border)); border-radius: var(--admin-radius, 8px); background: hsl(var(--card)); }
.admin-lead-title { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; }
.admin-lead-title h2 { margin: 0 !important; }
.admin-lead-section h2, .admin-lead-section h3, .admin-lead-notes h2, .admin-lead-takeover h2, .admin-lead-history h2 { margin: 0 0 8px; font-size: 13px; font-weight: 600; }
.admin-lead-technical > summary { cursor: pointer; font-size: 12px; color: hsl(var(--muted-foreground)); }
.admin-lead-takeover > p, .admin-lead-takeover > button { margin: 0 8px 8px 0; }
.admin-lead-takeover .admin-button, .admin-lead-reply .admin-button, .admin-lead-notes .admin-button { height: 28px; min-height: 28px; padding: 0 12px; font-size: 12px; }
.admin-lead-notes label, .admin-lead-takeover label, .admin-lead-reply label { font-size: 12px; color: hsl(var(--muted-foreground)); gap: 4px; }
.admin-lead-notes textarea, .admin-lead-takeover textarea, .admin-lead-reply textarea { font-size: 13px; }
.admin-lead-notes > nav, .admin-lead-notes .admin-billing-actions { margin-block: 8px; gap: 8px; }
.admin-lead-list > li > p { margin: 0 0 4px; }
.admin-lead-takeover [role=status], .admin-lead-takeover p { margin: 0; }
.admin-lead-reply { margin: 12px 0 0; padding: 12px 0 0; border-top: 1px solid hsl(var(--border)); }
.admin-lead-reply h2 { margin: 0 0 8px; font-size: 13px; font-weight: 600; }
.admin-lead-reply p { margin: 0 0 8px; font-size: 12px; }
.admin-lead-notes .admin-lead-list { margin: 0; }
.admin-page-actions a { text-decoration: none; }
.admin-root a.admin-back-link { font-size: 12px; text-decoration: none; color: hsl(var(--muted-foreground)); }
.admin-root td.admin-cell-nolabel::before { display: none; }
.admin-leads-table details > summary { font-size: 12px; color: hsl(var(--muted-foreground)); cursor: pointer; }
.admin-leads-table .admin-lead-fields { grid-template-columns: repeat(auto-fit,minmax(min(100%,160px),1fr)); }
.admin-leads > .admin-muted {
  overflow-wrap: anywhere;
}
.admin-leads input,
.admin-leads select,
.admin-leads label {
  min-width: 0;
  width: 100%;
}
.admin-lead-list {
  list-style: none;
  padding: 0;
}
.admin-lead-list > li {
  padding-block: .75rem;
  border-bottom: 1px solid hsl(var(--border));
  overflow-wrap: anywhere;
}
.admin-lead-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,200px),1fr));
  gap: .5rem 1rem;
  margin-block: .75rem;
  font-size: .8125rem;
}
.admin-lead-fields dt {
  color: hsl(var(--muted-foreground));
}
.admin-lead-fields dd {
  margin-bottom: 0;
}
.admin-lead-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.admin-leads .admin-billing-actions button {
  height: auto;
  min-height: 2.5rem;
  max-width: 100%;
  white-space: normal;
}
@media (max-width:600px) {
  .admin-leads {
    padding: .75rem;
    font-size: .875rem;
  }
}
.admin-lead-list summary {
  cursor: pointer;
  font-size: .8125rem;
}
.admin-lead-list summary:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-config {
  min-width: 0;
  overflow-wrap: anywhere;
}
.admin-provisioning {
  min-width: 0;
  overflow-wrap: anywhere;
}
.admin-provisioning-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap: 1rem;
}
.admin-provisioning input,
.admin-provisioning select,
.admin-provisioning label,
.admin-provisioning-fields > * {
  min-width: 0;
  max-width: 100%;
}
.admin-provisioning button {
  white-space: normal;
  height: auto;
  min-height: 2.5rem;
}
.admin-root .admin-provisioning-check {
  display: flex;
  align-items: center;
}
.admin-field-error {
  color: hsl(var(--destructive));
}
.admin-root .admin-field[aria-invalid="true"] {
  border-color: hsl(var(--destructive));
}
.admin-provisioning-steps {
  padding-inline-start: 1.25rem;
}
.admin-provisioning-row summary {
  cursor: pointer;
}
.admin-provisioning-row summary:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-provisioning-row[open] {
  width: min(19rem, 50vw);
}
@media (max-width:600px) {
  .admin-root .admin-provisioning {
    padding: .5rem;
  }
  .admin-org-table {
    overflow-x: visible;
  }
  .admin-org-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .admin-org-table table,
  .admin-org-table tbody,
  .admin-org-table tr,
  .admin-org-table td {
    display: block;
    min-width: 0;
    width: 100%;
  }
  .admin-org-table tbody {
    display: grid;
    gap: .75rem;
  }
  .admin-org-table tr {
    padding: .5rem;
    border: 1px solid hsl(var(--border));
    border-radius:8px;
  }
  .admin-org-table td {
    border: 0;
    overflow-wrap: anywhere;
  }
  .admin-org-table td::before {
    content: attr(data-label);
    display: block;
    color: hsl(var(--muted-foreground));
    font-size: .8125rem;
  }
  .admin-org-table .admin-provisioning-row[open] {
    width: 100%;
  }
}

.admin-partners input {
  width: 100%;
  min-width: 0;
}
.admin-partners form {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: end;
}
.admin-partners label {
  flex: 1 1 12rem;
  min-width: 0;
}
.admin-partners li {
  margin-block: .75rem;
  min-width: 0;
  overflow-wrap: anywhere;
}
.admin-partners ul {
  padding-inline-start: 1.25rem;
}
.admin-partner-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem 1rem;
  margin-block: .35rem;
}
.admin-partner-organization {
  display: block;
  margin-block: .35rem;
}
.admin-partners small {
  display: block;
  font-size: .75rem;
  overflow-wrap: anywhere;
}
.admin-partners button {
  white-space: normal;
  height: auto;
  min-height: 2.5rem;
  max-width: 100%;
}
.admin-partners h1,
.admin-partners dd,
.admin-partners a,
.admin-partners strong {
  overflow-wrap: anywhere;
}
.admin-partners dd {
  margin-inline-start: 0;
}
/* stage-2 group A (clients/partners): header link buttons, compact forms, tables, pager */
.admin-root main .admin-page-actions .admin-link-btn { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border:1px solid hsl(var(--border)); border-radius:var(--admin-field-radius); background:hsl(var(--card)); color:hsl(var(--foreground)); font-size:12px; font-weight:500; text-decoration:none; white-space:nowrap; }
.admin-root main .admin-page-actions .admin-link-btn:hover { background:hsl(var(--muted)); }
.admin-root main .admin-page-actions .admin-button { min-height:28px; height:auto; font-size:12px; padding:3px 10px; }
.admin-root main :is(.admin-partners,.admin-partner-links,.admin-partner-signups,.admin-manager-partners) a:not(.admin-link-btn) { text-decoration:none; }
.admin-root main :is(.admin-partners,.admin-partner-links,.admin-partner-signups,.admin-manager-partners) a:not(.admin-link-btn):hover { text-decoration:underline; }
.admin-root main .admin-partners .admin-table small { display:inline; font-size:12px; margin-left:6px; }
.admin-root main .admin-partner-organization { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:0 6px; font-size:12px; }
.admin-root main .admin-partner-organization small { margin:0; }
.admin-root main :is(.admin-form-card,.admin-provisioning) .admin-record-head { margin-bottom:0; }
.admin-root main .admin-partners button { min-height:26px; height:auto; }
.admin-root main .admin-section-title { margin:16px 0 8px; font-size:13px; font-weight:600; }
.admin-root main .admin-partner-facts { max-width:640px; margin-bottom:12px; }
.admin-root main :is(.admin-partners,.admin-partner-links,.admin-partner-signups,.admin-manager-partners) .admin-pagination { border-bottom:0; padding:8px 0; justify-content:flex-end; }
.admin-root main .admin-form-card { display:grid; gap:8px; margin:0 0 12px; padding:12px; border:1px solid hsl(var(--border)); border-radius:var(--admin-radius); background:hsl(var(--card)); min-width:0; max-width:640px; }
.admin-root main .admin-form-card > h2, .admin-root main .admin-form-card > legend { margin:0; font-size:13px; font-weight:600; }
.admin-root main .admin-form-card :is(p,dl) { margin:0; font-size:12px; }
.admin-root main .admin-form-card label { display:grid; gap:4px; margin:0; min-width:0; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-form-card :is(input,select,textarea) { width:100%; min-width:0; max-width:100%; min-height:30px; padding:4px 8px; font-size:13px; box-sizing:border-box; }
.admin-root main .admin-form-card textarea { min-height:56px; resize:vertical; }
.admin-root main .admin-form-card .admin-button { width:auto; min-height:28px; height:auto; padding:3px 10px; font-size:12px; white-space:normal; }
.admin-root main .admin-form-card .admin-form-row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.admin-root main .admin-form-card .admin-form-grid, .admin-root main .admin-form-card fieldset { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:8px; border:0; padding:0; margin:0; min-width:0; }
.admin-root main .admin-form-card fieldset > legend { grid-column:1/-1; padding:0; margin:0 0 4px; font-size:13px; font-weight:600; }
.admin-root main .admin-form-card fieldset > .admin-button { justify-self:start; }
.admin-root main .admin-form-card code { overflow-wrap:anywhere; white-space:normal; font-size:12px; }
.admin-root main .admin-record-list { display:grid; gap:8px; list-style:none; margin:0 0 12px; padding:0; }
.admin-root main .admin-partners .admin-record-list > li, .admin-root main .admin-record-list > li { margin:0; padding:10px 12px; border:1px solid hsl(var(--border)); border-radius:var(--admin-radius); background:hsl(var(--card)); }
.admin-root main .admin-record-list > li:first-child, .admin-root main .admin-record-list > li:last-child { border-radius:var(--admin-radius); border:1px solid hsl(var(--border)); }
.admin-root main .admin-record-head { display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; margin-bottom:6px; font-size:13px; }
.admin-root main .admin-record-head > strong, .admin-root main .admin-record-head > a { font-weight:600; }
.admin-root main .admin-record-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:6px 16px; margin:0; font-size:12px; }
.admin-root main .admin-record-facts > div { min-width:0; }
.admin-root main .admin-record-facts dt { color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-root main .admin-record-facts dd { margin:0; overflow-wrap:anywhere; font-size:13px; }
.admin-root main :is(.admin-partners,.admin-partner-links,.admin-partner-signups,.admin-manager-partners) [data-admin-filters] > input[type=search] { flex:0 1 280px; max-width:280px; }
.admin-root main [data-admin-filters] label.admin-filter-chip { flex:0 0 auto; max-width:none; }
.admin-root main .admin-page-actions .admin-button { font-weight:500; }
.admin-root main .admin-form-card form + form { padding-top:8px; border-top:1px solid hsl(var(--border)); }
.admin-root main [data-admin-filters] .admin-filter-chip input { width:44px; flex:none; }
.admin-root main :is(.admin-partners,.admin-manager-partners) .admin-table .admin-button { min-height:26px; height:auto; padding:3px 8px; font-size:12px; font-weight:500; white-space:nowrap; }
.admin-root main .admin-table td > small.admin-block { display:block; margin:2px 0 0; }
.admin-root main .admin-record-table td:first-child::before { display:none; }
.admin-root main .admin-provisioning { display:grid; gap:8px; padding:12px; margin:0 0 12px; border:1px solid hsl(var(--border)); border-radius:var(--admin-radius); background:hsl(var(--card)); }
.admin-root main .admin-provisioning h2 { margin:0; font-size:13px; font-weight:600; }
.admin-root main .admin-provisioning-fields { grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:8px 12px; align-items:start; margin-bottom:8px; }
.admin-root main .admin-provisioning label { display:grid; gap:4px; margin:0; font-size:12px; color:hsl(var(--muted-foreground)); align-content:start; }
.admin-root main .admin-provisioning .admin-field-label { display:flex; align-items:center; gap:6px; }
.admin-root main .admin-provisioning :is(input,select):not([type=checkbox]) { min-height:30px; padding:4px 8px; font-size:13px; width:100%; box-sizing:border-box; }
.admin-root main .admin-provisioning label.admin-provisioning-check { display:flex; align-items:center; gap:8px; align-self:end; min-height:30px; color:hsl(var(--foreground)); }
.admin-root main .admin-provisioning .admin-button { min-height:28px; height:auto; padding:3px 10px; font-size:12px; white-space:normal; }
.admin-root main .admin-provisioning .admin-form-row { display:flex; flex-wrap:wrap; gap:8px; }
.admin-root main .admin-org-overview-actions .admin-button { min-height:28px; height:auto; padding:3px 10px; font-size:12px; font-weight:500; }
.admin-root main .admin-org-facts .admin-button { min-height:24px; height:auto; padding:0 6px; font-size:12px; font-weight:500; }
.admin-root main .admin-form-card-body { display:grid; gap:8px; }
.admin-root main .admin-form-card :is(.admin-form-card-body,form) > .admin-button { justify-self:start; }
.admin-root main .admin-picker-row .admin-combobox { width:300px; }
.admin-root main .admin-picker-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 12px; }
.admin-health-services {
  align-items: start;
}
.admin-root .admin-health-service {
  margin-block: 0;
  padding: .85rem 1rem;
  font-size: .875rem;
}
.admin-health-service h3,
.admin-health-service p {
  margin-block: .25rem;
}
.admin-health-sample {
  font-size: .75rem;
}
.admin-health-metrics {
  margin-block: .75rem 0;
}
.admin-health-metrics > div {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: .75rem;
  padding-block: .25rem;
  border-top: 1px solid hsl(var(--border));
}
.admin-root .admin-health-metrics dd {
  margin: 0;
  text-align: end;
  font-variant-numeric: tabular-nums;
}
.admin-health-error {
  font-weight: 650;
}

.admin-audit-action {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .25rem .5rem;
}

.admin-ai-settings,
.admin-ai-settings fieldset,
.admin-ai-settings label,
.admin-ai-settings input,
.admin-ai-settings textarea {
  min-width: 0;
  max-width: 100%;
}
.admin-ai-settings {
  overflow-wrap: anywhere;
}
.admin-ai-settings .admin-filters {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr));
}
.admin-ai-list {
  list-style: none;
  padding: 0;
}
.admin-ai-list > li {
  padding-block: 1rem;
  border-bottom: 1px solid hsl(var(--border));
}
.admin-ai-content {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-family: inherit;
  background: hsl(var(--muted));
  border-radius: .5rem;
  padding: .75rem;
  margin-block: .5rem;
}
.admin-ai-settings textarea {
  width: 100%;
  min-height: 10rem;
  resize: vertical;
  background: hsl(var(--background));
  color: inherit;
  border: 1px solid hsl(var(--border));
  border-radius: .5rem;
  padding: .75rem;
}
.admin-ai-settings textarea:focus-visible,
.admin-ai-settings summary:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-ai-editor fieldset {
  display: grid;
  gap: .75rem;
  border: 1px solid hsl(var(--border));
  border-radius: .5rem;
  padding: .75rem;
  margin-top: 1rem;
}
.admin-ai-settings button {
  white-space: normal;
  height: auto;
  min-height: 2.5rem;
  max-width: 100%;
}
.admin-ai-settings .admin-ai-check {
  display: flex;
  align-items: center;
}
.admin-ai-staff-reference {
  font-size: .875rem;
}
.admin-ai-staff-reference summary {
  cursor: pointer;
}
.admin-ai-confirm {
  margin-top: .75rem;
  scroll-margin-block: 1rem;
  border: 1px solid hsl(var(--border));
  border-radius: .5rem;
  padding: .75rem;
}
.admin-ai-diff {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr));
  gap: 1rem;
}
.admin-ai-diff > div {
  min-width: 0;
}
/* stage 2 (group C): AI settings */
.admin-root main .admin-ai-settings button { min-height:0; }
.admin-root main .admin-ai-settings .admin-ai-panel { padding:12px 16px; margin-block:0 12px; }
.admin-ai-panel-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.admin-root main .admin-ai-panel-head h2 { font-size:15px; line-height:20px; margin:0; }
.admin-root main .admin-ai-list > li { padding:8px 0; border-top:1px solid hsl(var(--border)); border-bottom:0; }
.admin-root main .admin-ai-list > li:first-child { border-top:0; }
.admin-root main .admin-ai-list h3 { display:flex; align-items:baseline; gap:8px; margin:0 0 4px; font-size:13px; }
.admin-root main .admin-ai-list h3 small { font-size:11px; font-weight:400; }
.admin-root main .admin-ai-settings .admin-billing-values { display:flex; flex-wrap:wrap; gap:4px 16px; margin:4px 0; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-ai-settings .admin-billing-values > div { display:inline-flex; gap:4px; padding:0; border:0; }
.admin-root main .admin-ai-settings .admin-billing-values dd { margin:0; color:hsl(var(--foreground)); }
.admin-root main .admin-ai-settings .admin-ai-content { padding:8px; margin-block:4px; font-size:12px; max-height:160px; overflow:auto; }
.admin-root main .admin-ai-settings .admin-ai-list p { margin-block:4px; }
.admin-root main .admin-ai-settings .admin-ai-toggle { height:auto; min-height:0; padding:2px 0; margin-top:4px; font-size:12px; color:hsl(var(--primary)); background:transparent; }
.admin-root main .admin-ai-editor[hidden] { display:none; }
.admin-root main .admin-ai-editor fieldset { gap:8px; padding:8px 12px; margin-top:6px; }
.admin-root main .admin-ai-editor label { display:grid; gap:4px; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-ai-editor label.admin-ai-check { display:flex; }
.admin-root main .admin-ai-editor input:not([type=checkbox]), .admin-root main .admin-ai-editor select { height:30px; min-height:30px; font-size:13px; }
.admin-root main .admin-ai-editor textarea { min-height:6rem; font-size:13px; }
.admin-root main .admin-ai-settings [data-admin-filters] input[type=checkbox] { width:14px; height:14px; margin:0; }
.admin-root main .admin-ai-manual { font-size:12px; margin-bottom:8px; }
.admin-root main .admin-ai-staff-reference { display:inline-flex; align-items:baseline; gap:6px; font-size:12px; }
@media (max-width:600px) {
  .admin-ai-settings .admin-panel {
    padding: .75rem;
  }
}
.admin-guest-app, .admin-guest-app .admin-panel,
.admin-billing,
.admin-billing-organizations,
.admin-m17,
.admin-m17-id,
.admin-m17-tabs,
.admin-m17 .admin-billing-values > div {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.admin-guest-app .admin-billing-values > div {
  min-width: 0;
}

.admin-guest-app .admin-panel {
  padding: 1rem;
}
.admin-guest-sections {
  list-style: none;
  padding: 0;
  margin: 0;
}
.admin-guest-sections small,
.admin-guest-asset,
.admin-guest-placement,
.admin-guest-media {
  font-size: .75rem;
  color: hsl(var(--muted-foreground));
}
.admin-guest-asset summary {
  cursor: pointer;
}
.admin-guest-asset summary:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-guest-asset dl {
  margin-block: .5rem;
}
.admin-guest-asset dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.admin-guest-swatch {
  display: inline-block;
  width: 1.1rem;
  height: 1.1rem;
  border: 1px solid hsl(var(--muted-foreground));
  border-radius: .25rem;
  vertical-align: middle;
  margin-inline-end: .5rem;
}
.admin-guest-modules table {
  table-layout: fixed;
  font-size: .875rem;
}
.admin-guest-modules th:first-child {
  width: 32%;
}
.admin-guest-modules th:nth-child(4),
.admin-guest-modules th:nth-child(6) {
  width: 9%;
}
.admin-guest-modules td {
  vertical-align: top;
}
.admin-guest-modules h3,
.admin-guest-placement {
  margin-block: 0 .25rem;
}
.admin-guest-media {
  display: grid;
  gap: .25rem;
  margin-block: .25rem 0;
}
.admin-guest-media > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0 .5rem;
}
.admin-guest-media dd {
  margin: 0;
  min-width: 0;
  max-width: 100%;
}
.admin-guest-badge {
  display: inline-block;
  border-radius: .4rem;
  padding: .15rem .4rem;
  background: hsl(var(--muted));
}
.admin-guest-badge-accent {
  background: hsl(var(--primary) / .12);
}
@media (max-width:760px) {
  .admin-guest-app .admin-panel {
    padding: .75rem;
  }
  .admin-guest-app .admin-billing-values {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .75rem;
    font-size: .8125rem;
  }
  .admin-guest-modules thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .admin-guest-modules table,
  .admin-guest-modules tbody {
    display: block;
    width: 100%;
  }
  .admin-guest-modules tr {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .35rem .5rem;
    padding: .65rem;
    margin-block: .5rem;
    border: 1px solid hsl(var(--border));
    border-radius:8px;
  }
  .admin-root .admin-guest-modules td {
    display: block;
    min-width: 0;
    border: 0;
    padding: 0;
    font-size: .8125rem;
  }
  .admin-guest-modules td:first-child {
    grid-column: 1 / -1;
  }
  .admin-guest-modules td:not(:first-child)::before {
    content: attr(data-label);
    display: block;
    color: hsl(var(--muted-foreground));
    font-size: .75rem;
  }
}
.admin-po-facts { display:grid; grid-template-columns:minmax(120px,200px) minmax(0,1fr); gap:0 16px; margin:0; }
.admin-po-facts > dt, .admin-po-facts > dd { margin:0; padding:7px 0; border-bottom:1px solid hsl(var(--border)); }
.admin-po-facts > dt { font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-partner-orders .admin-panel > h2 { font-size:14px; margin:0 0 8px; }
.admin-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.admin-po-table td > strong { display:block; }
.admin-po-table td > small { display:block; color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-root .admin-po-table .admin-po-open { height:auto; min-height:0; padding:0; font-size:12px; font-weight:400; color:hsl(var(--muted-foreground)); }
.admin-root .admin-po-table .admin-po-open:hover { color:hsl(var(--primary)); background:transparent; }
.admin-po-table .admin-po-id > summary { font-size:12px; cursor:pointer; }
.admin-root .admin-po-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  align-items: end;
  gap: 0.75rem;
}
.admin-po-filters > *, .admin-po-filters label, .admin-po-directory {
  min-width: 0;
  max-width: 100%;
}
.admin-po-directory {
  display: grid;
  gap: 0.5rem;
}
.admin-po-filters input, .admin-po-filters select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.admin-partner-orders, .admin-partner-orders .admin-panel {
  overflow-wrap: anywhere;
  min-width: 0;
}
.admin-partner-orders button {
  white-space: normal;
  overflow-wrap: anywhere;
  min-width: 0;
  max-width: 100%;
  height: auto;
  min-height: 28px;
}
.admin-partner-orders .admin-po-open {
  display: inline-flex;
}
.admin-partner-orders dd {
  margin-inline-start: 0;
}
.admin-po-id {
  font-size: 0.75rem;
}
.admin-partner-orders summary {
  cursor: pointer;
  overflow-wrap: anywhere;
}
.admin-providers {
  min-width: 0;
  overflow-wrap: anywhere;
}
.admin-provider-list {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr));
  gap: 1rem;
  align-items: start;
}
.admin-provider-row {
  margin-block: 0;
}
.admin-providers summary {
  cursor: pointer;
}
.admin-providers summary:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-provider-identifier {
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}
.admin-provider-identifier summary {
  font-size: .8125rem;
}
.admin-provider-edit form,
.admin-provider-edit label {
  grid-template-columns: minmax(0,1fr);
}
.admin-provider-edit form > * {
  min-width: 0;
}
.admin-provider-fields {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1rem;
}
.admin-providers input,
.admin-providers select,
.admin-providers textarea,
.admin-providers label {
  min-width: 0;
  max-width: 100%;
}
.admin-provider-edit input:not([type="checkbox"]),
.admin-provider-edit select {
  width: 100%;
}
.admin-providers textarea {
  resize: vertical;
  width: 100%;
}
.admin-root .admin-provider-check {
  display: flex;
  align-items: center;
}
.admin-provider-actions,
.admin-provider-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-block: .75rem;
}
.admin-providers button {
  min-width: 0;
  white-space: normal;
  height: auto;
  min-height: 2.5rem;
  max-width: 100%;
}
.admin-provider-guide {
  white-space: pre-wrap;
}
/* stage 2 (group C): providers */
.admin-root main .admin-providers button { min-height:0; }
.admin-root main .admin-provider-list { display:block; padding:0; margin:0 0 8px; border:1px solid hsl(var(--border)); border-radius:var(--admin-radius); background:hsl(var(--card)); }
.admin-root main .admin-provider-list > li { margin:0; padding:0; border:0; border-top:1px solid hsl(var(--border)); border-radius:0; background:transparent; }
.admin-root main .admin-provider-list > li:first-child { border-top:0; }
.admin-root main .admin-provider-list .admin-provider-row { padding:8px 12px; border:0; box-shadow:none; background:transparent; }
.admin-provider-line { display:grid; grid-template-columns:minmax(180px,1.4fr) minmax(100px,.8fr) minmax(200px,1.6fr) minmax(90px,.7fr) auto; align-items:center; gap:8px 12px; }
.admin-provider-line > p { grid-column:2 / -1; margin:0; }
.admin-root main .admin-provider-name { display:flex; flex-direction:column; min-width:0; }
.admin-root main .admin-provider-name h2 { font-size:13px; line-height:18px; margin:0; font-weight:600; }
.admin-root main .admin-provider-name .admin-code, .admin-root main .admin-provider-name summary { font-size:11px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-provider-line .admin-provider-badges { margin:0; gap:4px; }
.admin-root main .admin-provider-line .admin-muted, .admin-provider-category { font-size:12px; }
.admin-root main .admin-provider-more { display:flex; flex-wrap:wrap; gap:4px 16px; font-size:12px; }
.admin-root main .admin-provider-more > details { min-width:0; }
.admin-root main .admin-provider-more > details[open] { flex-basis:100%; }
.admin-root main .admin-provider-more summary { color:hsl(var(--muted-foreground)); }
.admin-root main .admin-provider-more dl { display:grid; grid-template-columns:minmax(120px,200px) 1fr; gap:2px 12px; margin:6px 0; }
.admin-root main .admin-provider-more dl > div { display:contents; }
.admin-root main .admin-provider-more dt { color:hsl(var(--muted-foreground)); }
.admin-root main .admin-provider-more dd { margin:0; }
.admin-root main .admin-providers .admin-provider-edit { padding:12px 16px; margin-bottom:12px; }
.admin-provider-edit-head { display:flex; align-items:center; gap:8px; }
.admin-root main .admin-provider-edit-head h2 { font-size:15px; margin:0; }
.admin-root main .admin-provider-edit label { display:grid; gap:4px; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-provider-edit label.admin-provider-check { display:flex; font-size:13px; color:inherit; }
.admin-root main .admin-provider-edit input:not([type=checkbox]), .admin-root main .admin-provider-edit select { height:30px; min-height:30px; font-size:13px; }
.admin-root main .admin-provider-edit input[type=checkbox] { width:14px; height:14px; margin:0; }
.admin-root main .admin-provider-edit textarea { min-height:56px; font-size:13px; font-family:inherit; }
.admin-root main .admin-provider-edit .admin-provider-fields { gap:8px 16px; margin-block:8px; }
@media (max-width:900px) { .admin-provider-line > p { grid-column:1 / -1; margin:0; } .admin-provider-line { grid-template-columns:minmax(0,1fr) auto; } .admin-provider-line > .admin-provider-badges { grid-column:1 / -1; } }
.admin-guides,
.admin-guides-layout > *,
.admin-guides article {
  min-width: 0;
  overflow-wrap: anywhere;
}
.admin-guides-layout {
  display: grid;
  grid-template-columns: minmax(15rem, 20rem) minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
}
.admin-guides-list {
  position: sticky;
  top: 1rem;
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
}
.admin-guides-list label {
  display: block;
  margin-bottom: .5rem;
}
.admin-guides-list h2 {
  margin-top: 1.5rem;
}
.admin-guides-list h3 {
  color: hsl(var(--muted-foreground));
  font-size: .875rem;
  margin: 1rem 0 .25rem;
}
.admin-guide-links {
  list-style: none;
  padding: 0;
  margin: .5rem 0;
}
.admin-root .admin-guide-links a {
  display: block;
  justify-content: flex-start;
  height: auto;
  width: 100%;
  white-space: normal;
  text-align: start;
  text-decoration: none;
  padding: .75rem;
}
.admin-guide-text {
  line-height: 1.65;
  white-space: pre-wrap;
}
.admin-guide-text p {
  margin: 1rem 0;
}
.admin-guide-text figure {
  margin: 1.5rem 0;
}
.admin-guide-text img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 1px solid hsl(var(--border));
  border-radius:8px;
}
.admin-guide-clarification {
  background: hsl(var(--warning) / .15);
  color: hsl(var(--warning-foreground));
  border-inline-start: 3px solid hsl(var(--warning));
  border-radius: .5rem;
  padding: .75rem 1rem;
}
.admin-root .admin-guides-back {
  text-decoration: none;
  margin-bottom: 1rem;
}
/* stage 2 (group C): guides */
.admin-root main .admin-guides .admin-guides-list { padding:12px; }
.admin-root main .admin-guides-list h2 { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:hsl(var(--muted-foreground)); margin:12px 0 4px; }
.admin-root main .admin-guides-list h2:first-of-type { margin-top:8px; }
.admin-root main .admin-guides-list h3 { font-size:12px; margin:8px 0 2px; }
.admin-root main .admin-guide-links { margin:0; }
.admin-root main .admin-guide-links a { padding:5px 8px; min-height:0; font-size:13px; font-weight:500; line-height:18px; }
.admin-root main .admin-guide-links a[aria-current=page] { background:hsl(var(--muted)); font-weight:600; }
.admin-root main .admin-guides .admin-guides-back { margin:0; text-decoration:none; }
.admin-root main .admin-guides-detail { padding:16px 20px; }
.admin-root main .admin-guides-detail article > h2 { display:inline-block; font-size:18px; line-height:24px; margin:0 8px 8px 0; }
.admin-root main .admin-guide-text { line-height:1.55; font-size:13px; }
.admin-root main .admin-guide-text p { margin:8px 0; }
.admin-root main .admin-guide-text figure { margin:12px 0; }
.admin-root main .admin-guides-list > input[type=search] { width:100%; }
@media (max-width: 700px) {
  .admin-guides-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .admin-guides-list {
    position: static;
    max-height: none;
  }
  .admin-guides[data-guide-open="true"] .admin-guides-list,
  .admin-guides[data-guide-open="false"] .admin-guides-detail {
    display: none;
  }
}
@media (max-width:600px) {
  .admin-provider-fields,
  .admin-providers .admin-filters {
    grid-template-columns: minmax(0,1fr);
  }
  .admin-provider-edit .admin-provider-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .admin-providers .admin-panel {
    padding: .75rem;
  }
}

.admin-workflows {
  min-width: 0;
  overflow-wrap: anywhere;
}
.admin-workflows .admin-filters {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,190px),1fr));
}
.admin-workflows h1,
.admin-workflows h2,
.admin-workflows h3,
.admin-workflows form > *,
.admin-workflows fieldset,
.admin-workflows label,
.admin-workflows input,
.admin-workflows select,
.admin-workflows textarea,
.admin-workflows .admin-lead-fields > * {
  min-width: 0;
  max-width: 100%;
}
.admin-workflows button {
  height: auto;
  min-height: 2.5rem;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.admin-workflows input,
.admin-workflows select,
.admin-workflows textarea {
  width: 100%;
}
.admin-root .admin-workflow-check {
  display: flex;
  align-items: center;
}
.admin-workflow-check input {
  width: auto;
  flex-shrink: 0;
}
.admin-workflow-list {
  list-style: none;
  padding: 0;
}
.admin-workflow-list > li {
  padding-block: .75rem;
  border-bottom: 1px solid hsl(var(--border));
}
.admin-workflow-reference {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .25rem .5rem;
  max-width: 100%;
}
.admin-workflow-reference details {
  min-width: 0;
  max-width: 100%;
}
.admin-workflows summary {
  cursor: pointer;
  font-size: .8125rem;
}
.admin-workflow-notice {
  padding: .75rem;
  border-inline-start: .25rem solid hsl(var(--primary));
  background: hsl(var(--muted));
}
.admin-workflow-editor fieldset {
  display: grid;
  gap: .75rem;
  border: 1px solid hsl(var(--border));
  border-radius: .5rem;
  padding: .75rem;
}
.admin-workflows textarea {
  resize: vertical;
  border: 1px solid hsl(var(--border));
  border-radius: .5rem;
  background: hsl(var(--background));
  color: inherit;
  padding: .5rem;
  font: inherit;
}
.admin-workflows textarea:focus-visible,
.admin-workflows summary:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}
.admin-workflow-confirm {
  max-height: min(24rem,65dvh);
  overflow-y: auto;
  scroll-margin-block: 1rem;
  border: 1px solid hsl(var(--border));
  border-radius: .5rem;
  padding: .65rem;
  font-size: .875rem;
}
.admin-workflow-confirm p {
  margin-block: .35rem;
}
.admin-workflow-steps {
  padding-inline-start: 1rem;
}
/* stage 2 (group C): workflows */
.admin-root main .admin-workflows button { min-height:0; }
.admin-root main .admin-workflows .admin-org-tabs [role=tab] { height:auto; min-height:34px; white-space:nowrap; }
.admin-root main .admin-workflows [data-admin-filters] input:not([type=checkbox]), .admin-root main .admin-workflows [data-admin-filters] select { min-height:28px; height:28px; font-size:13px; }
.admin-root main .admin-workflows [data-admin-filters] > input[type=search] { width:auto; flex:1 1 220px; max-width:320px; }
.admin-root main .admin-workflows [data-admin-filters] input[type=checkbox] { width:14px; height:14px; margin:0; }
.admin-root main .admin-workflows .admin-workflow-org { position:relative; width:240px; max-width:100%; }
.admin-root main .admin-workflows .admin-workflow-org .admin-combobox { width:100%; }
.admin-root main .admin-workflows .admin-workflow-org > details { position:absolute; right:8px; top:6px; margin:0; font-size:11px; }
.admin-root main .admin-workflows .admin-workflow-org > details > summary { list-style:none; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-workflows .admin-workflow-org > details > summary::-webkit-details-marker { display:none; }
.admin-root main .admin-workflows .admin-workflow-org > details[open] { z-index:20; top:32px; left:0; right:auto; width:240px; padding:8px; border:1px solid hsl(var(--border)); border-radius:var(--admin-radius); background:hsl(var(--card)); }
.admin-root main .admin-workflows .admin-workflow-table td:last-child { text-align:end; white-space:nowrap; }
.admin-root main .admin-workflows .admin-workflow-table .admin-muted { font-size:12px; }
.admin-root main .admin-workflows .admin-workflow-card { padding:12px 16px; margin-block:12px; }
.admin-root main .admin-workflows .admin-workflow-card-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.admin-root main .admin-workflows .admin-workflow-card-head h2 { font-size:15px; margin:0; }
.admin-root main .admin-workflows .admin-lead-fields { font-size:13px; gap:6px 16px; margin-block:8px; }
.admin-root main .admin-workflows .admin-lead-fields dt { font-size:12px; }
.admin-root main .admin-workflows .admin-workflow-editor label { display:grid; gap:4px; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-workflows .admin-workflow-editor fieldset { padding:8px 12px; }
.admin-root main .admin-workflows .admin-workflow-editor input:not([type=checkbox]), .admin-root main .admin-workflows .admin-workflow-editor select { height:30px; min-height:30px; font-size:13px; }
.admin-root main .admin-workflows .admin-pagination { padding:8px 0; }
@media (max-width:600px) {
  .admin-root main .admin-workflows .admin-workflow-table td:last-child { text-align:start; }
  .admin-root main .admin-workflows .admin-workflow-table td:first-child::before { display:none; }
  .admin-root main .admin-workflows [data-admin-filters] > input[type=search], .admin-root main .admin-workflows .admin-workflow-org { width:100%; flex:1 1 100%; max-width:100%; }
  .admin-root .admin-workflows,
  .admin-workflows .admin-panel {
    padding: .75rem;
  }
}
.admin-m17-tabs button,
.admin-m17 .admin-billing-actions button {
  height: auto;
  min-height: 2.5rem;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.admin-m17-tabs [aria-selected="true"] {
  border-color: hsl(var(--primary));
  background: hsl(var(--primary) / .12);
}
.admin-billing .admin-money {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.admin-m17-id summary {
  cursor: pointer;
}
.admin-m17-id summary:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}

.admin-geo,
.admin-geo-country,
.admin-geo-city,
.admin-geo-names,
.admin-geo label {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.admin-geo input { width: 100%; min-width: 0; }
.admin-geo-country { margin-block: 1rem; }
.admin-geo-city { border-top: 1px solid hsl(var(--border)); padding-block: .75rem; }
.admin-geo-names > div { display: grid; grid-template-columns: 2.5rem minmax(0,1fr); gap: .5rem; }
.admin-geo-names dd { margin: 0; min-width: 0; }
.admin-geo-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.admin-geo button { white-space: normal; height: auto; min-height: 2.5rem; max-width: 100%; }
@media (max-width: 600px) { .admin-geo .admin-panel { padding: .75rem; } }
/* stage 2 (group C): geo */
.admin-root main .admin-geo button { min-height:0; }
.admin-root main .admin-geo .admin-geo-country { margin-block:0 12px; padding:0; }
.admin-geo-head, .admin-root main .admin-geo-city { display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; }
.admin-root main .admin-geo-head { padding:8px 12px; background:hsl(var(--muted) / .5); border-radius:var(--admin-radius) var(--admin-radius) 0 0; }
.admin-root main .admin-geo-head h2 { font-size:14px; line-height:20px; margin:0; min-width:140px; }
.admin-root main .admin-geo-head h2 small { font-weight:400; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-geo .admin-geo-names { display:flex; flex-wrap:wrap; gap:0 12px; margin:0; font-size:12px; }
.admin-root main .admin-geo .admin-geo-names > div { display:inline-flex; gap:4px; }
.admin-root main .admin-geo .admin-geo-names dt { color:hsl(var(--muted-foreground)); }
.admin-root main .admin-geo .admin-geo-country p { margin:0; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-geo-head .admin-geo-actions, .admin-root main .admin-geo-city .admin-geo-actions { margin-left:auto; gap:4px; }
.admin-root main .admin-geo-country > section { padding:0 12px; }
.admin-root main .admin-geo-country > section > h3 { font-size:11px; font-weight:500; color:hsl(var(--muted-foreground)); margin:8px 0 2px; }
.admin-root main .admin-geo-city { border-top:1px solid hsl(var(--border)); padding:6px 0; }
.admin-root main .admin-geo-city h4 { font-size:13px; margin:0; min-width:120px; }
.admin-root main .admin-geo-city > small { font-size:11px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-geo-city details { font-size:11px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-geo-city details p { margin:2px 0; }
.admin-root main .admin-geo-editor { padding:12px 16px; margin-block:0 12px; border:1px solid hsl(var(--border)); border-radius:var(--admin-radius); background:hsl(var(--card)); grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px 16px; }
.admin-root main .admin-geo-editor > h2 { grid-column:1 / -1; font-size:15px; margin:0; }
.admin-root main .admin-geo-editor label { gap:4px; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-geo-editor input:not([type=checkbox]), .admin-root main .admin-geo-editor select { height:30px; min-height:30px; font-size:13px; }
.admin-root main .admin-geo-editor input[type=checkbox] { width:14px; height:14px; }
.admin-root main .admin-geo-editor > :is(div,p,button,.admin-state) { grid-column:1 / -1; }
.admin-deploy { min-width: 0; }
.admin-deploy form, .admin-deploy label { display: grid; gap: .5rem; margin-block: .75rem; min-width: 0; }
.admin-deploy select, .admin-deploy textarea { width: 100%; min-width: 0; max-width: 100%; padding: .6rem; border: 1px solid hsl(var(--border)); border-radius: .5rem; background: hsl(var(--background)); }
.admin-deploy p { overflow-wrap: anywhere; }
.admin-deploy .admin-actions { display: flex; flex-wrap: wrap; gap: .5rem; }

.admin-deploy-ids { font-size: .75rem; color: hsl(var(--muted-foreground)); }
.admin-deploy-ids span { display: inline-block; }
.admin-deploy-request > h2 { font-size: 1rem; }
.admin-deploy-request > button, .admin-deploy-request > a { margin-block: .5rem; }
.admin-deploy-confirm { margin-block: .75rem; padding: .75rem; border: 1px solid hsl(var(--border)); border-radius: .5rem; }
.admin-deploy button { white-space: normal; height: auto; min-height: 2.5rem; max-width: 100%; }
.admin-deploy summary { cursor: pointer; overflow-wrap: anywhere; }
.admin-deploy-details { margin-top: .75rem; }
.admin-deploy-details dt { margin-top: .75rem; font-weight: 600; }
.admin-deploy-details dd { margin: .25rem 0 0; overflow-wrap: anywhere; }
.admin-deploy-details code { user-select: all; }
.admin-deploy-releases { min-width: 0; margin: 0; padding: .6rem; border: 1px solid hsl(var(--border)); border-radius: .5rem; }
.admin-deploy .admin-deploy-releases label { display: flex; align-items: flex-start; gap: .5rem; overflow-wrap: anywhere; }
.admin-deploy-releases input { flex: none; margin-top: .25rem; }
.admin-deploy-releases span { min-width: 0; }
.admin-deploy [role="alert"] { scroll-margin-block: 1rem; }

.admin-lead-notes, .admin-lead-notes form, .admin-lead-notes label,
.admin-lead-takeover, .admin-lead-takeover form, .admin-lead-takeover label,
.admin-lead-reply, .admin-lead-reply form, .admin-lead-reply label {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.admin-lead-notes textarea, .admin-lead-takeover textarea, .admin-lead-reply textarea {
  width: 100%;
  min-width: 0;
  min-height: 3.5rem;
  padding: 6px 8px;
  border: 1px solid hsl(var(--border));
  border-radius: .5rem;
  background: transparent;
  color: inherit;
  resize: vertical;
  overflow-wrap: anywhere;
}
.admin-lead-reply button {
  max-width: 100%;
  white-space: normal;
  height: auto;
  min-height: 2.5rem;
}
.admin-lead-note-confirm {
  min-width: 0;
  padding: .75rem;
  border: 1px solid currentColor;
  border-radius: .5rem;
  scroll-margin-block: 1rem;
}
.admin-lead-note-preview {
  max-height: 5rem;
  overflow-y: auto;
}
.admin-lead-note-confirm .admin-billing-actions > button {
  max-width: 100%;
  white-space: normal;
  height: auto;
  min-height: 2.5rem;
}
.admin-dialog { width:min(40rem,calc(100vw - 32px)); padding:20px; font:inherit; }
.admin-dialog h3 { margin:0 0 12px; font-size:14px; font-weight:600; }
.admin-dialog > button { display:block; width:100%; height:auto; white-space:normal; margin:8px 0; }
.admin-dialog select { width:100%; font:inherit; }
.admin-notice { margin:0; padding:8px 16px; border-radius:8px; font-size:13px; }
.admin-access { min-width: 0; overflow-wrap: anywhere; }
.admin-access-form fieldset { display: grid; gap: 1rem; min-width: 0; }
.admin-access-form label { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; min-width: 0; }
.admin-access-form select, .admin-access-form textarea, .admin-access-form input:not([type=checkbox]) { width: 100%; max-width: 100%; min-width: 0; }
.admin-access-form details label { padding: .35rem 0; }
.admin-access-id details { font-size: .85em; font-weight: normal; }
.admin-access-id summary { cursor: pointer; }
.admin-access .admin-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: .75rem; }
.admin-access-label {
  display: inline-flex;
  flex-direction: column;
  min-width: 0;
  gap: .15rem;
}
.admin-access-label small {
  font-size: .75rem;
  font-weight: normal;
}
.admin-access-labels {
  padding-inline-start: 1.25rem;
}
.admin-access-labels li {
  margin-block: .4rem;
}
.admin-access-form input[type=checkbox] {
  flex-shrink: 0;
}
.admin-access-form .admin-access-option {
  flex-wrap: nowrap;
  align-items: flex-start;
}
.admin-access-organizations > ul {
  list-style: none;
  padding: 0;
}
.admin-access-organizations li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem;
  margin-block: .75rem;
}
.admin-access-organization-name {
  min-width: 0;
}
.admin-access-organizations button {
  white-space: normal;
  height: auto;
  min-height: 2.5rem;
  max-width: 100%;
}
.admin-access-technical {
  font-size: .875rem;
  margin-block: .75rem;
}
.admin-access-difference {
  margin-block: 1rem;
}
.admin-access-difference h4 {
  font-weight: 600;
}

/* Stage 2 group D: staff access, system pages, org sub-tabs. */
.admin-root .admin-backlink { font-size:12px; color:hsl(var(--muted-foreground)); text-decoration:none; padding:0 4px; }
.admin-root .admin-backlink:hover { color:hsl(var(--foreground)); }
.admin-access-card h3, .admin-staff-rename h3, .admin-access-mfa-guard h3, .admin-access-form h3 { margin:16px 0 6px; font-size:13px; font-weight:600; }
.admin-access-card .admin-access-labels { display:flex; flex-wrap:wrap; gap:6px; list-style:none; padding:0; margin:0; }
.admin-access-card .admin-access-labels li { margin:0; padding:2px 8px; border-radius:6px; background:hsl(var(--muted)); }
.admin-access-card .admin-access-label { flex-direction:row; align-items:baseline; gap:6px; }
.admin-access-card .admin-access-label small { font-size:11px; }
.admin-access-card .admin-access-technical, .admin-access-card .admin-access-technical p { font-size:12px; margin:4px 0; }
.admin-root .admin-access-card .admin-actions { margin-block:8px; }
.admin-access-card .admin-access-form label { font-size:12px; }
.admin-access-card .admin-access-form select, .admin-access-card .admin-access-form textarea, .admin-access-card .admin-access-form input:not([type=checkbox]) { min-height:30px; font-size:13px; }
.admin-root .admin-mfa-reset.admin-page-embedded, .admin-root .admin-staff-rename { margin-block:8px; }
.admin-root .admin-mfa-reset.admin-page-embedded > .admin-page-heading { margin-bottom:6px; }
.admin-root .admin-mfa-reset.admin-page-embedded > .admin-page-heading h2 { font-size:13px; font-weight:600; }
.admin-root .admin-staff-rename button, .admin-root .admin-mfa-reset button { min-height:28px; }
.admin-root .admin-staff-rename form, .admin-root .admin-staff-rename label, .admin-root .admin-mfa-reset form, .admin-root .admin-mfa-reset label { gap:6px; font-size:12px; }
.admin-root .admin-mfa-reset textarea, .admin-root .admin-staff-rename textarea { min-height:60px; font:inherit; font-size:13px; border:1px solid hsl(var(--border)); border-radius:8px; padding:4px 8px; }
.admin-root .admin-org-sections .admin-page-embedded { margin-block:0 12px; }
.admin-root .admin-org-sections .admin-page-embedded > .admin-page-heading { margin-bottom:8px; }
.admin-root .admin-org-sections .admin-page-embedded > .admin-page-heading h2 { font-size:14px; }
.admin-root .admin-access-card .admin-access-form fieldset { border:0; padding:0; margin:0; gap:10px; }
.admin-root .admin-access-card .admin-access-form { gap:8px; border-top:1px solid hsl(var(--border)); margin-top:12px; padding-top:4px; }
.admin-access-card .admin-access-organizations li { margin-block:6px; }
.admin-access-card .admin-access-organizations button { min-height:28px; }

.admin-audit-filters .admin-audit-org-filter { flex:0 1 240px; min-width:0; }
.admin-audit-filters .admin-audit-org-filter .admin-combobox { width:100%; }
.admin-audit-manual { font-size:11px; color:hsl(var(--muted-foreground)); }
.admin-audit-manual summary { cursor:pointer; }
.admin-root main .admin-audit-filters label.admin-audit-date { flex:0 1 190px; border:0; padding:0; }
.admin-root .admin-audit-filters .admin-audit-date input { min-height:28px; font-size:12px; }
.admin-root .admin-audit-technical { margin-top:2px; font-size:12px; }
.admin-root .admin-audit-technical summary { cursor:pointer; color:hsl(var(--muted-foreground)); }
.admin-root .admin-staff-identifier { display:inline-flex; align-items:center; gap:4px; flex-wrap:wrap; }
.admin-root .admin-staff-identifier .admin-copy-id { min-height:20px; padding:0 4px; font-size:11px; color:hsl(var(--muted-foreground)); }
.admin-root .admin-audit-result { display:inline-flex; align-items:center; min-height:20px; padding:0 8px; border-radius:6px; font-size:12px; background:#ecfdf3; color:#15803d; }
.admin-root .admin-audit-result-deny { background:#fff1ec; color:#c2410c; }
.admin-root main .admin-pagination { border:0; padding:8px 0; }
.admin-root .admin-staff-identifier .admin-copy-id { font-size:0; }
.admin-root .admin-staff-identifier .admin-copy-id::after { content:"ID ⧉"; font-size:11px; }
.admin-root .admin-org-sections > [role=tabpanel] > .admin-page-embedded > .admin-page-heading:not(:has(.admin-page-actions)) { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); margin:0; }
.admin-root .admin-release-contour { margin-right:10px; }
.admin-root main .admin-migrations ul { margin:4px 0 0; padding:0; list-style:none; }
.admin-root main .admin-migrations li { margin:2px 0; font-size:12px; }
.admin-root main .admin-migrations tr.admin-migrations-review { background:#fef2f2; }
.admin-migrations summary { cursor:pointer; }
.admin-releases-filters .admin-filter-chip input { width:160px !important; max-width:160px !important; }
.admin-root .admin-deploy-form { display:grid; gap:12px; margin:0 0 16px; padding:12px 16px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); }
.admin-root .admin-deploy-form h2 { margin:0; font-size:14px; }
.admin-deploy-fields { display:grid; grid-template-columns:140px minmax(0,1fr); gap:12px; align-items:start; }
.admin-deploy-fields label, .admin-deploy-fields fieldset { font-size:12px; margin:0; }
.admin-deploy-fields .admin-deploy-reason { grid-column:1 / -1; }
.admin-deploy-fields select, .admin-deploy-fields textarea { font-size:13px; }
.admin-root .admin-deploy-fields textarea { min-height:52px; padding:4px 8px; border:1px solid hsl(var(--border)); border-radius:8px; font:inherit; }
.admin-root .admin-deploy .admin-deploy-releases { padding:4px 8px; border:1px solid hsl(var(--border)); border-radius:8px; }
.admin-root .admin-deploy .admin-deploy-releases legend { font-size:12px; padding:0 4px; }
.admin-root .admin-deploy .admin-button { min-height:28px; height:auto; }
.admin-deploy-table td { vertical-align:middle; }
.admin-root main .admin-deploy .admin-deploy-form { margin-bottom:16px; }
.admin-root main .admin-deploy-form.admin-panel { padding:12px 16px; gap:10px; }
.admin-root .admin-deploy-actions { white-space:nowrap; text-align:right; }
.admin-root .admin-deploy-actions > * { margin-left:8px; }
.admin-root .admin-deploy-details { margin-top:4px; font-size:12px; }
.admin-root .admin-deploy-extra td { background:hsl(var(--muted) / .4); }
.admin-root .admin-deploy-confirm { margin:0; padding:0; border:0; }
.admin-root .admin-deploy-confirm h2 { font-size:13px; margin:0 0 6px; }
@media(max-width:600px) { .admin-deploy-fields { grid-template-columns:minmax(0,1fr); } }
.admin-root .admin-users .admin-users-reveal { display:inline-flex; width:auto; margin:0 0 12px; padding:4px 10px 4px 8px; }
.admin-root .admin-users .admin-user-action { text-align:right; white-space:nowrap; }
.admin-root .admin-users .admin-user-action .admin-button { min-height:26px; font-size:12px; }
.admin-root .admin-users .admin-user-confirm { border:0; padding:0; background:transparent; }
.admin-root .admin-users .admin-user-confirm form { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.admin-root .admin-users .admin-user-confirm h3 { margin:0; }
.admin-root .admin-users .admin-user-confirm p, .admin-root .admin-users .admin-user-confirm label { margin:0; }
.admin-root .admin-users .admin-user-result p { margin:2px 0; }
.admin-root .admin-users .admin-org-name { cursor:default; }
.admin-root .admin-impersonation .admin-impersonation-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 110px; gap:8px 12px; align-items:end; margin:0 0 16px; padding:12px 16px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); }
.admin-impersonation-form[hidden] { display:none !important; }
.admin-impersonation-form label { font-size:12px; gap:4px; color:hsl(var(--muted-foreground)); min-width:0; }
.admin-impersonation-form label > span { font-size:11px; }
.admin-impersonation-form label:nth-of-type(3) { grid-column:1 / 3; }
.admin-impersonation-form > .admin-user-controls, .admin-impersonation-form > .admin-info { grid-column:auto; }
.admin-impersonation-form > .admin-button[type=submit] { grid-column:1 / -1; justify-self:start; }
.admin-root .admin-impersonation .admin-impersonation-form select { min-height:30px; width:100%; }
.admin-impersonation-actions > * { display:inline-flex; flex-wrap:wrap; gap:4px; }
.admin-root .admin-impersonation-actions .admin-button { min-height:26px; font-size:12px; }
.admin-root .admin-impersonation-reason { font-weight:500; }
.admin-root .admin-impersonation-details { margin-top:2px; font-size:12px; }
.admin-root .admin-impersonation-details summary { cursor:pointer; color:hsl(var(--muted-foreground)); }
@media(max-width:600px) { .admin-root .admin-impersonation .admin-impersonation-form { grid-template-columns:minmax(0,1fr); } .admin-impersonation-form label:nth-of-type(3) { grid-column:auto; } .admin-root main .admin-org-tabs[role=tablist] { flex-wrap:nowrap; overflow-x:auto; gap:16px; } .admin-root main .admin-org-tabs[role=tablist] > [role=tab] { white-space:nowrap; } }
.admin-root .admin-org-tabs-hint { margin:-8px 0 8px; font-size:11px; }
.admin-root .admin-config-editor { margin:0 0 12px; padding:12px 16px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); }
.admin-root .admin-config-editor > .admin-page-heading { margin-bottom:8px; }
.admin-root .admin-config-editor > .admin-page-heading h2 { font-size:14px; }
.admin-root .admin-config-editor .admin-billing-list { margin:8px 0; }
.admin-root .admin-config-editor .admin-billing-list > li { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.admin-root .admin-config-editor .admin-billing-list > li p { margin:0; flex:1 1 auto; color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-root .admin-config-editor fieldset { display:flex; flex-wrap:wrap; align-items:end; gap:8px 12px; border:0; padding:0; margin:0; min-width:0; }
.admin-root .admin-config-editor fieldset label { flex:1 1 180px; max-width:280px; font-size:12px; gap:4px; color:hsl(var(--muted-foreground)); }
.admin-root .admin-config-editor fieldset p { margin:0; align-self:center; }
.admin-root .admin-config-editor fieldset input[type=color] { padding:0 2px; min-height:30px; }
.admin-root .admin-config-editor [role=group] { display:flex; flex-wrap:wrap; align-items:end; gap:8px 12px; margin-top:10px; padding-top:10px; border-top:1px solid hsl(var(--border)); }
.admin-root .admin-config-editor [role=group] p { margin:0; flex:1 1 100%; }
.admin-root .admin-config-editor [role=group] label { flex:1 1 260px; font-size:12px; }
.admin-root .admin-config-editor [role=group] textarea { min-height:44px; font:inherit; font-size:13px; padding:4px 8px; border:1px solid hsl(var(--border)); border-radius:8px; }
.admin-root .admin-config > .admin-page-content > .admin-cards, .admin-root .admin-config-editor + .admin-cards { margin-top:8px; }
.admin-root main .admin-config .admin-cards { grid-template-columns:minmax(0,1fr); }
.admin-root main .admin-guest-modules td:first-child strong, .admin-root main .admin-guest-modules td:first-child small { display:block; }
.admin-root main .admin-guest-app .admin-billing-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px 16px; margin:0; }
.admin-root main .admin-guest-app .admin-billing-values dt { color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-root main .admin-guest-app .admin-billing-values dd { margin:0; }
@media(max-width:760px) { .admin-root main .admin-guest-app .admin-billing-values { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.admin-root .admin-audit-events { display:block; gap:0; }
.admin-root .admin-audit-events .admin-audit-action { display:inline; font-size:13px; line-height:20px; margin:0; }
.admin-root .admin-audit-events time { display:inline; margin:0; color:inherit; font-size:13px; }
.admin-root .admin-audit-events .admin-audit-technical { border:0; margin-top:2px; padding:0; }
.admin-root .admin-audit-events .admin-staff-identifier { margin:0; }
.admin-root .admin-audit-events .admin-staff-identifier .admin-copy-id { min-height:20px; height:20px; padding:0 4px; }
.admin-root main .admin-org-tabs[role=tablist] { }
@media(max-width:600px) { .admin-root main .admin-org-tabs[role=tablist] { flex-wrap:nowrap !important; overflow-x:auto !important; gap:16px !important; } }
.admin-root .admin-command-results a { color:hsl(var(--foreground)); }
.admin-root .admin-command-results a:hover, .admin-root .admin-command-results a:focus { color:hsl(var(--primary)); }
.admin-root h2.admin-section-title { display:flex; align-items:center; gap:8px; margin:20px 0 8px; font-size:13px; font-weight:600; }
.admin-root h2.admin-section-title .admin-button { margin-left:auto; }
.admin-health-notice { margin:0 0 12px; padding:8px 12px; border:1px solid hsl(var(--border)); border-radius:8px; background:#fffbeb; color:#92400e; font-size:12px; }
.admin-health .admin-health-metrics { display:flex; flex-wrap:wrap; gap:4px; }
.admin-health .admin-health-metrics > .admin-tag { font-weight:400; }
.admin-tag-danger { background:#fef2f2; color:#b91c1c; }
.admin-org-errors, .admin-health > .admin-page-content > .admin-diagnostics { margin-top:8px; }
.admin-diagnostics .admin-filters { display:flex; flex-wrap:wrap; gap:8px; }
.admin-root main .admin-health table { table-layout:auto; }
.admin-health td:first-child { min-width:130px; }
.admin-health td, .admin-health th { white-space:normal; }
.admin-health td:nth-child(2), .admin-health td:nth-child(3) { white-space:nowrap; }
.admin-diagnostics [data-admin-filters] input:not([type=checkbox]) { flex:1 1 220px; max-width:320px; }
.admin-root main .admin-org-table .admin-pagination { border:0; }

/* Organization list and card share the shell's surfaces and typography. */
.admin-count { margin-left:8px; padding:0 8px; border-radius:999px; background:hsl(var(--muted)); color:hsl(var(--secondary-foreground)); font-size:12px; vertical-align:middle; }
.admin-root .admin-org-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 12px; }
.admin-org-filters > input { flex:1 1 220px; max-width:280px !important; }
.admin-root .admin-filter-chip { display:flex; align-items:center; gap:4px; padding-left:8px; border:1px dashed hsl(var(--border)); border-radius:8px; font-size:12px; }
.admin-root .admin-filter-chip .admin-field { border:0 !important; background:transparent !important; width:auto !important; min-height:28px !important; padding:0 4px !important; font-size:12px !important; }
.admin-root .admin-filter-chip input { max-width:44px !important; }
.admin-org-table { border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); }
.admin-root .admin-org-table td { height:48px; }
.admin-root .admin-org-name { display:flex; gap:8px; align-items:center; text-decoration:none; min-width:160px; }
.admin-org-name strong { font-weight:600; line-height:18px; }
.admin-org-name small { display:block; color:hsl(var(--muted-foreground)); font-size:12px; line-height:16px; }
.admin-avatar { width:28px; height:28px; display:inline-grid; place-items:center; border-radius:8px; background:hsl(var(--muted)); color:hsl(var(--secondary-foreground)); font-size:12px; font-weight:700; flex:none; }
.admin-avatar-large { width:40px; height:40px; font-size:20px; }
.admin-tag { display:inline-flex; align-items:center; padding:0 8px; min-height:20px; border-radius:6px; background:hsl(var(--muted)); color:hsl(var(--secondary-foreground)); font-size:12px; font-weight:500; white-space:nowrap; }
.admin-tag-positive { background:#ecfdf3; color:#15803d; }
.admin-status-dot { display:inline-flex; align-items:baseline; gap:6px; font-size:12px; font-weight:500; }
.admin-status-dot::before { content:""; width:6px; height:6px; flex:none; border-radius:50%; background:#a1a1aa; }
.admin-status-active::before { background:#16a34a; }
.admin-status-provisioning::before,.admin-status-awaiting_owner::before { background:#d97706; }
.admin-status-provisioning_failed::before { background:#dc2626; }
.admin-provisioning-row > summary { list-style:none; cursor:pointer; }
.admin-root .admin-provisioning-row { margin:0; }
.admin-more { position:relative; display:inline-block; }
.admin-more > summary { list-style:none; display:grid; place-items:center; width:28px; height:28px; border:1px solid transparent; border-radius:8px; cursor:pointer; font-size:18px; }
.admin-more > summary:hover { background:hsl(var(--muted)); }
.admin-more > div { position:absolute; right:0; top:28px; z-index:15; min-width:180px; padding:8px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); display:grid; gap:4px; }
.admin-root .admin-more a { text-decoration:none; padding:4px 8px; }
.admin-more > div > span { display:flex; align-items:center; gap:8px; padding:4px 8px; font-size:12px; }
.admin-row-menu { width:40px; }
.admin-org-table:has(.admin-more[open]),.admin-org-table:has(.admin-provisioning-row[open]) { overflow:visible; }
.admin-pagination { display:flex; align-items:center; gap:8px; margin:0; padding:8px 16px; border-bottom:1px solid hsl(var(--border)); font-size:12px; }
.admin-pagination-spacer { flex:1; }
.admin-org-identity { display:block; }
.admin-root .admin-org-domain { display:block; font-size:12px; line-height:18px; font-weight:400; color:hsl(var(--muted-foreground)); text-decoration:none; }
.admin-root .admin-organization > .admin-page-heading { align-items:center; }
.admin-org-columns { display:grid; grid-template-columns:3fr 2fr; gap:16px; }
.admin-org-columns > .admin-panel { margin:0 0 16px; }
.admin-org-facts { margin:0; }
.admin-org-facts > div { display:grid; grid-template-columns:130px minmax(0,1fr); padding:8px 0; border-bottom:1px solid hsl(var(--border)); align-items:center; gap:8px; }
.admin-org-facts > div:last-child { border:0; }
.admin-org-facts dt { color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-root .admin-org-facts dd { margin:0; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.admin-org-copy-result { font-size:12px; }
.admin-org-summary h3 { font-size:12px; color:hsl(var(--muted-foreground)); margin:12px 0 4px; }
.admin-org-summary p { margin:0; }
.admin-org-summary ul { padding-left:16px; margin:4px 0; }
.admin-org-operations { margin:8px 0; border:1px solid hsl(var(--border)); border-radius:8px; padding:8px 16px; background:hsl(var(--card)); }
.admin-org-operations > summary { cursor:pointer; font-size:12px; }
.admin-org-overview-actions { display:flex; justify-content:flex-end; margin-bottom:8px; }
.admin-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:8px; margin:0 0 16px; }
.admin-kpi { border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); padding:12px 16px; min-width:0; }
.admin-kpi-label { display:flex; align-items:center; gap:8px; color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-kpi-value { margin-top:4px; font-size:21px; line-height:28px; font-weight:700; letter-spacing:-.02em; overflow-wrap:anywhere; }
.admin-kpi-detail { color:hsl(var(--muted-foreground)); font-size:12px; margin-top:4px; }
.admin-root .admin-kpi .admin-money { font:inherit; }
.admin-info { display:inline-flex; position:relative; align-items:center; justify-content:center; width:14px; height:14px; border:1px solid hsl(var(--muted-foreground) / .5); border-radius:50%; color:hsl(var(--muted-foreground)); font:10px/1 system-ui; cursor:help; flex:none; vertical-align:middle; }
.admin-tooltip { display:none; position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); min-width:180px; width:max-content; max-width:min(280px,75vw); padding:8px; border-radius:8px; background:#18181b; color:white; font:12px/18px system-ui; z-index:40; white-space:normal; font-weight:400; }
.admin-info:hover > .admin-tooltip,.admin-info:focus > .admin-tooltip { display:block; }
.admin-root .admin-org-tabs,.admin-root .admin-m17-tabs { display:flex; gap:20px; padding:0; margin:0 0 16px; border-bottom:1px solid hsl(var(--border)); border-radius:0; overflow-x:auto; flex-wrap:nowrap; }
.admin-root .admin-org-tabs [role=tab],.admin-root .admin-m17-tabs [role=tab] { padding:8px 0; min-height:32px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:hsl(var(--secondary-foreground)); font-size:13px; box-shadow:none; white-space:nowrap; }
.admin-root .admin-org-tabs [aria-selected=true],.admin-root .admin-m17-tabs [aria-selected=true] { border-bottom-color:hsl(var(--primary)); color:hsl(var(--foreground)); font-weight:600; }
.admin-root .admin-wallet { border:0; padding:0; background:transparent; }
.admin-wallet > h2 { display:none; }
.admin-wallet .admin-billing-status { display:inline-flex; margin:0 0 8px; padding:0 8px; min-height:20px; border:0; border-radius:6px; font-size:12px; }
.admin-movements-heading { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.admin-movements-heading h2 { margin:0 auto 0 0; }
.admin-periods { display:inline-flex; padding:2px; border:1px solid hsl(var(--border)); border-radius:8px; }
.admin-root .admin-periods button { min-height:24px; height:24px; padding:0 8px; font-size:12px; }
.admin-root .admin-periods [aria-pressed=true] { background:hsl(var(--muted)); color:hsl(var(--foreground)); }
.admin-root th.admin-amount,.admin-root td.admin-amount { text-align:right; white-space:nowrap; font-weight:600; }
.admin-positive { color:#15803d; }.admin-negative { color:#b91c1c; }
.admin-page-actions:has(.admin-provisioning) { flex:1 1 100%; }
.admin-page-actions .admin-provisioning { width:100%; }
@media(max-width:900px) { .admin-org-columns { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px) {
 .admin-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .admin-kpi { padding:8px; }.admin-kpi-value { font-size:20px; }
 .admin-org-table { border:0; background:transparent; }
 .admin-root .admin-org-table td { height:auto; }
 .admin-root .admin-org-table tr { position:relative; display:flex; flex-wrap:wrap; gap:8px; padding:12px; margin:0; border-radius:8px; border:1px solid hsl(var(--border)); background:hsl(var(--card)); }
 .admin-root .admin-org-table tbody { gap:8px; }
 .admin-root .admin-org-table td { display:block; padding:0; border:0; }
 .admin-org-table td::before { display:none; }
 .admin-org-table td:first-child { flex:1 1 100%; padding-right:32px; }
 .admin-org-table .admin-row-menu { position:absolute; top:12px; right:8px; width:28px; }
 .admin-pagination { padding:8px 0; gap:6px; flex-wrap:wrap; }
 .admin-pagination > span:first-child { flex:1 1 100%; }
 .admin-org-facts > div { grid-template-columns:100px minmax(0,1fr); }
}

/* Owner4696 platform task list; existing form/detail/command boundaries retained. */
.admin-todos-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.admin-todos-heading h1 { margin: 0 0 6px; }
.admin-todos-heading p { margin: 0; font-size: 13px; }
.admin-todo-page-search { max-width: 440px; margin-bottom: 16px; font-size: 13px; }
.admin-todos .admin-todo-filters { grid-template-columns: repeat(auto-fit,minmax(min(100%,180px),1fr)); gap: 12px; padding: 16px; border: 1px solid hsl(var(--border)); border-radius:8px; background: hsl(var(--background)); align-items: start; }
.admin-todo-filters label { font-size: 12px; }
.admin-todo-filters input,.admin-todo-filters select { min-height: 40px; }
.admin-todo-filters .admin-todo-org-field { font-size: 12px; }
.admin-todo-filters .admin-muted { margin-bottom: 0; }
.admin-todos .admin-todo-counts { margin-block: 20px; }
.admin-todo-counts h2 { font-size: 12px; font-weight: 500; color: hsl(var(--muted-foreground)); }
.admin-todos .admin-todo-counts dl { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.admin-todo-counts dl > div { display: flex; align-items: center; gap: 10px; border: 1px solid hsl(var(--border)); border-radius:8px; padding: 8px 12px; font-size: 12px; }
.admin-todo-counts dd { margin: 0; font-weight: 650; }
.admin-todo-page-note { color: hsl(var(--muted-foreground)); font-size: 12px; margin-top: 20px; }
.admin-todo-table { table-layout: fixed; margin-top: 12px; font-size: 12px; }
.admin-todo-table th { color: hsl(var(--muted-foreground)); font-weight: 500; text-align: start; }
.admin-todos .admin-todo-table th,.admin-todos .admin-todo-table td { padding: 14px 8px; vertical-align: top; }
.admin-todo-table th:first-child { width: 24%; }
.admin-todo-table tbody tr { border-top: 1px solid hsl(var(--border)); }
.admin-todos .admin-todo-table .admin-todo-title { background: transparent; border: 0; box-shadow: none; padding: 0; min-height: 44px; font-size: 13px; font-weight: 600; color: hsl(var(--foreground)); }
.admin-todo-table .admin-todo-id { font-size: 11px; }
.admin-todo-status,.admin-todo-priority { display: inline-block; padding: 4px 7px; border-radius: 7px; font-size: 11px; font-weight: 600; }
.admin-todo-status-open { color: #5e38a0; background: #f1eafa; }
.admin-todo-status-in_progress,.admin-todo-priority-yellow { color: #805300; background: #fff2d3; }
.admin-todo-status-done,.admin-todo-priority-green { color: #1b694b; background: #e6f4ed; }
.admin-todo-status-wontfix { background: hsl(var(--muted)); }
.admin-todo-priority-red { color: #9e3030; background: #fce8e8; }
.admin-todo-empty { padding: 32px 16px; border: 1px dashed hsl(var(--border)); border-radius:8px; text-align: center; }
@media(max-width:700px) {
 .admin-todos-heading { align-items: start; }
 .admin-todos-heading h1 { font-size: 23px; }
 .admin-todo-table,.admin-todo-table tbody { display: block; }
 .admin-todo-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
 .admin-todo-table tbody tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding-block: 16px; }
 .admin-todos .admin-todo-table td { display: block; min-width: 0; padding: 0; }
 .admin-todo-table td:first-child { grid-column: 1 / -1; }
 .admin-todo-table td::before { content: attr(data-label); display: block; color: hsl(var(--muted-foreground)); font-size: 11px; margin-bottom: 6px; }
}

.admin-todos-heading-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px; }
.admin-todo-advanced-filters { grid-column: 1 / -1; }
.admin-todo-advanced-filters > div { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,180px),1fr)); gap: 12px; margin-top: 12px; }
.admin-todo-advanced-filters summary { cursor: pointer; font-size: 12px; }
/* stage 2 (group C): todos */
.admin-root main .admin-todos .admin-todo-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:0; border:0; background:transparent; }
.admin-root main .admin-todos .admin-todo-filters input, .admin-root main .admin-todos .admin-todo-filters select { min-height:28px; height:28px; font-size:13px; }
.admin-root main .admin-todos .admin-todo-filters > input[type=search] { flex:1 1 280px; max-width:360px; }
.admin-root main table th { white-space: nowrap; }
.admin-root main .admin-todos .admin-todo-org-field { max-width:240px; width:240px; position:relative; }
.admin-root main .admin-todos .admin-todo-org-field .admin-combobox { width:100%; }
.admin-root main .admin-todos .admin-todo-org-field > details { position:absolute; right:4px; top:-2px; font-size:11px; }
.admin-root main .admin-todos .admin-todo-org-field > details[open] { z-index:20; right:auto; left:0; top:32px; padding:8px; border:1px solid hsl(var(--border)); border-radius:var(--admin-radius); background:hsl(var(--card)); width:240px; }
.admin-root main .admin-todos .admin-todo-org-field > details > summary { color:hsl(var(--muted-foreground)); font-size:0; list-style:none; cursor:pointer; }
.admin-root main .admin-todos .admin-todo-org-field > details > summary::before { content:"ID"; font-size:11px; }
.admin-root main .admin-todos .admin-todo-org-field > details > summary::-webkit-details-marker { display:none; }
.admin-root main .admin-todos .admin-todo-org-field > details:not([open]) { top:6px; right:10px; }
.admin-root main .admin-todos .admin-todo-advanced-filters { grid-column:auto; flex:none; font-size:12px; }
.admin-root main .admin-todos .admin-todo-advanced-filters[open] { flex-basis:100%; }
.admin-root main .admin-todos .admin-todo-advanced-filters > summary { display:inline-flex; align-items:center; min-height:28px; padding:0 8px; border:1px solid hsl(var(--border)); border-radius:var(--admin-field-radius); background:hsl(var(--card)); color:hsl(var(--muted-foreground)); list-style:none; }
.admin-root main .admin-todos .admin-todo-advanced-filters > summary::-webkit-details-marker { display:none; }
.admin-root main .admin-todos .admin-todo-advanced-filters > div { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.admin-root main .admin-todos .admin-todo-counts { margin:0 0 8px; }
.admin-root main .admin-todos .admin-todo-counts dl { display:flex; flex-wrap:wrap; gap:4px 16px; margin:0; }
.admin-root main .admin-todos .admin-todo-counts dl > div { display:inline-flex; gap:4px; padding:0; border:0; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-todos .admin-todo-counts dd { margin:0; color:hsl(var(--foreground)); }
.admin-root main .admin-todos .admin-todo-table { margin:0; }
.admin-root main .admin-todos .admin-todo-table th, .admin-root main .admin-todos .admin-todo-table td { padding:8px 12px; }
.admin-root main .admin-todos .admin-todo-table tbody tr:first-child { border-top:0; }
.admin-root main .admin-todos .admin-todo-table .admin-todo-title { display:block; height:auto; min-height:0; padding:0; text-align:start; white-space:normal; font-size:13px; font-weight:600; justify-content:flex-start; }
.admin-root main .admin-todos .admin-todo-table .admin-todo-title:hover { color:hsl(var(--primary)); }
.admin-root main .admin-todo-table .admin-todo-id { display:inline-flex; align-items:baseline; gap:6px; font-size:11px; color:hsl(var(--muted-foreground)); }
.admin-todo-short-id { font-size:11px; color:hsl(var(--muted-foreground)); background:none; padding:0; }
.admin-root main .admin-todos .admin-todo-status, .admin-root main .admin-todos .admin-todo-priority { padding:0 8px; line-height:20px; border-radius:6px; font-size:12px; }
.admin-root main .admin-todos .admin-pagination { padding:8px 0; }
.admin-root main :is(.admin-todos,.admin-workflows,.admin-providers) .admin-pagination .admin-page-prev::before { content:"‹ "; white-space:pre; }
.admin-root main :is(.admin-todos,.admin-workflows,.admin-providers) .admin-pagination .admin-page-next::after { content:" ›"; white-space:pre; }
.admin-root main .admin-todos :is(.admin-todo-card,.admin-todo-form) { margin:0 0 12px; padding:12px 16px; border:1px solid hsl(var(--border)); border-radius:var(--admin-radius); background:hsl(var(--card)); }
.admin-root main .admin-todos :is(.admin-todo-card,.admin-todo-form) h2 { font-size:15px; line-height:20px; margin:4px 0 12px; }
.admin-root main .admin-todos .admin-todo-back { height:auto; min-height:24px; padding:0; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-todos .admin-todo-back:hover { color:hsl(var(--foreground)); background:transparent; }
.admin-root main .admin-todos .admin-todo-card .admin-todo-fields { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:8px 16px; margin:0 0 12px; }
.admin-root main .admin-todos .admin-todo-card .admin-todo-fields dt { font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-todos .admin-todo-card .admin-todo-fields dd { margin:0; font-size:13px; }
.admin-root main .admin-todos .admin-todo-card form { margin:8px 0 0; padding:0; border:0; }
.admin-root main .admin-todos .admin-todo-card form fieldset, .admin-root main .admin-todos .admin-todo-card form fieldset.admin-todo-controls { display:flex !important; flex-wrap:wrap; align-items:flex-end !important; gap:8px; }
.admin-root main .admin-todos .admin-todo-card form fieldset > .admin-info { align-self:center; }
.admin-root main .admin-todos .admin-todo-card form fieldset > .admin-button { align-self:flex-end !important; }
.admin-root main .admin-todos .admin-todo-card form:has(textarea) fieldset { flex-direction:column; align-items:flex-start; }
.admin-root main .admin-todos .admin-todo-card form label { display:grid; gap:4px; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-todos .admin-todo-card form:has(textarea) label { width:100%; }
.admin-root main .admin-todos .admin-todo-card textarea { min-height:56px; }
.admin-root main .admin-todos :is(.admin-todo-card,.admin-todo-form) :is(input,select,.admin-field) { margin:0; height:30px; min-height:30px; font-size:13px; }
.admin-root main .admin-todos :is(.admin-todo-card,.admin-todo-form) textarea { height:auto; font-size:13px; min-height:60px; }
.admin-root main .admin-todos .admin-todo-card .admin-todo-controls { display:flex; flex-wrap:wrap; gap:8px; }
.admin-root main .admin-todos .admin-todo-form .admin-todo-fields { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:8px 16px; }
.admin-root main .admin-todos .admin-todo-form label { display:grid; gap:4px; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-root main .admin-todos .admin-todo-form-org { display:grid; gap:4px; font-size:12px; color:hsl(var(--muted-foreground)); align-content:start; }
.admin-root main .admin-todos .admin-todo-form-org .admin-todo-org-field { width:100%; max-width:100%; }
.admin-root main .admin-todos .admin-todo-assignee { position:relative; }
.admin-root main .admin-todos .admin-todo-assignee > .admin-info { position:absolute; top:0; right:0; }
.admin-root main .admin-todos .admin-todo-form-actions { grid-column:1 / -1; display:flex; gap:8px; }
.admin-root main .admin-todos .admin-todo-card > section[aria-label] { margin-top:12px; padding-top:8px; border-top:1px solid hsl(var(--border)); }
.admin-root main .admin-todos .admin-todo-card .admin-todo-list { list-style:none; padding:0; margin:8px 0; }
.admin-root main .admin-todos .admin-todo-card .admin-todo-list > li { padding:8px 0; border-top:1px solid hsl(var(--border)); font-size:13px; }
.admin-root main .admin-todos .admin-todo-card .admin-todo-list p { margin:2px 0; }
@media(max-width:600px) {
  .admin-root main .admin-todos .admin-todo-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr); gap:2px; padding:8px 12px; }
  .admin-root main .admin-todos .admin-todo-table td { padding:2px 0; }
  .admin-root main .admin-todos .admin-todo-table td:first-child::before { display:none; }
  .admin-root main .admin-todos .admin-todo-table td::before { display:inline-block; margin:0 8px 0 0; font-size:12px; }
  .admin-root main .admin-todos .admin-todo-org-field { width:100%; max-width:100%; }
}

/* Owner4727: one scoped refresh and compact real provisioning states. */
.admin-org-overview-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; }
.admin-org-refresh-help { margin: 8px 0 12px; font-size: 12px; }
.admin-provisioning-compact h3 { font-size: 14px; margin: 0; }
.admin-provisioning-compact > p { font-size: 12px; }
.admin-provisioning-compact .admin-provisioning-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding: 0; list-style-position: inside; }
.admin-provisioning-compact .admin-provisioning-steps li { min-width: 0; padding: 10px 12px; border-radius:8px; background: hsl(var(--background)); font-size: 12px; overflow-wrap: anywhere; }
.admin-provisioning-compact .admin-provisioning-steps strong { display: block; margin-top: 4px; font-weight: 600; }
.admin-provisioning-compact [data-state="done"] strong { color: #1b694b; }
.admin-provisioning-compact [data-state="pending"] strong { color: #805300; }
@media(max-width:700px) { .admin-provisioning-compact .admin-provisioning-steps { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* Owner4696 slice4: readable audit summaries; exact source identifiers stay available. */
.admin-audit-events { display:grid; gap:12px; }
.admin-audit-events > li { padding:18px; border:1px solid #e9e5f2; border-radius:8px; background:#fff; min-width:0; }
.admin-audit-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.admin-audit-action { margin:0; font-size:15px; line-height:1.5; }
.admin-audit-result { flex-shrink:0; border-radius:999px; padding:4px 10px; font-size:12px; font-weight:650; }
.admin-audit-result-allow { color:#24664a; background:#eaf6ef; }
.admin-audit-result-deny { color:#99502f; background:#fff1e8; }
.admin-audit-events time { display:block; margin-top:6px; color:#6d6680; font-size:12px; }
.admin-audit-technical { border-top:1px solid #eeeaf5; margin-top:12px; padding-top:10px; }
.admin-audit-technical summary, .admin-audit-org-filter summary, .admin-todo-org-field summary { cursor:pointer; color:#66528a; }
.admin-audit-technical dd { overflow-wrap:anywhere; }
.admin-audit-org-filter { grid-column:1/-1; min-width:0; }
.admin-audit-org-filter .admin-lead-org-options, .admin-todo-org-field .admin-lead-org-options { margin-block:8px; }
@media(max-width:600px) { .admin-audit-events > li { padding:14px; } .admin-audit-heading { flex-wrap:wrap; gap:8px; } }

.admin-staff-identifier { min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-block:10px; }
.admin-root .admin-staff-identifier button { display:block; min-width:0; min-height:32px; height:auto; max-width:100%; padding:4px 8px; font-size:12px; white-space:normal; overflow-wrap:anywhere; }
.admin-staff-identifier [role] { flex-basis:100%; font-size:12px; }

/* Visible organization picker must not stretch peer labels away from their inputs. */
.admin-root .admin-todo-form .admin-todo-fields { align-items:start; }

/* Owner4994: Audit-only organization presentation; other picker layouts retain defaults. */
.admin-audit-org-compact .admin-lead-org-options > li > button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; text-align:start; }
.admin-audit-org-compact .admin-lead-org-options strong { min-width:0; overflow-wrap:anywhere; }
.admin-audit-org-chip { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 12px; border:1px solid var(--border); border-radius:8px; }
.admin-audit-org-chip > span { min-width:0; overflow-wrap:anywhere; }
.admin-audit-org-chip small { display:block; }
.admin-audit-org-chip > button { flex:none; }

/* Audit event options must fit their grid column at every viewport. */
.admin-diagnostics select[name="action"] { width: 100%; min-width: 0; max-width: 100%; }

.admin-lifecycle {
  min-width: 0;
  overflow-wrap: anywhere;
}
.admin-lifecycle-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-block: .75rem;
}
.admin-lifecycle button {
  max-width: 100%;
  white-space: normal;
  height: auto;
  min-height: 2.75rem;
}
.admin-lifecycle dd {
  margin-inline-start: 0;
}
.admin-lifecycle-confirm,
.admin-lifecycle-pending {
  border: 1px solid hsl(var(--border));
  border-radius: .5rem;
  padding: 1rem;
  margin-block: 1rem;
  min-width: 0;
}
.admin-lifecycle-confirm {
  border-color: hsl(var(--destructive));
}
.admin-lifecycle fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
  display: grid;
  gap: 1rem;
}
.admin-lifecycle label {
  display: grid;
  gap: .5rem;
  min-width: 0;
}
.admin-lifecycle input,
.admin-lifecycle textarea,
.admin-lifecycle select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid hsl(var(--border));
  border-radius: .375rem;
  padding: .5rem;
  background: hsl(var(--background));
  color: inherit;
  font: inherit;
}
.admin-lifecycle textarea {
  min-height: 6rem;
  resize: vertical;
}
.admin-lifecycle :focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}
@media (max-width: 480px) {
  .admin-lifecycle-actions > button {
    flex: 1 1 100%;
  }
  .admin-lifecycle-confirm {
    padding: .75rem;
  }
}
.admin-partner-signups {
  min-width: 0;
}
.admin-partner-signups dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: .75rem 1rem;
}
.admin-partner-signups dl > div {
  min-width: 0;
}
.admin-partner-signups dd {
  white-space: pre-wrap;
}
.admin-partner-signups input,
.admin-partner-signups button {
  min-height: 44px;
}
/* M-25: cards and forms remain within a 390px viewport, including UUIDs and brief fields. */
.admin-sales { min-width: 0; }
.admin-sales-heading, .admin-sales-actions, .admin-sales-sections { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-block: 1rem; }
.admin-sales-heading { justify-content: space-between; }
.admin-sales-fields, .admin-sales-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 10px 12px; border: 0; padding: 0; min-width: 0; }
.admin-sales label { display: grid; gap: 4px; min-width: 0; font-size: 12px; color: hsl(var(--muted-foreground)); }
.admin-sales-fields input:not([type=checkbox]), .admin-sales-fields select { height: 30px; min-height: 30px; padding: 0 8px; font-size: 13px; color: hsl(var(--foreground)); }
.admin-sales-fields { gap: 10px 12px; }
.admin-sales-editor h3, .admin-sales-review h2 { margin: 0 0 10px; font-size: 14px; }
.admin-sales input, .admin-sales textarea, .admin-sales select { width: 100%; min-width: 0; max-width: 100%; }
.admin-sales input[type=checkbox], .admin-sales input[type=radio] { width: auto; }
.admin-sales .admin-sales-check { display: flex; align-items: center; gap: .5rem; }
.admin-sales textarea { min-height: 4.5rem; font-size: 13px; border: 1px solid var(--admin-border, #cbd5e1); border-radius: .5rem; padding: .5rem; }
.admin-sales button, .admin-sales select { min-height: 28px; }
.admin-sales-client { margin: 0; font-size: 16px; }
.admin-sales-meta { margin: 2px 0 0; font-size: 12px; color: hsl(var(--muted-foreground)); }
.admin-sales .admin-sales-actions { margin-block: 8px; gap: 8px; }
.admin-sales .admin-sales-actions .admin-button { height: 28px; padding: 0 10px; font-size: 12px; }
.admin-sales-table td > a { font-weight: 600; }
.admin-sales > .admin-page-content > section { margin-block: 12px; }
.admin-sales h2 { font-size: 14px; margin: 12px 0 6px; }
.admin-sales h3 { font-size: 13px; margin: 8px 0 4px; }
.admin-sales details > summary { font-size: 12px; color: hsl(var(--muted-foreground)); cursor: pointer; }
.admin-sales-list, .admin-sales-records { padding: 0; list-style: none; }
.admin-sales-list li, .admin-sales article, .admin-sales-records > li { border-bottom: 1px solid var(--admin-border, #cbd5e1); padding-block: 1rem; min-width: 0; }
.admin-sales-list li { display: grid; gap: .4rem; }
.admin-sales a, .admin-sales p, .admin-sales span, .admin-sales dt, .admin-sales dd { overflow-wrap: anywhere; }
.admin-sales-text { white-space: pre-wrap; }
.admin-sales-data { margin: .25rem 0; min-width: 0; }
.admin-sales-data > div { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(0, 3fr); gap: .75rem; padding-block: .3rem; border-bottom: 1px solid hsl(var(--border)); font-size: 13px; }
.admin-sales-data .admin-sales-data > div { border-bottom: 0; }
.admin-sales-data dt { color: hsl(var(--muted-foreground)); font-size: 12px; }
.admin-sales-data dd { margin: 0; min-width: 0; }
.admin-sales-editor, .admin-sales-review { border: 1px solid var(--admin-border, #cbd5e1); border-radius:8px; padding: 1rem; margin-top: 1rem; }
.admin-sales-fields > p, .admin-sales-fields > .admin-sales-actions, .admin-sales-contact { grid-column: 1 / -1; }
.admin-sales-contact { display: grid; gap: .75rem; min-width: 0; border-radius: .5rem; padding: .75rem; }
.admin-sales :focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }
@media (max-width: 480px) {
  .admin-sales-data > div { grid-template-columns: minmax(0, 1fr); gap: .15rem; }
  .admin-sales-editor, .admin-sales-review { padding: .75rem; }
  .admin-sales-actions > button { flex: 1 1 100%; white-space: normal; height: auto; }
}
.admin-phone-statusbar { display:flex; justify-content:space-between; padding:0 8px 18px; font-size:11px; font-weight:700; }
.admin-phone-brand { font-size:19px; font-weight:750; padding:8px 4px 20px; }
.admin-phone-block { display:block; min-width:0; overflow-wrap:anywhere; }
.admin-phone-block-text { padding:8px; border:1px solid var(--phone-border); border-radius:var(--phone-radius); background:var(--phone-surface); }
.admin-phone-block-image { padding:8px; border:1px solid var(--phone-border); border-radius:var(--phone-radius); background:var(--phone-surface); }
.admin-phone-block-image > span:not(.admin-phone-media) { display:block; margin-top:8px; font-size:12px; }
.admin-phone-block small { display:block; color:var(--phone-muted); font-size:10px; line-height:1.5; }
.admin-phone-text { display:block; padding:8px 4px; white-space:pre-wrap; line-height:1.6; font-size:14px; }
.admin-phone-mark { display:grid; place-items:center; margin:0 auto 12px; width:46px; height:46px; border-radius:8px; background:var(--phone-primary); color:#fff; font-weight:800; }
.admin-phone-block-hero { padding:24px 10px; text-align:center; }.admin-phone-title { display:block; font-size:22px; }.admin-phone-caption { display:block; color:var(--phone-muted); font-size:11px; margin-top:8px; }
.admin-phone-card,.admin-phone-tile { display:flex; flex-direction:column; gap:10px; background:var(--phone-surface); border:var(--phone-card-border); box-shadow:var(--phone-shadow); padding:16px; border-radius:var(--phone-radius); font-size:14px; }
.admin-phone-tiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.admin-phone-tile-icon { color:var(--phone-primary); font-size:22px; }
.admin-phone-action { display:flex; align-items:center; justify-content:center; gap:10px; background:var(--phone-primary); color:white; border-radius:var(--phone-radius); padding:14px 10px; font-size:14px; }
.admin-phone-banner { display:block; padding:16px; border-radius:var(--phone-radius); background:var(--phone-surface); }.admin-phone-banner-primary { background:var(--phone-primary); color:white; }.admin-phone-banner-accent { background:var(--phone-accent); color:white; }
.admin-phone-media { display:grid; place-items:center; background:var(--phone-surface); border:1px dashed var(--phone-border); min-height:110px; border-radius:var(--phone-radius); color:var(--phone-muted); font-size:26px; }
.admin-phone-rule { display:block; width:100%; height:1px; background:var(--phone-border); margin:10px 0; }.admin-phone-spacer { display:block; }
.admin-phone-placeholder-label { display:block; font-size:10px; line-height:1.4; opacity:.8; margin-bottom:8px; }
.admin-phone-quick-placeholder { display:block; padding:10px; border:1px dashed var(--phone-border); border-radius:var(--phone-radius); }
.admin-phone-banner { border-inline-start:4px solid currentColor; text-align:start; }
.admin-phone-banner-text { display:block; white-space:pre-wrap; }
.admin-phone-tiles { grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr)); }
.admin-phone-tile,.admin-phone-card { min-width:0; overflow-wrap:normal; word-break:normal; }
.admin-phone-tile { padding:10px; }
.admin-phone-module-name { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; word-break:normal; overflow-wrap:normal; hyphens:none; }
.admin-partner-links { min-width: 0; overflow-wrap: anywhere; }
.admin-partner-links nav, .admin-partner-links form { display: flex; flex-wrap: wrap; gap: .75rem; }
.admin-partner-links form, .admin-partner-links label, .admin-partner-links li { display: grid; gap: .5rem; min-width: 0; }
.admin-partner-links input, .admin-partner-links select, .admin-partner-links textarea { width: 100%; min-width: 0; max-width: 100%; min-height: 44px; border: 1px solid hsl(var(--border)); border-radius: .5rem; padding: .6rem; background: transparent; }
.admin-partner-links button { min-height: 44px; white-space: normal; }
.admin-partner-links dd { margin-inline-start: 0; min-width: 0; }
.admin-partner-links ul { padding-inline-start: 1rem; display: grid; gap: 1rem; }
.admin-partner-links dialog { width: min(32rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; overflow-wrap: anywhere; padding: 1.25rem; border-radius:8px; }
.admin-partner-links dialog::backdrop { background: #0008; }
.admin-partner-links :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.admin-manager-partners { min-width: 0; overflow-wrap: anywhere; }
.admin-manager-partners form, .admin-manager-partners fieldset { display: grid; gap: .75rem; min-width: 0; }
.admin-manager-partners label { display: grid; gap: .3rem; min-width: 0; }
.admin-manager-partners input, .admin-manager-partners select, .admin-manager-partners textarea { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.admin-manager-partners nav { display: flex; flex-wrap: wrap; gap: .5rem; }
.admin-manager-partners dialog { max-width: min(32rem, calc(100vw - 2rem)); box-sizing: border-box; overflow-wrap: anywhere; }
.admin-manager-partners dd { margin-inline-start: 0; }
.admin-mfa-reset {
  min-width: 0;
  max-width: 100%;
  margin-block: 1rem;
  padding-block: 1rem;
  border-block: 1px solid hsl(var(--border));
  overflow-wrap: anywhere;
}
.admin-mfa-reset form, .admin-mfa-reset label {
  display: grid;
  gap: .75rem;
  min-width: 0;
}
.admin-mfa-reset textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 5rem;
}
.admin-mfa-reset dd {
  margin-inline-start: 0;
  margin-block-end: .75rem;
}
.admin-mfa-reset button {
  max-width: 100%;
  white-space: normal;
  height: auto;
  min-height: 2.75rem;
}

.admin-signup-decision { min-width: 0; display: grid; gap: .75rem; overflow-wrap: anywhere; }
.admin-signup-decision label { display: grid; gap: .5rem; min-width: 0; }
.admin-signup-decision textarea { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; min-height: 88px; padding: .6rem; border: 1px solid hsl(var(--border)); border-radius: .5rem; background: transparent; }
.admin-signup-decision dialog { box-sizing: border-box; width: min(32rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; overflow-wrap: anywhere; padding: 1rem; border-radius:8px; }
.admin-signup-decision dialog::backdrop { background: #0008; }
.admin-signup-decision button { min-height: 44px; white-space: normal; }
.admin-signup-decision :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.admin-manager-partners .admin-hint { margin: 0; font-size: .875rem; opacity: .8; }

.admin-geo-editor, .admin-geo-editor label { display: grid; gap: .5rem; min-width: 0; }
.admin-geo-editor { margin-block: 1rem; }
.admin-geo-editor input, .admin-geo-editor select { width: 100%; min-width: 0; max-width: 100%; }
.admin-geo-editor .admin-geo-check { display: flex; gap: .5rem; align-items: center; }
.admin-geo-editor input[type=checkbox] { width: 1.25rem; height: 1.25rem; }
.admin-geo dialog { width: min(32rem, calc(100vw - 2rem)); max-height: 85dvh; overflow: auto; padding: 1rem; }
.admin-geo dialog pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-partner-invite { min-width: 0; max-width: 100%; }
.admin-partner-invite label { display: grid; gap: .4rem; margin-block: .75rem; }
.admin-partner-invite textarea, .admin-partner-invite input { width: 100%; min-width: 0; max-width: 100%; }
.admin-partner-invite code, .admin-partner-invite dd { overflow-wrap: anywhere; white-space: normal; }
.admin-partner-invite dialog { width: min(32rem, calc(100vw - 2rem)); max-width: calc(100vw - 2rem); overflow-wrap: anywhere; }
.admin-partner-invite button { max-width: 100%; white-space: normal; }
.admin-phone-image { display:block; width:100%; max-height:240px; object-fit:contain; border-radius:var(--phone-radius); }

/* Shared admin surfaces and controls. Values come from the existing cabinet tokens. */
.admin-root {
  --admin-surface: var(--card);
  --admin-radius: 8px;
  --admin-field-radius: 8px;
  --admin-page-gap: 16px;
}
.admin-page {
  min-width: 0;
  max-width: 100%;
  margin-block: 0 16px;
  padding: 0;
  border: 0;
  border-radius: var(--admin-radius, 1.25rem);
  background: transparent;
  color: hsl(var(--card-foreground));
  box-shadow: none;
  overflow-wrap: anywhere;
}
.admin-page-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem 1rem;
  margin-bottom: var(--admin-page-gap, 1.25rem);
}
.admin-page-heading > div { min-width: 0; }
.admin-root .admin-page-heading h1 {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 650;
  margin: 0;
  letter-spacing: -.025em;
}
.admin-root .admin-page-heading h2 { margin: 0; }
.admin-page-subtitle {
  margin: .5rem 0 0;
  color: hsl(var(--muted-foreground));
  font-size: .875rem;
  line-height: 1.5;
}
.admin-page-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.admin-page-content { min-width: 0; }
.admin-page-embedded {
  padding: 0;
  margin-block: 1.25rem;
  border-radius: 0;
  box-shadow: none;
}
.admin-root .admin-button {
  font-family: inherit;
  cursor: pointer;
  flex-shrink: 0;
  justify-self: start;
  align-self: start;
  max-width: 100%;
  min-height: 28px;
  height: auto;
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 18px;
  box-shadow: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
.admin-root .admin-button:disabled {
  opacity: .45;
  cursor: default;
  width: fit-content;
}
.admin-root .admin-field:not([type=checkbox]):not([type=radio]):not([type=file]) {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 30px;
  border: 1px solid hsl(var(--border));
  border-radius: var(--admin-field-radius, 8px);
  padding: 4px 8px;
  color: hsl(var(--foreground));
  background: hsl(var(--background));
  font: inherit;
  font-size: 13px;
  line-height: 20px;
  box-shadow: none;
  color-scheme: light;
}
.admin-root textarea.admin-field { min-height: 7rem; resize: vertical; }
.admin-root .admin-field:disabled { opacity: .55; cursor: default; }
.admin-root .admin-field::placeholder { color: hsl(var(--muted-foreground)); }
.admin-root .admin-field:focus-visible {
  outline: 2px solid hsl(var(--primary) / .65);
  outline-offset: 2px;
}
.admin-root input.admin-field[type=checkbox],
.admin-root input.admin-field[type=radio] {
  width: 1rem;
  height: 1rem;
  accent-color: hsl(var(--primary));
  flex-shrink: 0;
}
.admin-root .admin-state {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  padding: 1rem;
  margin-block: 1rem;
  min-width: 0;
  border-radius:8px;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--muted) / .45);
  color: hsl(var(--muted-foreground));
  font-size: .875rem;
  line-height: 1.5;
}
.admin-state-icon { font-size: 1.5rem; line-height: 1; }
.admin-state-text { flex: 1 1 160px; min-width: 0; }
.admin-state-action { display: inline-flex; flex-wrap: wrap; gap: .5rem; }
.admin-root .admin-state-error {
  color: hsl(var(--destructive));
  background: hsl(var(--destructive) / .05);
  border-color: hsl(var(--destructive) / .2);
}
.admin-state-skeleton { display: grid; gap: .4rem; margin-top: .65rem; max-width: 20rem; }
.admin-state-skeleton > span { display: block; height: .5rem; border-radius:8px; background: hsl(var(--muted-foreground) / .12); }
.admin-state-skeleton > span:last-child { width: 65%; }
.admin-server-indicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  color: hsl(var(--primary));
  background: hsl(var(--primary) / .07);
}
.admin-root .admin-shell-header select { width: auto; min-height: 2rem; }
.admin-root [tabindex="-1"]:focus:not(:focus-visible) { outline: none; }
.admin-page-content > .admin-panel:first-child { margin-top: 0; }
@media (max-width:600px) {
  .admin-page { padding: 0; border-radius: 8px; }
  .admin-page-embedded { padding: 0; }
  .admin-layout > main { padding: 16px; }
  .admin-page-heading { gap: .75rem; }
  .admin-page-actions { width: 100%; }
  .admin-root .admin-shell-header { gap: .5rem; }
  .admin-shell-header > strong { min-width: 0; }
}
.admin-impersonation-global,
.admin-impersonation-global > .admin-page-content { display: contents; }
/* Preserve the already finished constructor workspace and its direct children. */
.admin-root .admin-page.admin-app-builder {
  margin: 0;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}
.admin-root .admin-page.admin-login { max-width: 28rem; margin: 2rem auto; }
.admin-root .admin-auth { background: hsl(var(--background)); min-height: 100dvh; }
.admin-root .admin-partners .admin-page-content > a { display: inline-flex; margin: .35rem 1rem .75rem 0; }
.admin-root .admin-button:not(.border-solid) { border: 0; }
.admin-root .admin-button.border-solid { border: 1px solid hsl(var(--border)); }
.admin-root .admin-server-indicator:focus-visible { outline: 2px solid hsl(var(--primary)); outline-offset: 2px; }

.admin-access-mfa-guard { border: 0; padding: 0; margin: 0; min-width: 0; }
.admin-staff-rename { min-width: 0; max-width: 100%; margin-block: 1rem; overflow-wrap: anywhere; }
.admin-staff-rename form, .admin-staff-rename label { display: grid; gap: .75rem; min-width: 0; }
.admin-staff-rename button { max-width: 100%; white-space: normal; height: auto; min-height: 44px; }
.admin-staff-rename :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.admin-root th { color:hsl(var(--muted-foreground)); font-weight:500; font-size:12px; background:hsl(var(--background)); }
.admin-root tbody tr:hover { background:hsl(var(--muted) / .5); }
.admin-root .admin-button[data-variant=primary] { background:hsl(var(--primary)); color:hsl(var(--primary-foreground)); }
.admin-root .admin-button[data-variant=secondary],.admin-root .admin-button[data-variant=outline] { background:hsl(var(--card)); color:hsl(var(--foreground)); border:1px solid hsl(var(--border)); }
.admin-root .admin-button[data-variant=ghost] { background:transparent; color:hsl(var(--secondary-foreground)); }
.admin-root .admin-button[data-variant=ghost]:hover { background:hsl(var(--muted)); }
.admin-root .admin-button[data-variant=danger] { background:hsl(var(--destructive)); color:hsl(var(--destructive-foreground)); }
.admin-root .shadow-sm,.admin-root .shadow,.admin-root .shadow-lg { box-shadow:none; }
.admin-root .admin-panel h2 { font-size:13px; margin:0 0 12px; }
.admin-root .admin-organizations.admin-page { border:0; background:transparent; }
.admin-root .admin-state { border-radius:8px; font-size:13px; }
.admin-root .admin-state-empty { padding:40px 16px; text-align:center; justify-content:center; background:hsl(var(--card)); }
.admin-state-empty .admin-state-text { flex:0 1 auto; }
.admin-root .admin-server-indicator { width:16px; height:16px; background:transparent; color:hsl(var(--muted-foreground)); }
.admin-id { display:inline-block; font-size:12px; max-width:100%; }
.admin-root .admin-id button { font-size:12px; min-height:24px; padding:0 4px; }
.admin-page-title { display:flex; align-items:center; gap:8px; min-width:0; }
.admin-title-line { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.admin-id > [role=button] { cursor:pointer; color:hsl(var(--muted-foreground)); }
.admin-id-content { display:inline-flex; align-items:center; flex-wrap:wrap; gap:4px; }

@media(max-width:600px) { .admin-root .admin-org-table td:not(:first-child):not(.admin-row-menu) { width:auto; } }

.admin-root .rounded-full[class*="bg-primary/"] { background:hsl(var(--muted)); border-color:hsl(var(--border)); color:hsl(var(--secondary-foreground)); }

/* stage-1 visual polish: tabs, links, crumbs */
.admin-root .admin-org-tabs, .admin-root main [role=tablist] { display:flex; gap:20px; overflow-x:auto; border-bottom:1px solid hsl(var(--border)); margin:0 0 16px; padding:0; scrollbar-width:none; }
.admin-root main [role=tablist] > [role=tab] { flex:none; height:auto; min-height:34px; padding:6px 0 8px; margin:0 0 -1px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; color:hsl(var(--muted-foreground)); font-size:13px; font-weight:500; line-height:18px; }
.admin-root main [role=tablist] > [role=tab]:hover { color:hsl(var(--foreground)); background:transparent; }
.admin-root main [role=tablist] > [role=tab][aria-selected=true] { color:hsl(var(--foreground)); border-bottom-color:hsl(var(--primary)); font-weight:600; }
.admin-root main a { color:hsl(var(--primary)); }
.admin-root .admin-crumbs a { color:hsl(var(--muted-foreground)); text-decoration:none; }
.admin-root .admin-crumbs a:hover { color:hsl(var(--foreground)); }
.admin-root .admin-table a, .admin-root .admin-org-table a { color:hsl(var(--foreground)); text-decoration:none; font-weight:600; }
.admin-root .admin-table a:hover, .admin-root .admin-org-table a:hover { color:hsl(var(--primary)); }
.admin-root .admin-command-trigger kbd { white-space:nowrap; }
@media(max-width:800px) { .admin-root .admin-command-trigger kbd { display:none; } .admin-root .admin-command-trigger::before { content:"⌕"; font-size:16px; } }

/* Stage 2 uses the same page surfaces, fields and semantic tokens as stage 1. */
.admin-root .admin-nav-group a > span { white-space:nowrap; }
.admin-root .admin-nav-group a { min-width:0; }
.admin-root .admin-page-heading { align-items:center; }
.admin-root .admin-page-embedded > .admin-page-heading h2 { font-size:18px; margin:0; }
.admin-root .admin-state, .admin-root .admin-state-empty { padding:12px; margin-block:12px; text-align:start; justify-content:flex-start; }
.admin-root .admin-state-icon { width:18px; height:18px; flex:none; }
.admin-root .admin-state-text { flex:1 1 160px; }
.admin-root .admin-state-skeleton { display:none; }
.admin-root main .admin-panel:not(.admin-page) { padding:12px; margin-block:0; border-radius:var(--admin-radius); }
.admin-root main .admin-cards { grid-template-columns:minmax(0,1fr); gap:8px; }
.admin-root main :is(.admin-partners ul,.admin-lead-list,.admin-workflow-list,.admin-billing-list,.admin-access ul) { list-style:none; padding:0; margin:12px 0; }
.admin-root main :is(.admin-partners ul,.admin-lead-list,.admin-workflow-list,.admin-billing-list) > li { padding:10px 12px; margin:0; border:1px solid hsl(var(--border)); border-bottom:0; border-radius:0; background:hsl(var(--card)); }
.admin-root main :is(.admin-partners ul,.admin-lead-list,.admin-workflow-list,.admin-billing-list) > li:first-child { border-radius:var(--admin-radius) var(--admin-radius) 0 0; }
.admin-root main :is(.admin-partners ul,.admin-lead-list,.admin-workflow-list,.admin-billing-list) > li:last-child { border-bottom:1px solid hsl(var(--border)); border-radius:0 0 var(--admin-radius) var(--admin-radius); }
.admin-root main :is(.admin-partners,.admin-health,.admin-access,.admin-diagnostics,.admin-providers,.admin-manager-partners,.admin-workflows,.admin-releases) :is(p,dl) { margin-block:6px; }
.admin-root main dl dd { margin-bottom:6px; }
.admin-root main h3 { font-size:13px; line-height:18px; margin-block:8px; }
.admin-root main .admin-table { border:1px solid hsl(var(--border)); border-radius:var(--admin-radius); background:hsl(var(--card)); overflow:visible; }
.admin-root main :is(th,td) { padding:8px 12px; vertical-align:top; }
.admin-root main th { font-size:12px; }
.admin-root main table { table-layout:fixed; }
.admin-root main td { overflow-wrap:anywhere; }
.admin-root main [data-admin-filters], .admin-root main [data-admin-filters] > fieldset {
  display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; max-width:100%;
  grid-template-columns:none; padding:0; margin:0 0 12px; border:0;
}
.admin-root main [data-admin-filters] > fieldset { width:100%; margin:0; }
.admin-root main [data-admin-filters] label { display:inline-flex; align-items:center; gap:6px; margin:0; min-width:0; width:auto; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-root main [data-admin-filters] label:has(> .admin-filter-menu) { border:1px solid hsl(var(--border)); border-radius:var(--admin-field-radius); padding:0 6px; background:hsl(var(--card)); }
.admin-root main [data-admin-filters] label:has(> input:not([type=checkbox])) { flex:1 1 170px; max-width:300px; white-space:nowrap; border:1px solid hsl(var(--border)); border-radius:var(--admin-field-radius); padding:0 8px; background:hsl(var(--card)); }
.admin-root main [data-admin-filters] label:has(> input:not([type=checkbox])) > input { border:0 !important; background:transparent !important; box-shadow:none; min-height:26px; padding:0 4px; font-size:12px; }
.admin-root main .admin-po-filters .admin-button { height:28px; min-height:28px; padding:0 10px; font-size:12px; font-weight:500; }
.admin-root main .admin-po-filters details > summary { font-size:12px; color:hsl(var(--muted-foreground)); cursor:pointer; white-space:nowrap; }
.admin-root main [data-admin-filters] input:not([type=checkbox]) { width:100%; min-width:0; background:hsl(var(--card)); }
.admin-root main [data-admin-filters] > input[type=search] { flex:1 1 220px; max-width:360px; }
.admin-root main [data-admin-filters] .admin-filter-chip { padding:0 6px; }
.admin-root .admin-filter-menu { position:relative; min-width:0; color:hsl(var(--foreground)); font-size:13px; }
.admin-root .admin-filter-menu > summary { display:flex; align-items:center; justify-content:space-between; gap:6px; list-style:none; cursor:pointer; padding:5px 4px; min-height:28px; box-sizing:border-box; white-space:nowrap; }
.admin-root .admin-filter-menu > summary::-webkit-details-marker { display:none; }
.admin-root .admin-filter-menu > summary[aria-disabled=true] { opacity:.45; cursor:default; }
.admin-root .admin-filter-menu > [role=listbox], .admin-root .admin-combobox-options { position:absolute; top:calc(100% + 4px); left:0; z-index:30; min-width:180px; width:max-content; max-width:min(340px,calc(100vw - 48px)); max-height:300px; overflow:auto; box-sizing:border-box; padding:4px; border:1px solid hsl(var(--border)); border-radius:var(--admin-radius); background:hsl(var(--card)); box-shadow:0 4px 12px hsl(var(--foreground) / .08); }
.admin-root .admin-filter-menu [role=option], .admin-root .admin-combobox-options [role=option] { display:flex; width:100%; justify-content:flex-start; padding:6px 8px; text-align:start; }
.admin-root .admin-filter-menu [aria-selected=true], .admin-root .admin-combobox-options [aria-selected=true] { background:hsl(var(--muted)); }
.admin-root .admin-filter-menu:focus-within > summary, .admin-root .admin-combobox:focus-within > input { outline:2px solid hsl(var(--primary) / .4); outline-offset:2px; }
.admin-root .admin-combobox { position:relative; width:240px; min-width:0; max-width:100%; margin:0; }
.admin-root .admin-combobox > input { padding-right:28px !important; }
.admin-root .admin-combobox-clear { position:absolute; top:1px; right:1px; padding:4px 8px; }
.admin-root .admin-combobox-options [role=option] { display:grid; gap:2px; height:auto; }
.admin-root .admin-combobox-options small { color:hsl(var(--muted-foreground)); font-weight:400; }
.admin-root main .admin-pagination { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:8px 0; font-size:12px; }
.admin-root main .admin-pagination .admin-button { font-size:12px; min-height:26px; padding:3px 8px; }
.admin-root main :is(.admin-todo-org-field,.admin-audit-org-filter) { min-width:0; max-width:260px; }
.admin-root main .admin-todo-filters { display:flex; }
.admin-root main .admin-technical-filter { margin-block:8px; font-size:12px; }
.admin-root main .admin-technical-filter form { margin-top:8px; }
.admin-root main :is(.admin-health-grid,.admin-provider-list) { gap:8px; }
@media(max-width:600px) {
  .admin-root main [data-admin-filters] { gap:8px; }
  .admin-root main [data-admin-filters] > input[type=search], .admin-root main [data-admin-filters] > .admin-combobox { flex:1 1 100%; max-width:100%; width:100%; }
  .admin-root main [data-admin-filters] label:has(> input:not([type=checkbox])) { max-width:100%; }
  .admin-root main table, .admin-root main tbody { display:block; width:100%; min-width:0; }
  .admin-root main thead { display:none; }
  .admin-root main tr { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; padding:8px 12px; border-bottom:1px solid hsl(var(--border)); }
  .admin-root main td { display:block; width:auto; min-width:0; padding:4px 0; border:0; }
  .admin-root main td[data-label]::before { content:attr(data-label); display:inline-block; color:hsl(var(--muted-foreground)); font-size:12px; margin-right:8px; }
  .admin-root main td:first-child { font-weight:600; }
  .admin-root main .admin-table { overflow:visible; }
  .admin-root main .admin-page-actions { flex-wrap:wrap; }
  .admin-root main .admin-page-content, .admin-root main fieldset, .admin-root main .admin-panel { min-width:0; max-width:100%; box-sizing:border-box; }
  .admin-root main :is(.admin-audit-org-filter,.admin-todo-org-field) { max-width:100%; }
  .admin-root main [role=tablist] { flex-wrap:wrap; gap:8px 16px; overflow:visible; }
}
.admin-root .admin-combobox-options [role=option] > * { min-width:0; white-space:normal; overflow-wrap:anywhere; word-break:normal; }
.admin-root .admin-po-filters .admin-po-directory { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; }
.admin-root .admin-provider-list .admin-panel { display:block; }
@media(max-width:600px) {
  .admin-root .admin-filter-menu > [role=listbox], .admin-root .admin-combobox-options {
    position:fixed; inset:auto 16px 16px; width:auto; min-width:0; max-width:calc(100vw - 32px); max-height:50dvh;
  }
}

/* Organization aggregators reuse the provider controls and status rows. */
.admin-aggregator-hotels { display:grid; gap:12px; }
.admin-root main .admin-aggregator-hotels > .admin-panel > h2 { margin:0 0 12px; font-size:15px; }
.admin-root main .admin-aggregators h3 { margin:12px 0 8px; font-size:13px; font-weight:600; }
.admin-root main .admin-aggregators .admin-provider-check { gap:8px; margin:8px 0; }
.admin-root main .admin-aggregators input[type=checkbox] { width:14px; height:14px; margin:0; flex-shrink:0; }
.admin-root main .admin-salon-bindings button { max-width:100%; white-space:normal; height:auto; min-height:2.5rem; }
.admin-root main .admin-aggregator-providers .admin-provider-row { padding:8px 12px; margin:0; border-radius:0; box-shadow:none; }
.admin-aggregator-providers .admin-provider-line { grid-template-columns:minmax(0,1fr) auto; }
@media (max-width: 480px) {
  .admin-aggregator-providers .admin-provider-line { grid-template-columns:minmax(0,1fr); }
}

/* Guide primitives use admin theme tokens in both colour schemes. */
.admin-guide-structured { min-width:0; overflow-wrap:anywhere; }
.admin-root main .admin-guide-section { margin-block:16px; padding:16px; border:1px solid hsl(var(--border)); border-radius:var(--admin-radius); background:hsl(var(--card)); }
.admin-root main .admin-guide-section h3 { display:flex; gap:8px; align-items:baseline; margin:0 0 12px; font-size:15px; line-height:1.5; }
.admin-guide-section h3 > span { color:hsl(var(--primary)); }
.admin-guide-code { white-space:normal; font-family:ui-monospace, SFMono-Regular, Consolas, monospace; padding:1px 4px; border-radius:4px; background:hsl(var(--muted)); color:hsl(var(--foreground)); overflow-wrap:anywhere; }
.admin-root main .admin-guide-link { color:hsl(var(--primary)); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.admin-guide-badge { display:inline-flex; padding:3px 8px; border:1px solid hsl(var(--border)); border-radius:6px; background:hsl(var(--muted)); color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-guide-badge[data-tone=partial] { color:hsl(var(--foreground)); border-style:dashed; }
.admin-guide-badge[data-tone=open] { color:hsl(var(--foreground)); background:hsl(var(--background)); }
.admin-guide-callout { margin-block:12px; padding:12px; border:1px solid hsl(var(--border)); border-inline-start:4px solid hsl(var(--primary)); border-radius:6px; background:hsl(var(--muted)); color:hsl(var(--foreground)); }
.admin-guide-callout[data-kind=warning], .admin-guide-callout[data-kind=open] { border-inline-start-color:hsl(var(--destructive)); }
.admin-guide-callout[data-kind=decision] { border-inline-start-style:double; }
.admin-guide-table-scroll { max-width:100%; min-width:0; overflow-x:auto; margin-block:12px; }
.admin-guide-data-cards { display:grid; gap:6px; min-width:0; }
.admin-root main .admin-guide-data-card { margin:0; padding:8px 10px; min-width:0; border-inline-start:2px solid hsl(var(--border)); background:hsl(var(--muted)); overflow-wrap:anywhere; }
.admin-guide-provenance { margin-block-start:20px; padding-block-start:12px; border-top:1px solid hsl(var(--border)); }
.admin-root main .admin-guide-checklist { display:grid; gap:12px; padding-inline-start:20px; }
/* Retain real table layout despite the general admin mobile table rules. */
.admin-root main table.admin-guide-table { display:table; width:100%; min-width:280px; border-collapse:collapse; table-layout:fixed; font-size:13px; }
.admin-root main .admin-guide-table caption { text-align:start; font-weight:600; padding-block:8px; }
.admin-root main .admin-guide-table thead { display:table-header-group; }
.admin-root main .admin-guide-table tbody { display:table-row-group; }
.admin-root main .admin-guide-table tr { display:table-row; padding:0; }
.admin-root main .admin-guide-table :is(th,td) { display:table-cell; width:auto; padding:8px; text-align:start; vertical-align:top; border-bottom:1px solid hsl(var(--border)); overflow-wrap:anywhere; white-space:normal; }
.admin-root main .admin-guide-table th { color:hsl(var(--muted-foreground)); font-weight:600; }
@media(max-width:600px) {
  .admin-root main .admin-guides-detail { padding:12px; }
  .admin-root main .admin-guide-section { padding:10px; }
}

.admin-guide-flow { padding:12px; border:1px solid hsl(var(--border)); border-radius:6px; background:hsl(var(--muted)); }
.admin-guide-flow figcaption { font-weight:600; }
.admin-root main .admin-guide-flow ol, .admin-root main .admin-guide-steps { display:grid; gap:12px; padding-inline-start:24px; white-space:pre-line; }
.admin-guide-shots { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:12px; min-width:0; }
.admin-root main .admin-guide-shots figure { min-width:0; margin:0; }
.admin-guide-shots figcaption { color:hsl(var(--muted-foreground)); font-size:12px; }

/* Shared guide typography, including long captions on a 390px viewport. */
.admin-root main .admin-guide-structured { white-space:normal; }
.admin-root main .admin-guide-section h3 { overflow-wrap:anywhere; min-width:0; }
.admin-root main .admin-guide-section h3 > span { flex-shrink:0; }
.admin-root main .admin-guide-section :is(ol,ul) { padding-inline-start:24px; }
.admin-root main .admin-guide-section li { margin-block:8px; }
.admin-root main .admin-guide-illustrated-steps { min-width:0; }
.admin-root main .admin-guide-illustrated-steps figure { margin:0; min-width:0; }
.admin-root main .admin-guide-illustrated-steps figcaption { margin-block-start:8px; font-size:12px; line-height:1.5; color:hsl(var(--muted-foreground)); overflow-wrap:anywhere; white-space:normal; }

/* Shared modal frame: fixed heading/actions and a single scrolling body. */
.admin-root main .admin-providers .admin-modal,
.admin-root .admin-modal {
  box-sizing: border-box;
  width: min(760px, calc(100vw - 2 * var(--admin-page-gap)));
  max-width: calc(100vw - 2 * var(--admin-page-gap));
  max-height: calc(100dvh - 2 * var(--admin-page-gap));
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid hsl(var(--border));
  border-radius: var(--admin-radius);
  background: hsl(var(--card));
  color: hsl(var(--foreground));
  font: inherit;
}
.admin-modal::backdrop { background: hsl(var(--foreground) / .4); }
.admin-root .admin-modal > form {
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - 2 * var(--admin-page-gap));
  gap: 0;
}
.admin-modal-header, .admin-modal-footer { padding: var(--admin-page-gap); flex: none; }
.admin-modal-header h2 { min-width: 0; overflow-wrap: anywhere; }
.admin-modal-header { border-bottom: 1px solid hsl(var(--border)); }
.admin-modal-body { padding: var(--admin-page-gap); overflow: auto; min-height: 0; display: grid; gap: var(--admin-page-gap); }
.admin-modal-body > *, .admin-modal-section > * { min-width: 0; }
.admin-modal-section { display: grid; gap: var(--admin-page-gap); padding-block: var(--admin-page-gap); border-block-start: 1px solid hsl(var(--border)); }
.admin-root main .admin-modal-footer { display: flex; flex-wrap: wrap; gap: var(--admin-page-gap); margin: 0; border-top: 1px solid hsl(var(--border)); }
.admin-root .admin-modal :is(h2,h3) { margin: 0; font-size: inherit; }
.admin-provider-icon { color: hsl(var(--primary)); }
.admin-provider-section-title { grid-column: 1 / -1; }
.admin-provider-credentials { display: grid; gap: var(--admin-page-gap); }
.admin-credential-masks { display: grid; gap: var(--admin-page-gap); margin: 0; }
.admin-credential-masks > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--admin-page-gap); }
.admin-credential-masks dt { color: hsl(var(--muted-foreground)); }
.admin-credential-masks dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width:600px) {
  .admin-modal-footer > button { flex: 1 1 100%; }
}
/* The contour remains textual and visible at phone widths. */
.admin-contour-switch { display:flex; flex-wrap:wrap; gap:.5rem; font-size:.75rem; }
.admin-contour-switch [aria-current] { font-weight:700; }
.admin-contour-switch a { text-decoration:underline; text-underline-offset:.2em; }
.admin-auth > .admin-contour { display:block; padding:1rem; }
.admin-button[data-staff-contour]::after { content:attr(data-staff-contour); margin-inline-start:.5rem; font-size:.75rem; }
.admin-layout > .admin-shell-header { grid-template-columns:minmax(0,1fr) minmax(160px,240px) auto; }
@media(max-width:1200px) {
  .admin-layout, .admin-sidebar-collapsed { grid-template-rows:auto 1fr; }
  .admin-layout > .admin-shell-header { height:auto; min-height:76px; padding-block:8px; row-gap:6px; }
  .admin-shell-right { grid-column:1 / -1; flex-wrap:wrap; }
}
@media(max-width:800px) {
  .admin-layout, .admin-sidebar-collapsed { grid-template-rows:auto 1fr; }
  .admin-layout > .admin-shell-header {
    grid-template-columns:28px minmax(0,1fr) 28px;
    height:auto; min-height:76px; padding-block:8px; row-gap:6px;
  }
  .admin-shell-right { grid-column:1 / -1; flex-wrap:wrap; justify-content:flex-start; }
  .admin-shell-right > .admin-contour, .admin-contour-switch { display:flex; }
  .admin-shell-right > .admin-user-menu { margin-inline-start:auto; }
}

.admin-credential-actions { display:flex; flex-wrap:wrap; gap:12px; margin-block:12px; }
.admin-provider-modal .admin-credential-actions > button { max-width:100%; height:auto; white-space:normal; }

/* Platform provider preview uses the standard card without an inner fieldset border. */
.admin-root main .admin-platform-form { display:grid; gap:12px; border:0; padding:0; margin:12px 0 0; min-width:0; }
.admin-platform-form > label { display:grid; gap:4px; }
.admin-platform-field-label { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; }
.admin-platform-field-key { font-size:12px; color:hsl(var(--muted-foreground)); font-weight:400; }
.admin-root main .admin-platform-status { display:flex; flex-direction:column; gap:4px; margin:8px 0; font-size:13px; }
.admin-platform-status > div { display:flex; gap:6px; min-width:0; overflow-wrap:anywhere; }
.admin-platform-status dt::after { content:":"; }
.admin-platform-status dt .admin-platform-field-label { display:inline-flex; }
.admin-platform-status dd { margin:0; min-width:0; }
.admin-platform-danger { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:8px; }
.admin-root main .admin-platform-confirm { display:flex; align-items:center; gap:8px; }
.admin-platform-confirm input[type=checkbox] { width:auto; margin:0; flex-shrink:0; }

/* Hotel aggregator cards and connection wizard. */
.admin-root main .admin-hotel-aggregators-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.admin-root main .admin-hotel-aggregator-badge { display:inline-block; border-radius:999px; padding:4px 10px; background:hsl(var(--muted)); font-size:13px; }
.admin-root main .admin-hotel-aggregator-wizard fieldset { border:0; padding:0; margin:0; min-width:0; }
.admin-root main .admin-hotel-aggregator-wizard .admin-hotel-aggregator-check { display:flex; flex-direction:row; align-items:center; gap:8px; margin-block:8px; }
.admin-root main .admin-hotel-aggregator-check input[type=checkbox] { width:16px; height:16px; min-height:0; flex:none; margin:0; }
.admin-root main .admin-hotel-aggregator-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }

/* Local-only previews: absent faces use the explicitly named system fallback. */
@font-face { font-family:"Inter"; src:local("Inter"); font-display:swap; }
@font-face { font-family:"Manrope"; src:local("Manrope"); font-display:swap; }
@font-face { font-family:"Outfit"; src:local("Outfit"); font-display:swap; }
@font-face { font-family:"Playfair Display"; src:local("Playfair Display"); font-display:swap; }
/* Guest-app editor shell. Tokens come from .admin-root only (see admin.css); 13px base, compact controls. */
.admin-app-builder { position:fixed; inset:0; z-index:40; display:flex; flex-direction:column; width:100%; height:100dvh; min-height:0; min-width:0; margin:0; padding:0; border:0; border-radius:0; overflow:hidden; overflow-wrap:anywhere; background:hsl(var(--background)); color:hsl(var(--foreground)); font-size:13px; line-height:20px; }
.admin-app-builder *, .admin-app-builder *::before, .admin-app-builder *::after { box-sizing:border-box; }
.admin-app-builder button, .admin-app-builder input, .admin-app-builder select, .admin-app-builder textarea { font:inherit; color:inherit; min-width:0; }
.admin-app-builder button { cursor:pointer; }
.admin-app-builder button:disabled { cursor:not-allowed; opacity:.45; }
.admin-app-builder :focus-visible { outline:2px solid hsl(var(--primary)); outline-offset:2px; }
.admin-app-builder :is(button, input, select, textarea, [tabindex]):focus-visible { outline:2px solid hsl(var(--primary)); outline-offset:2px; }
.admin-app-builder :is(.sb-search, .sb-model, .sb-scope-pick):focus-within { outline:2px solid hsl(var(--primary)); outline-offset:2px; border-radius:6px; }
.admin-app-builder h3, .admin-app-builder h4, .admin-app-builder h5, .admin-app-builder p { margin:0; }
.admin-app-builder .sb-ic { flex:none; display:block; }
.admin-app-builder .sb-hint { color:hsl(var(--muted-foreground)); font-size:12px; line-height:17px; }

/* Buttons */
.admin-app-builder .sb-btn { display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 10px; border:1px solid hsl(var(--border)); border-radius:7px; background:hsl(var(--card)); font-weight:500; white-space:nowrap; box-shadow:0 1px 0 hsl(var(--foreground) / .03); }
.admin-app-builder .sb-btn:hover:not(:disabled) { background:hsl(var(--muted)); }
.admin-app-builder .sb-btn[aria-pressed="true"] { background:hsl(var(--primary) / .08); border-color:hsl(var(--primary) / .3); color:hsl(var(--primary)); }
.admin-app-builder .sb-btn-primary { background:hsl(var(--primary)); border-color:hsl(var(--primary)); color:hsl(var(--primary-foreground)); box-shadow:0 1px 2px hsl(var(--primary) / .35), inset 0 1px 0 hsl(var(--primary-foreground) / .18); }
.admin-app-builder .sb-btn-primary:hover:not(:disabled) { background:hsl(var(--primary)); filter:brightness(1.08); }
.admin-app-builder .sb-ibtn, .admin-app-builder .sb-tb { display:inline-grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:7px; background:transparent; color:hsl(var(--secondary-foreground)); }
.admin-app-builder .sb-ibtn:hover:not(:disabled), .admin-app-builder .sb-tb:hover:not(:disabled) { background:hsl(var(--muted)); }
.admin-app-builder .sb-link { padding:0; border:0; background:none; color:hsl(var(--primary)); font-weight:600; font-size:12px; text-align:start; }
.admin-app-builder .sb-link:disabled { opacity:.5; }

/* Segmented control, toggle, pills, chips */
.admin-app-builder .sb-seg { display:inline-flex; gap:2px; padding:2px; border-radius:8px; background:hsl(var(--muted)); border:1px solid hsl(var(--border)); }
.admin-app-builder .sb-seg-item { display:inline-flex; align-items:center; justify-content:center; gap:6px; flex:1 1 0; min-height:24px; min-width:30px; padding:0 8px; border:0; border-radius:6px; background:transparent; color:hsl(var(--muted-foreground)); font-size:12px; font-weight:500; }
.admin-app-builder .sb-seg-item[aria-pressed="true"], .admin-app-builder .sb-seg-item[aria-checked="true"] { background:hsl(var(--card)); color:hsl(var(--foreground)); box-shadow:0 1px 2px hsl(var(--foreground) / .1), 0 0 0 1px hsl(var(--foreground) / .04); }
.admin-app-builder .sb-field .sb-seg { display:flex; }
.admin-app-builder .sb-toggle { position:relative; width:32px; height:18px; padding:0; border:0; border-radius:999px; background:hsl(var(--border)); transition:background .15s; }
.admin-app-builder .sb-toggle span { position:absolute; top:2px; left:2px; width:14px; height:14px; border-radius:50%; background:hsl(var(--primary-foreground)); box-shadow:0 1px 2px hsl(var(--foreground) / .25); transition:transform .15s; }
.admin-app-builder .sb-toggle[aria-checked="true"] { background:hsl(var(--primary)); }
.admin-app-builder .sb-toggle[aria-checked="true"] span { transform:translateX(14px); }
.admin-app-builder .sb-pill { display:inline-flex; align-items:center; gap:6px; height:22px; padding:0 9px; border-radius:999px; font-size:12px; font-weight:500; white-space:nowrap; background:hsl(var(--muted)); color:hsl(var(--secondary-foreground)); max-width:100%; overflow:hidden; text-overflow:ellipsis; }
.admin-app-builder .sb-pill > i { width:6px; height:6px; border-radius:50%; background:currentColor; flex:none; }
.admin-app-builder .sb-pill[data-tone="saved"] { background:hsl(var(--success) / .14); color:hsl(var(--success-foreground)); }
.admin-app-builder .sb-pill[data-tone="warning"] { background:hsl(var(--warning) / .16); color:hsl(var(--warning-foreground)); }
.admin-app-builder .sb-pill[data-tone="error"] { background:hsl(var(--destructive) / .1); color:hsl(var(--destructive)); }
.admin-app-builder .sb-pill-n { font-weight:600; }
.admin-app-builder .sb-chip { display:inline-flex; height:18px; align-items:center; padding:0 7px; border-radius:999px; font-size:11px; font-weight:500; background:hsl(var(--primary) / .1); color:hsl(var(--primary)); }

/* Top bar */
.admin-app-builder .sb-top { flex:none; display:flex; align-items:center; gap:12px; height:48px; padding:0 12px; background:hsl(var(--card)); border-bottom:1px solid hsl(var(--border)); position:relative; z-index:6; }
.admin-app-builder .sb-top-left, .admin-app-builder .sb-top-mid, .admin-app-builder .sb-top-right { display:flex; align-items:center; gap:8px; min-width:0; }
.admin-app-builder .sb-top-left { flex:1 1 auto; }
.admin-app-builder .sb-top-mid { flex:none; }
.admin-app-builder .sb-top-right { flex:0 1 auto; justify-content:flex-end; margin-left:auto; }
.admin-app-builder .sb-scope { display:flex; align-items:center; gap:6px; min-width:0; height:30px; padding:0 4px 0 6px; border-radius:8px; border:1px solid hsl(var(--border)); background:hsl(var(--card)); font-size:13px; }
.admin-app-builder .sb-scope .sb-mark { width:20px; height:20px; flex:none; display:grid; place-items:center; border-radius:6px; background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary) / .72)); color:hsl(var(--primary-foreground)); font-size:10px; font-weight:700; }
.admin-app-builder .sb-scope-org { font-weight:600; max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-app-builder .sb-slash { color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-scope-pick { position:relative; display:inline-flex; align-items:center; gap:4px; height:100%; min-width:0; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-scope-value { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-app-builder .sb-scope-pick select, .admin-app-builder .sb-model select { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.admin-app-builder .sb-scope small { color:hsl(var(--muted-foreground)); white-space:nowrap; }
.admin-app-builder .sb-model { position:relative; display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 4px; color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-app-builder .sb-model b { color:hsl(var(--secondary-foreground)); font-weight:600; }
.admin-app-builder .sb-device-kinds .sb-seg-item { min-width:30px; padding:0 6px; }
.admin-app-builder .admin-app-builder-status { display:flex; align-items:center; min-width:0; }
.admin-app-builder .admin-app-builder-status .admin-app-builder-dirty-note, .admin-app-builder .admin-app-builder-status .admin-app-builder-draft-rev { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.admin-app-builder .sb-more { position:relative; }
.admin-app-builder .sb-shortcuts { position:relative; }
.admin-app-builder .sb-shortcuts-popover { position:absolute; inset-inline-end:0; top:36px; width:min(380px, calc(100vw - 24px)); max-height:calc(100dvh - 80px); overflow:auto; padding:16px; border:1px solid hsl(var(--border)); border-radius:12px; background:hsl(var(--card)); box-shadow:0 12px 36px hsl(var(--foreground) / .16); z-index:20; }
.admin-app-builder .sb-shortcuts-popover .sb-row { justify-content:space-between; }
.admin-app-builder .sb-shortcuts-popover h3 { font-size:14px; }
.admin-app-builder .sb-shortcuts-popover dl { display:grid; gap:8px; margin:12px 0; }
.admin-app-builder .sb-shortcuts-popover dl > div { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.admin-app-builder .sb-shortcuts-popover dt { font-size:12px; }
.admin-app-builder .sb-shortcuts-popover dd { margin:0; flex:none; }
.admin-app-builder kbd { padding:3px 6px; border:1px solid hsl(var(--border)); border-radius:5px; background:hsl(var(--muted)); font:11px ui-monospace, monospace; white-space:nowrap; }
.admin-app-builder .sb-empty-page { display:flex; flex-direction:column; align-items:center; gap:12px; width:min(420px, 100%); padding:32px 24px; text-align:center; border:1px dashed hsl(var(--border)); border-radius:16px; background:hsl(var(--card)); box-shadow:0 8px 24px hsl(var(--foreground) / .04); }
.admin-app-builder .sb-empty-page > .sb-ic { color:hsl(var(--primary)); }
.admin-app-builder .sb-empty-page h3 { font-size:18px; line-height:24px; }
.admin-app-builder .sb-empty-page .sb-row { justify-content:center; flex-wrap:wrap; }
.admin-app-builder .sb-empty-page .sb-btn { height:36px; }
@media (max-width:899px) {
  .admin-app-builder .sb-shortcuts-popover { position:fixed; inset-inline-end:12px; top:60px; }
}
.admin-app-builder .sb-menu { position:absolute; right:0; top:34px; min-width:170px; padding:4px; background:hsl(var(--card)); border:1px solid hsl(var(--border)); border-radius:10px; box-shadow:0 8px 24px hsl(var(--foreground) / .12); z-index:20; }
.admin-app-builder .sb-menu[hidden] { display:none; }
.admin-app-builder .sb-menu button { display:block; width:100%; height:30px; padding:0 10px; border:0; border-radius:6px; background:none; text-align:start; }
.admin-app-builder .sb-menu button:hover:not(:disabled) { background:hsl(var(--muted)); }

/* Notices above the panes */
.admin-app-builder .admin-app-builder-feedback:empty { display:none; }
.admin-app-builder .admin-app-builder-feedback p, .admin-app-builder > [role="alert"], .admin-app-builder > [role="status"] { margin:0; padding:6px 16px; font-size:12px; }
.admin-app-builder .admin-app-builder-caption { color:hsl(var(--muted-foreground)); font-size:12px; line-height:17px; }
.admin-app-builder > .admin-app-builder-caption { padding:4px 16px; }
.admin-app-builder .admin-app-builder-server-state { flex:none; max-height:30dvh; overflow:auto; padding:6px 16px; background:hsl(var(--card)); border-bottom:1px solid hsl(var(--border)); font-size:12px; line-height:1.5; }
.admin-app-builder .admin-app-builder-server-state p { margin:2px 0; overflow-wrap:anywhere; }
.admin-app-builder .admin-app-builder-server-state button { height:28px; margin:2px 6px 2px 0; padding:0 10px; border:1px solid hsl(var(--border)); border-radius:7px; background:hsl(var(--card)); white-space:normal; }
.admin-app-builder .admin-app-builder-server-state [role="alert"] { border-inline-start:3px solid hsl(var(--warning)); padding-inline-start:8px; }
.admin-app-builder .admin-app-builder-server-state details { display:inline-block; }

/* Panes */
.admin-app-builder .admin-app-builder-panes { flex:1; min-height:0; display:grid; grid-template-columns:288px minmax(0,1fr) 328px; overflow:hidden; }
.admin-app-builder .admin-app-builder-panes > * { min-width:0; min-height:0; }
.admin-app-builder .admin-app-builder-panes[data-preview-only] { grid-template-columns:0 minmax(0,1fr) 0; }
.admin-app-builder .admin-app-builder-panes[data-preview-only] > .sb-rail, .admin-app-builder .admin-app-builder-panes[data-preview-only] > .sb-inspector { display:none; }

/* Left rail */
.admin-app-builder .sb-rail { display:flex; flex-direction:column; background:hsl(var(--card)); border-right:1px solid hsl(var(--border)); overflow:hidden; }
.admin-app-builder .sb-tabs { display:flex; flex-wrap:wrap; gap:2px; padding:0 8px; border-bottom:1px solid hsl(var(--border)); flex:none; }
.admin-app-builder .sb-tab { position:relative; display:flex; align-items:center; gap:6px; height:40px; padding:0 10px; border:0; background:none; color:hsl(var(--muted-foreground)); font-weight:500; }
.admin-app-builder .sb-tab[aria-pressed="true"] { color:hsl(var(--foreground)); }
.admin-app-builder .sb-tab[aria-pressed="true"]::after { content:""; position:absolute; left:8px; right:8px; bottom:-1px; height:2px; border-radius:2px; background:hsl(var(--primary)); }
.admin-app-builder .sb-rail-body { flex:1; min-height:0; overflow:auto; padding:12px; display:flex; flex-direction:column; gap:14px; overscroll-behavior:contain; }
.admin-app-builder .sb-rail-body[hidden] { display:none; }
.admin-app-builder .sb-search { display:flex; align-items:center; gap:8px; height:30px; padding:0 10px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); color:hsl(var(--muted-foreground)); flex:none; }
.admin-app-builder .sb-search input { flex:1; border:0; outline:0; background:none; font-size:13px; height:100%; }
.admin-app-builder .sb-group h3 { margin-bottom:6px; font-size:11px; font-weight:600; letter-spacing:.02em; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.admin-app-builder .sb-tile { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:64px; padding:6px 2px; border:1px solid hsl(var(--border)); border-radius:9px; background:hsl(var(--card)); color:hsl(var(--secondary-foreground)); font-size:11px; line-height:13px; text-align:center; transition:border-color .15s, box-shadow .15s; }
.admin-app-builder .sb-tile .sb-ic { color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-tile:hover:not(:disabled) { border-color:hsl(var(--ring) / .4); box-shadow:0 2px 8px hsl(var(--foreground) / .06); }
.admin-app-builder .sb-tile:active:not(:disabled) .sb-ic, .admin-app-builder .sb-tile:focus-visible .sb-ic { color:hsl(var(--primary)); }
.admin-app-builder .sb-presets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.admin-app-builder .sb-preset { display:flex; flex-direction:column; gap:8px; min-width:0; padding:8px; border:1px solid hsl(var(--border)); border-radius:10px; background:hsl(var(--card)); color:hsl(var(--foreground)); font-size:13px; line-height:1.3; text-align:left; }
.admin-app-builder .sb-preset:hover:not(:disabled) { border-color:hsl(var(--ring)); background:hsl(var(--muted) / .4); }
.admin-app-builder .sb-preset:focus-visible { outline:2px solid hsl(var(--ring)); outline-offset:2px; }
.admin-app-builder .sb-preset:disabled { opacity:.5; cursor:not-allowed; }
.admin-app-builder .sb-preset small { font-size:11px; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-preset-mock { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:8px 1fr 8px; gap:5px; width:100%; height:72px; padding:10px; box-sizing:border-box; overflow:hidden; border:1px solid hsl(var(--border)); border-radius:6px; background:hsl(var(--muted) / .45); }
.admin-app-builder .sb-preset-mock i { display:block; border-radius:3px; background:hsl(var(--primary) / .2); }
.admin-app-builder .sb-preset-mock i:first-child { grid-column:1 / -1; width:65%; height:5px; background:hsl(var(--foreground) / .5); }
.admin-app-builder .sb-preset-mock[data-preset="welcome"] { grid-template-rows:1fr 4px 4px; }
.admin-app-builder .sb-preset-mock[data-preset="welcome"] i:first-child { width:100%; height:auto; background:linear-gradient(135deg,hsl(var(--primary) / .3),hsl(var(--accent))); }
.admin-app-builder .sb-preset-mock[data-preset="welcome"] i:nth-child(2), .admin-app-builder .sb-preset-mock[data-preset="welcome"] i:nth-child(3) { grid-column:1 / -1; width:75%; justify-self:center; }
.admin-app-builder .sb-preset-mock[data-preset="welcome"] i:last-child { display:none; }
.admin-app-builder .sb-preset-mock[data-preset="services"], .admin-app-builder .sb-preset-mock[data-preset="wifi"], .admin-app-builder .sb-preset-mock[data-preset="contacts"] { grid-template-columns:1fr; grid-template-rows:8px repeat(3,1fr); }
.admin-app-builder .sb-preset-mock[data-preset="wifi"] i { width:85%; height:4px; }
.admin-app-builder .sb-preset-mock[data-preset="contacts"] i:not(:first-child) { border-left:8px solid hsl(var(--primary) / .4); }
.admin-app-builder .sb-preset-mock[data-preset="directions"] { grid-template-columns:1fr 1fr; grid-template-rows:8px 1fr 8px; }
.admin-app-builder .sb-preset-mock[data-preset="directions"] i:nth-child(2) { grid-row:2 / 4; background:repeating-linear-gradient(35deg,hsl(var(--primary) / .15) 0 8px,hsl(var(--card)) 8px 10px); }
.admin-app-builder .sb-preset-mock[data-preset="directions"] i:last-child { background:hsl(var(--primary) / .6); }
.admin-app-builder .sb-preset-mock[data-preset="promotion"] { grid-template-columns:1fr; grid-template-rows:8px 1fr 4px; background:hsl(var(--primary) / .12); }
.admin-app-builder .sb-preset-mock[data-preset="promotion"] i:nth-child(2) { background:hsl(var(--primary) / .5); }
.admin-app-builder .sb-preset-mock[data-preset="promotion"] i:last-child { display:none; }
.admin-app-builder .sb-preset-mock[data-preset="gallery"] { grid-template-columns:1fr 2fr 1fr; }
.admin-app-builder .sb-preset-mock[data-preset="gallery"] i:nth-child(3) { background:hsl(var(--primary) / .4); }
.admin-app-builder .sb-empty { text-align:center; color:hsl(var(--muted-foreground)); padding:12px 0; }
.admin-app-builder .sb-promo { margin-top:auto; display:flex; flex-direction:column; gap:8px; padding:12px; border:1px solid hsl(var(--border)); border-radius:10px; background:linear-gradient(160deg,hsl(var(--primary) / .05),hsl(var(--card))); }
.admin-app-builder .sb-promo b { font-weight:600; }
.admin-app-builder .sb-promo .sb-btn { align-self:flex-start; }
.admin-app-builder .sb-pages, .admin-app-builder .sb-theme { display:flex; flex-direction:column; gap:12px; }
.admin-app-builder .sb-pages h3, .admin-app-builder .sb-theme h3 { font-size:13px; }
.admin-app-builder .sb-two { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.admin-app-builder .sb-row { display:flex; flex-wrap:wrap; gap:6px; }
.admin-app-builder .sb-theme .sb-row button, .admin-app-builder .sb-row .admin-button { height:28px; min-height:0; padding:0 10px; font-size:12px; border-radius:7px; }
.admin-app-builder .sb-card { display:flex; flex-direction:column; gap:10px; padding:12px; border:1px solid hsl(var(--border)); border-radius:10px; background:hsl(var(--card)); }
.admin-app-builder .sb-card h4 { font-size:12px; font-weight:600; color:hsl(var(--muted-foreground)); }

/* Fields */
.admin-app-builder .sb-field { display:flex; flex-direction:column; gap:4px; min-width:0; margin:0; }
.admin-app-builder .sb-field-head { display:flex; justify-content:space-between; gap:8px; font-size:12px; color:hsl(var(--secondary-foreground)); }
.admin-app-builder .sb-field-head em { font-style:normal; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-input { width:100%; min-height:30px; padding:5px 10px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--muted)); font-size:13px; line-height:18px; }
.admin-app-builder textarea.sb-input { resize:vertical; min-height:48px; }
.admin-app-builder .sb-input:focus { background:hsl(var(--card)); border-color:hsl(var(--primary) / .5); outline:0; box-shadow:0 0 0 3px hsl(var(--primary) / .12); }
.admin-app-builder .sb-input:disabled { opacity:.6; }
.admin-app-builder select.sb-input { appearance:none; padding-right:26px; background:hsl(var(--card)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center; }
.admin-app-builder .sb-readonly { display:flex; align-items:center; min-height:30px; padding:5px 10px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--muted)); color:hsl(var(--secondary-foreground)); overflow-wrap:anywhere; }
.admin-app-builder .sb-fieldset { display:flex; flex-direction:column; gap:6px; min-width:0; margin:0; padding:0; border:0; }
.admin-app-builder .sb-fieldset legend { padding:0; margin-bottom:4px; font-size:12px; color:hsl(var(--secondary-foreground)); }
.admin-app-builder .sb-lang { display:flex; gap:6px; align-items:flex-start; margin:0; }
.admin-app-builder .sb-lang-tag { flex:none; width:26px; margin-top:7px; font-size:10px; font-weight:700; letter-spacing:.04em; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-lang .sb-input { flex:1; }
.admin-app-builder .sb-range { width:100%; accent-color:hsl(var(--primary)); }
.admin-app-builder .sb-grid3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.admin-app-builder .sb-colors { display:flex; flex-direction:column; gap:8px; }
.admin-app-builder .sb-colors h5 { font-size:12px; font-weight:600; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-colorgrid { display:grid; grid-template-columns:1fr; gap:6px; }
.admin-app-builder .admin-app-builder-color { display:grid; grid-template-columns:minmax(0,1fr) 30px; gap:6px; align-items:end; }
.admin-app-builder .admin-app-builder-color label { display:flex; flex-direction:column; gap:2px; font-size:12px; }
.admin-app-builder .admin-app-builder-color [aria-invalid="true"] { border-color:hsl(var(--destructive)); }
.admin-app-builder .sb-swatch { width:30px; height:30px; padding:2px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); }
.admin-app-builder .sb-details > summary { cursor:pointer; font-size:12px; color:hsl(var(--muted-foreground)); padding:4px 0; }
.admin-app-builder .sb-details[open] > summary { margin-bottom:6px; }
.admin-app-builder .sb-alert { color:hsl(var(--destructive)); font-size:12px; }
.admin-app-builder .sb-apply-row { display:flex; flex-direction:column; gap:6px; padding:12px 16px; }
.admin-app-builder .sb-apply { width:100%; height:30px; min-height:0; font-size:13px; border-radius:8px; border:1px solid hsl(var(--border)); }
.admin-app-builder .sb-theme .sb-apply { margin-top:8px; }
.admin-app-builder .sb-form { display:flex; flex-direction:column; gap:10px; margin:0; }

/* Image picker */
.admin-app-builder .sb-assets { min-width:0; }
.admin-app-builder .sb-assets fieldset { display:flex; flex-direction:column; gap:8px; min-width:0; margin:0; padding:0; border:0; }
.admin-app-builder .sb-assets legend { padding:0; margin-bottom:6px; font-size:12px; color:hsl(var(--secondary-foreground)); }
.admin-app-builder .sb-thumbs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.admin-app-builder .sb-thumb { position:relative; aspect-ratio:1; padding:0; border:2px solid transparent; border-radius:8px; overflow:hidden; background:hsl(var(--muted)); box-shadow:0 0 0 1px hsl(var(--border)); }
.admin-app-builder .sb-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.admin-app-builder .sb-thumb[aria-pressed="true"] { border-color:hsl(var(--primary)); box-shadow:0 0 0 1px hsl(var(--primary)); }
.admin-app-builder .sb-thumb-check { position:absolute; top:3px; right:3px; width:16px; height:16px; display:grid; place-items:center; border-radius:50%; background:hsl(var(--primary)); color:hsl(var(--primary-foreground)); font-size:10px; }
.admin-app-builder .sb-thumb-caption { font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-app-builder .admin-file-pick { display:flex; align-items:center; gap:8px; min-width:0; }
.admin-app-builder .admin-file-pick .admin-file-input { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); border:0; opacity:0; }
.admin-app-builder .admin-file-pick .admin-button { height:28px; min-height:0; padding:0 10px; font-size:12px; border-radius:7px; }
.admin-app-builder .admin-file-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-assets .sb-details .admin-button { height:26px; min-height:0; padding:0 8px; font-size:12px; margin:4px 4px 0 0; }
.admin-app-builder .sb-assets label { display:flex; flex-direction:column; gap:4px; font-size:12px; }
.admin-app-builder .sb-assets select { width:100%; min-height:30px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); }

/* Canvas */
.admin-app-builder .sb-canvas { position:relative; display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; background-color:hsl(var(--muted)); background-image:radial-gradient(hsl(var(--border)) 1px, transparent 1px); background-size:18px 18px; }
.admin-app-builder .sb-canvas-top { position:relative; flex:none; z-index:5; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; padding:12px; pointer-events:none; }
.admin-app-builder .sb-canvas-top > * { pointer-events:auto; }
.admin-app-builder .sb-pill-btn { display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 10px; border:1px solid hsl(var(--border)); border-radius:10px; background:hsl(var(--card)); box-shadow:0 2px 10px hsl(var(--foreground) / .06); font-size:13px; }
.admin-app-builder .sb-pill-btn span { color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-pill-btn .sb-ic { color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-notices { flex:none; display:flex; flex-direction:column; gap:6px; margin:0 12px 8px; }
.admin-app-builder .sb-notices:empty { display:none; }
.admin-app-builder .sb-notices p { padding:6px 10px; border:1px solid hsl(var(--border)); border-radius:10px; background:hsl(var(--card) / .96); font-size:12px; line-height:17px; box-shadow:0 2px 10px hsl(var(--foreground) / .05); }
.admin-app-builder .sb-viewport { flex:1; min-height:0; display:flex; overflow:auto; scrollbar-width:thin; }
.admin-app-builder .sb-viewport > * { margin:auto; }
.admin-app-builder .sb-canvas-bottom { flex:none; display:flex; flex-wrap:wrap; gap:6px; justify-content:center; padding:8px; pointer-events:none; z-index:5; }
.admin-app-builder .sb-canvas-scenario { flex:none; display:flex; flex-wrap:wrap; align-items:end; gap:8px; padding:0 12px 8px; }
.admin-app-builder .sb-canvas-scenario > .sb-field { flex:0 0 100px; }
.admin-app-builder .sb-canvas-scenario[hidden] { display:none; }
.admin-app-builder .sb-float { pointer-events:auto; display:flex; align-items:center; gap:4px; padding:3px; background:hsl(var(--card)); border:1px solid hsl(var(--border)); border-radius:10px; box-shadow:0 2px 10px hsl(var(--foreground) / .08); }
.admin-app-builder .sb-float-btn { display:inline-flex; align-items:center; gap:6px; height:26px; padding:0 10px; border:0; border-radius:7px; background:none; color:hsl(var(--muted-foreground)); font-weight:500; white-space:nowrap; }
.admin-app-builder .sb-float-btn[aria-pressed="true"] { background:hsl(var(--muted)); color:hsl(var(--foreground)); box-shadow:inset 0 0 0 1px hsl(var(--border)); }
.admin-app-builder .sb-float-sep, .admin-app-builder .sb-tb-sep { width:1px; height:16px; background:hsl(var(--border)); margin:0 2px; flex:none; }
.admin-app-builder .sb-zoom-val { min-width:44px; height:26px; border:0; border-radius:6px; background:none; text-align:center; font-weight:500; font-size:12px; }

/* Device frame (guest iframe) */
.admin-app-builder .admin-builder-guest-preview { display:flex; flex-direction:column; align-items:center; min-width:0; padding:16px 24px; }
.admin-app-builder .admin-device-toolbar { position:absolute; left:12px; bottom:14px; z-index:3; display:flex; gap:8px; font-size:12px; }
.admin-app-builder .admin-device-toolbar:empty { display:none; }
.admin-app-builder .admin-device-select { display:inline-flex; align-items:center; gap:6px; font-size:12px; }
.admin-app-builder .admin-device-updating, .admin-app-builder .admin-device-warning { padding:2px 8px; border-radius:999px; background:hsl(var(--card)); border:1px solid hsl(var(--border)); color:hsl(var(--muted-foreground)); }
.admin-app-builder .admin-device-warning { color:hsl(var(--destructive)); max-width:360px; }
.admin-app-builder .admin-device-fallback-note { margin:0 0 8px; padding:8px 10px; border:1px dashed hsl(var(--border)); border-radius:8px; font-size:12px; line-height:1.4; background:hsl(var(--card)); }
.admin-app-builder .admin-device-catalog-note { position:absolute; right:12px; bottom:14px; z-index:3; padding:2px 8px; border-radius:999px; background:hsl(var(--card)); border:1px solid hsl(var(--border)); font-size:11px; color:hsl(var(--muted-foreground)); }
.admin-app-builder .admin-device-catalog-note[data-catalog-status="unavailable"] { color:hsl(var(--destructive)); }
.admin-app-builder .admin-device-stage { position:relative; display:flex; flex-direction:column; align-items:center; min-width:0; }
.admin-app-builder .admin-device-stage[data-hidden] { position:absolute; width:0; height:0; overflow:hidden; visibility:hidden; pointer-events:none; }
.admin-app-builder .admin-device-box { flex:none; position:relative; }
.admin-app-builder .admin-device { position:absolute; inset-inline-start:0; top:0; transform-origin:0 0; box-sizing:border-box; background:#14161c; box-shadow:0 0 0 1.5px #3a3d48 inset, 0 24px 60px rgb(16 16 28 / .22), 0 4px 12px rgb(16 16 28 / .12); }
.admin-app-builder .admin-device-phone { border-radius:46px; }
.admin-app-builder .admin-device-tablet { border-radius:32px; }
.admin-app-builder .admin-device-desktop { border-radius:12px; background:#2b3445; }
.admin-app-builder .admin-device-tv { border-radius:14px; background:#0b0f17; }
.admin-app-builder .admin-device-screen { position:relative; margin:0 auto; overflow:hidden; background:#fff; }
.admin-app-builder .admin-device-phone .admin-device-screen { border-radius:26px; }
.admin-app-builder .admin-device-tablet .admin-device-screen { border-radius:14px; }
.admin-app-builder .admin-device-island { position:absolute; top:9px; left:50%; transform:translateX(-50%); width:104px; height:24px; border-radius:20px; background:#000; z-index:3; pointer-events:none; }
.admin-app-builder .admin-device-screen iframe { display:block; width:100%; height:100%; border:0; background:#fff; }
.admin-app-builder .admin-device-loading { position:absolute; inset:0; display:grid; place-content:center; margin:0; padding:24px; text-align:center; color:#667085; }
.admin-app-builder .admin-device-bar { position:absolute; inset:0 0 auto 0; height:44px; display:flex; align-items:center; gap:6px; padding-inline:14px; }
.admin-app-builder .admin-device-bar i { width:10px; height:10px; border-radius:50%; background:#8590a6; }
.admin-app-builder .admin-device-stand { position:absolute; inset-inline:35%; bottom:0; height:48px; clip-path:polygon(18% 0, 82% 0, 100% 100%, 0 100%); background:#273041; }

/* Schematic phone (editor mode) */
.admin-app-builder .admin-app-builder-phone { width:390px; max-width:calc(100% - 32px); height:min(680px, calc(100% - 140px)); min-height:420px; margin:auto; padding:14px 14px 24px; border:6px solid #14161c; border-radius:38px; box-shadow:0 24px 60px rgb(16 16 28 / .22); overflow:auto; scrollbar-width:thin; }
.admin-app-builder .admin-app-builder-grid { display:grid; list-style:none; gap:var(--phone-gap); margin:10px 0; padding:0; }
.admin-app-builder .admin-app-builder-grid > li { position:relative; display:flex; flex-direction:column; min-width:0; padding:0; border:1px solid transparent; border-radius:var(--phone-radius); }
.admin-app-builder .admin-app-builder-grid > li:hover { border-color:hsl(var(--primary) / .35); }
.admin-app-builder .admin-app-builder-block-target { display:block; width:100%; height:auto; padding:0; text-align:start; color:inherit; background:transparent; border:1px solid transparent; border-radius:var(--phone-radius); box-shadow:none; font:inherit; }
.admin-app-builder .admin-app-builder-block-target[aria-pressed="true"] { outline:1.5px solid hsl(var(--primary)); outline-offset:3px; }
.admin-app-builder .admin-app-builder-block-target:focus-visible { outline:3px solid hsl(var(--primary)); outline-offset:4px; }
.admin-app-builder .admin-app-builder-dropzone { display:block; width:100%; margin:16px 0 0; padding:8px; border:1px dashed hsl(var(--primary) / .35); border-radius:8px; background:transparent; color:inherit; font-size:12px; }
.admin-app-builder .admin-app-builder-inherited-chip { position:absolute; top:4px; left:4px; z-index:2; pointer-events:none; }

/* Selection toolbar */
.admin-app-builder .sb-toolbar { display:inline-flex; align-items:center; gap:2px; padding:3px; background:hsl(var(--foreground)); color:hsl(var(--primary-foreground)); border-radius:10px; box-shadow:0 6px 18px hsl(var(--foreground) / .28); font-size:12px; white-space:nowrap; z-index:8; }
.admin-app-builder .sb-toolbar:not(.sb-toolbar-docked) { position:absolute; top:-6px; right:6px; transform:translateY(-100%); }
.admin-app-builder .sb-toolbar-name { padding:0 8px 0 6px; font-weight:600; max-width:140px; overflow:hidden; text-overflow:ellipsis; }
.admin-app-builder .sb-toolbar .sb-tb { color:hsl(var(--primary-foreground)); width:26px; height:26px; }
.admin-app-builder .sb-toolbar .sb-tb:hover:not(:disabled) { background:hsl(var(--primary-foreground) / .14); }
.admin-app-builder .sb-toolbar .sb-tb-danger:hover:not(:disabled) { background:hsl(var(--destructive)); }
.admin-app-builder .sb-toolbar .sb-tb-sep { background:hsl(var(--primary-foreground) / .25); }
.admin-app-builder .sb-toolbar-cta { display:inline-flex; align-items:center; gap:6px; height:26px; padding:0 10px; border:0; border-radius:7px; background:hsl(var(--primary)); color:hsl(var(--primary-foreground)); font-weight:600; }

/* Inspector */
.admin-app-builder .sb-inspector { display:flex; flex-direction:column; min-height:0; overflow:auto; background:hsl(var(--card)); border-left:1px solid hsl(var(--border)); overscroll-behavior:contain; }
.admin-app-builder .sb-sheet-handle { display:none; }
.admin-app-builder .sb-inspector-head { display:flex; align-items:center; gap:10px; padding:14px 16px 10px; flex:none; }
.admin-app-builder .sb-inspector-head > div { flex:1; min-width:0; }
.admin-app-builder .sb-inspector-head h4 { font-size:14px; font-weight:600; }
.admin-app-builder .sb-inspector-head p { font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-block-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:hsl(var(--primary) / .1); color:hsl(var(--primary)); flex:none; }
.admin-app-builder .sb-close { display:none; }
.admin-app-builder .sb-notice { display:flex; gap:8px; margin:0 16px 8px; padding:10px 12px; border:1px solid hsl(var(--primary) / .22); border-radius:10px; background:hsl(var(--primary) / .06); color:hsl(var(--primary)); font-size:12px; line-height:17px; }
.admin-app-builder .sb-notice .sb-ic { margin-top:2px; }
.admin-app-builder .sb-notice p { font-weight:600; }
.admin-app-builder .sb-notice small { display:block; color:hsl(var(--secondary-foreground)); }
.admin-app-builder .sb-notice .sr-only { position:absolute; }
.admin-app-builder .sb-inspector-body { flex:none; }
.admin-app-builder .sb-inspector-body > .sb-form { gap:0; }
.admin-app-builder .sb-section { border-top:1px solid hsl(var(--border)); }
.admin-app-builder .sb-section-head { display:flex; justify-content:space-between; align-items:center; width:100%; height:38px; padding:0 16px; border:0; background:none; font-weight:600; }
.admin-app-builder .sb-section-head .sb-ic { color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-section-body { display:flex; flex-direction:column; gap:12px; padding:0 16px 14px; }
.admin-app-builder .sb-section-body[hidden] { display:none; }
.admin-app-builder .sb-inspector-empty { display:flex; flex-direction:column; align-items:center; gap:8px; padding:36px 24px; text-align:center; color:hsl(var(--muted-foreground)); position:relative; }
.admin-app-builder .sb-inherit { margin-top:auto; }
.admin-app-builder .sb-inherit .sb-section-body { gap:2px; }
.admin-app-builder .sb-inherit [data-scope-field] { display:grid; grid-template-columns:1fr auto; align-items:center; gap:0 8px; padding-block:4px; }
.admin-app-builder .sb-inherit strong { grid-column:1; font-weight:600; }
.admin-app-builder .sb-inherit span[role="status"] { grid-column:1; font-size:12px; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-inherit .admin-button { grid-column:2; grid-row:1 / span 2; height:26px; min-height:0; padding:0 8px; font-size:12px; border-radius:7px; }

/* Dialogs keep the native admin dialog; compact the controls inside */
.admin-app-builder .admin-app-builder-action-dialog { width:360px; }
.admin-app-builder dialog .admin-button, .admin-app-builder .admin-app-builder-server-dialog .admin-button { height:30px; min-height:0; margin:4px 4px 4px 0; padding:0 12px; font-size:13px; border-radius:8px; }
.admin-app-builder .admin-app-builder-server-dialog li { min-width:0; overflow-wrap:anywhere; }
.admin-app-builder .admin-app-builder-server-dialog .admin-button { max-width:100%; height:auto; min-height:30px; white-space:normal; padding:5px 12px; }
.admin-app-builder .admin-app-builder-history { list-style:none; padding:0; margin:12px 0; }
.admin-app-builder .admin-app-builder-history li { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid hsl(var(--border)); }
.admin-app-builder .admin-app-builder-history li > div { display:grid; gap:4px; font-size:13px; }
.admin-app-builder .admin-app-builder-history time { color:hsl(var(--muted-foreground)); }
.admin-app-builder .admin-app-builder-history .sb-history-actions { display:flex; flex-wrap:wrap; gap:8px; }
.admin-app-builder .sb-revision-diff { font-size:13px; margin-top:16px; border-top:1px solid hsl(var(--border)); padding-top:12px; overflow-wrap:anywhere; }
.admin-app-builder .sb-revision-diff ul { list-style:none; padding:0; }
.admin-app-builder .sb-revision-diff li { margin:8px 0; padding:12px; border:1px solid hsl(var(--border)); border-radius:var(--radius); }
.admin-app-builder .sb-revision-values { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); gap:12px; margin-top:8px; }
.admin-app-builder .sb-revision-values small { display:block; color:hsl(var(--muted-foreground)); margin-bottom:4px; }
.admin-app-builder .sb-revision-values del, .admin-app-builder .sb-revision-values ins { display:block; white-space:pre-wrap; text-decoration:none; }
.admin-app-builder .sb-revision-values del { border-left:2px solid hsl(var(--destructive)); padding-left:8px; }
.admin-app-builder .sb-revision-values ins { border-left:2px solid hsl(var(--success)); padding-left:8px; }
.admin-app-builder .admin-app-builder-template-screens section { margin:12px 0; padding:12px; border:1px solid hsl(var(--border)); border-radius:8px; }
.admin-app-builder .admin-app-builder-template-screens h5 { font-size:13px; margin:0 0 8px; }
.admin-app-builder .admin-app-builder-template-screens ul { padding-inline-start:16px; margin:0; font-size:13px; }
.admin-app-builder .admin-app-builder-template-screens li { margin:6px 0; }

/* Bottom navigation (mobile only) */
.admin-app-builder .sb-bottomnav { display:none; }

/* Narrower desktops */
@media (max-width:1279px) {
  .admin-app-builder .admin-app-builder-panes { grid-template-columns:240px minmax(0,1fr) 288px; }
  .admin-app-builder .sb-btn-text { display:none; }
  .admin-app-builder .sb-save { width:28px; padding:0; justify-content:center; }
  .admin-app-builder .sb-model-text b { display:none; }
}
@media (max-width:1099px) {
  .admin-app-builder .sb-scope-org { max-width:90px; }
  .admin-app-builder .sb-dark span { display:none; }
}

/* Mobile: preview first, panels become bottom sheets */
@media (max-width:899px) {
  .admin-app-builder .sb-top { grid-template-columns:auto minmax(0,1fr); height:auto; min-height:48px; gap:6px 8px; padding:6px 8px; }
  .admin-app-builder .sb-top-mid { display:none; }
  .admin-app-builder .sb-top-left { min-width:0; }
  .admin-app-builder .sb-top-right { gap:6px; }
  .admin-app-builder .sb-top-right .sb-btn:not(.sb-save):not(.sb-btn-primary) { display:none; }
  .admin-app-builder .sb-pill-n { display:none; }
  .admin-app-builder .sb-pill { padding:0 7px; }
  .admin-app-builder .sb-pill-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .admin-app-builder .sb-scope-org { max-width:70px; }
  .admin-app-builder .sb-pill > .sb-pill-n { display:inline; }
  .admin-app-builder .sb-pill { max-width:92px; }
  .admin-app-builder .admin-app-builder-panes { display:block; position:relative; }
  .admin-app-builder .sb-canvas { position:absolute; inset:0; }
  .admin-app-builder .sb-rail, .admin-app-builder .sb-inspector { position:absolute; left:0; right:0; bottom:0; z-index:12; max-height:58%; border:0; border-radius:16px 16px 0 0; box-shadow:0 -8px 32px hsl(var(--foreground) / .18); display:none; }
  .admin-app-builder .admin-app-builder-panes[data-local-panel="library"] > .sb-rail { display:flex; }
  .admin-app-builder .admin-app-builder-panes[data-local-panel="properties"] > .sb-inspector { display:flex; }
  .admin-app-builder .sb-sheet-handle { display:grid; place-items:center; width:100%; height:18px; padding:0; border:0; background:none; flex:none; }
  .admin-app-builder .sb-sheet-handle span { width:36px; height:4px; border-radius:4px; background:hsl(var(--border)); }
  .admin-app-builder .sb-close { display:inline-grid; }
  .admin-app-builder .sb-inspector-empty .sb-close { position:absolute; top:8px; right:12px; }
  .admin-app-builder .sb-canvas-bottom { position:relative; }
  .admin-app-builder .admin-app-builder-panes[data-local-panel="library"] .sb-canvas-bottom, .admin-app-builder .admin-app-builder-panes[data-local-panel="properties"] .sb-canvas-bottom { display:none; }
  .admin-app-builder .admin-app-builder-panes[data-local-panel="library"] .sb-canvas, .admin-app-builder .admin-app-builder-panes[data-local-panel="properties"] .sb-canvas { bottom:0; }
  .admin-app-builder .sb-bottomnav { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); flex:none; background:hsl(var(--card)); border-top:1px solid hsl(var(--border)); padding:4px 4px calc(4px + env(safe-area-inset-bottom)); position:relative; z-index:13; }
  .admin-app-builder .sb-bottomnav button { display:flex; flex-direction:column; align-items:center; gap:2px; min-height:46px; padding:6px 0; border:0; border-radius:10px; background:none; color:hsl(var(--muted-foreground)); font-size:11px; font-weight:500; }
  .admin-app-builder .sb-bottomnav button[aria-pressed="true"] { background:hsl(var(--primary) / .1); color:hsl(var(--primary)); }
  .admin-app-builder .sb-notices { margin:0 8px 8px; }
  .admin-app-builder .sb-canvas-top { padding:8px; }
  .admin-app-builder .sb-canvas-scenario { padding:0 8px 8px; }
  .admin-app-builder .sb-preview-settings { align-self:center; flex:none; margin:0 8px 8px; }
  .admin-app-builder .sb-canvas-scenario { max-height:30dvh; overflow:auto; }
  .admin-app-builder .sb-viewport { padding:8px 0; }
  .admin-app-builder .sb-tiles { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .admin-app-builder .sb-two { grid-template-columns:1fr 1fr; }
  .admin-app-builder .admin-builder-guest-preview { padding:8px; }
  .admin-app-builder .admin-app-builder-phone { flex:none; max-width:calc(100% - 16px); height:100%; max-height:680px; min-height:0; }
  .admin-app-builder .admin-device-toolbar, .admin-app-builder .admin-device-catalog-note { display:none; }
  .admin-app-builder .sb-toolbar:not(.sb-toolbar-docked) { right:2px; }
  .admin-app-builder .sb-toolbar .sb-tb { width:36px; height:36px; }
  .admin-app-builder .sb-tile { min-height:68px; }
}

.admin-app-builder .admin-app-builder-publication { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.admin-app-builder .sb-menu button { white-space:nowrap; }
@media (max-width:899px) {
  .admin-app-builder .sb-scope-org, .admin-app-builder .sb-slash { display:none; }
  .admin-app-builder .sb-scope { flex:1 1 auto; max-width:200px; }
  .admin-app-builder .sb-scope-value { max-width:none; }
  .admin-app-builder .sb-top-left { flex:1 1 auto; }
  .admin-app-builder .sb-top-right .sb-btn-primary { padding:0 10px; }
  .admin-app-builder .admin-builder-guest-preview { padding:8px; }
  .admin-app-builder .sb-float { max-width:calc(100vw - 16px); }
}
.admin-app-builder .sb-btn, .admin-app-builder .sb-ibtn { flex:none; }
.admin-app-builder .sb-top-right { flex-wrap:nowrap; }
.admin-app-builder .admin-device-catalog-note { right:12px; top:12px; bottom:auto; }
@media (max-width:899px) {
  .admin-app-builder .sb-top-left { flex:1 1 0; }
  .admin-app-builder .sb-top-right { flex:none; gap:6px; }
  .admin-app-builder .sb-scope { max-width:none; }
}
.admin-app-builder .sb-bottomnav .admin-button { height:auto; font-size:11px; font-weight:500; }
.admin-app-builder .admin-button.sb-link { height:auto; min-height:0; padding:0; font-size:12px; font-weight:600; background:none; }
.admin-app-builder .admin-button.sb-thumb { height:auto; min-height:0; width:100%; padding:0; border-radius:8px; }
@media (max-width:899px) {
  .admin-app-builder .sb-bottomnav .admin-button { width:100%; flex-direction:column; justify-content:center; gap:2px; padding:6px 0; border-radius:10px; white-space:normal; }
  .admin-app-builder .sb-bottomnav .admin-button[aria-pressed="true"] { background:hsl(var(--primary) / .1); color:hsl(var(--primary)); }
}
/* P2: overlays inside the device frame (device coordinates; counter-scaled via --sb-inv) */
.admin-app-builder .sb-guest-overlay { position:absolute; inset:0; z-index:2; pointer-events:none; overflow:hidden; }
.admin-app-builder .sb-guest-hover { position:absolute; box-sizing:border-box; border:calc(1.5px * var(--sb-inv, 1)) dashed hsl(var(--primary)); border-radius:calc(6px * var(--sb-inv, 1)); background:hsl(var(--primary) / .05); }
.admin-app-builder .sb-guest-toolbar { position:absolute; transform-origin:0 0; pointer-events:auto; white-space:nowrap; }
.admin-app-builder .sb-guest-toolbar .sb-toolbar { position:static; transform:none; }
.admin-app-builder .sb-phone { position:relative; display:inline-flex; }
.admin-app-builder .sb-phone-pop { position:absolute; right:0; top:38px; width:min(320px, calc(100vw - 32px)); padding:16px; display:flex; flex-direction:column; gap:10px; background:hsl(var(--card)); border:1px solid hsl(var(--border)); border-radius:12px; box-shadow:0 12px 32px hsl(var(--foreground) / .16); z-index:30; }
.admin-app-builder .sb-phone-pop h3 { margin:0; font-size:15px; font-weight:600; }
.admin-app-builder .sb-phone-hint, .admin-app-builder .sb-phone-exp, .admin-app-builder .sb-phone-warn, .admin-app-builder .sb-phone-err { margin:0; font-size:12px; line-height:1.45; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-phone-warn { color:hsl(var(--foreground)); }
.admin-app-builder .sb-phone-err { color:hsl(var(--destructive, 0 72% 45%)); }
.admin-app-builder .sb-phone-qr { width:200px; height:200px; align-self:center; border-radius:8px; border:1px solid hsl(var(--border)); }
.admin-app-builder .sb-phone-url { display:flex; gap:6px; }
.admin-app-builder .sb-phone-url input { flex:1; min-width:0; height:32px; padding:0 8px; font-size:12px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--background)); color:hsl(var(--foreground)); }
.admin-app-builder .sb-phone-actions { display:flex; gap:8px; justify-content:space-between; }

/* P4 theme panel */
.admin-app-builder .sb-presets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.admin-app-builder .sb-preset { display:flex; flex-direction:column; align-items:stretch; gap:4px; padding:4px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); font-size:11px; color:hsl(var(--secondary-foreground)); }
.admin-app-builder .sb-preset:hover:not(:disabled) { border-color:hsl(var(--primary) / .5); }
.admin-app-builder .sb-preset-dots { display:flex; gap:4px; justify-content:center; padding:6px; border-radius:5px; border:1px solid hsl(var(--border)); }
.admin-app-builder .sb-preset-dots i { width:14px; height:14px; border-radius:50%; display:block; }
.admin-app-builder .sb-colors { display:flex; flex-direction:column; gap:6px; }
.admin-app-builder .sb-color { display:grid; grid-template-columns:32px 1fr 92px; align-items:center; gap:8px; font-size:12px; }
.admin-app-builder .sb-color input[type="color"] { width:32px; height:28px; padding:0; border:1px solid hsl(var(--border)); border-radius:6px; background:none; }
.admin-app-builder .sb-hex { font-family:ui-monospace,monospace; text-transform:lowercase; }
.admin-app-builder .sb-hex[aria-invalid="true"] { border-color:hsl(var(--destructive)); }
.admin-app-builder .sb-contrast { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; font-size:12px; }
.admin-app-builder .sb-contrast li { display:grid; grid-template-columns:1fr auto 78px; gap:8px; align-items:center; }
.admin-app-builder .sb-contrast b { font-variant-numeric:tabular-nums; font-weight:600; }
.admin-app-builder .sb-contrast em { font-style:normal; font-size:11px; font-weight:600; text-align:center; padding:1px 6px; border-radius:999px; background:hsl(var(--muted)); }
.admin-app-builder .sb-contrast li[data-grade="aaa"] em, .admin-app-builder .sb-contrast li[data-grade="aa"] em { background:hsl(var(--primary) / .12); color:hsl(var(--primary)); }
.admin-app-builder .sb-contrast li[data-grade="large"] em { background:hsl(var(--warning) / .15); color:hsl(var(--warning-foreground)); }
.admin-app-builder .sb-contrast li[data-grade="fail"] em { background:hsl(var(--destructive) / .12); color:hsl(var(--destructive)); }
.admin-app-builder .sb-warn { color:hsl(var(--warning-foreground)); }
.admin-app-builder .sb-fonts { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.admin-app-builder .sb-font { display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:8px 10px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); }
.admin-app-builder .sb-font > span { font-size:22px; line-height:1.1; color:hsl(var(--foreground)); }
.admin-app-builder .sb-font small { font-size:11px; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-font[aria-pressed="true"] { border-color:hsl(var(--primary)); background:hsl(var(--primary) / .06); }
.admin-app-builder .sb-radius { width:100%; accent-color:hsl(var(--primary)); }
.admin-app-builder .sb-advanced summary { cursor:pointer; font-size:12px; font-weight:600; color:hsl(var(--muted-foreground)); }
/* P3: template gallery */
.admin-app-builder.sb-layer { z-index:60; align-items:center; justify-content:center; flex-direction:row; background:hsl(var(--foreground) / .45); padding:16px; }
.admin-app-builder .sb-gal { position:relative; display:flex; flex-direction:column; width:min(1120px,100%); max-height:calc(100dvh - 32px); min-height:0; border-radius:14px; background:hsl(var(--card)); border:1px solid hsl(var(--border)); box-shadow:0 24px 64px hsl(var(--foreground) / .28); overflow:hidden; outline:0; }
.admin-app-builder .sb-gal-head { flex:none; display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:18px 22px 12px; }
.admin-app-builder .sb-gal-head h2 { margin:0 0 2px; font-size:18px; line-height:24px; font-weight:600; }
.admin-app-builder .sb-gal-body { flex:1; min-height:0; overflow:auto; padding:2px 22px 18px; border-bottom:1px solid hsl(var(--border)); display:flex; flex-direction:column; gap:14px; }
.admin-app-builder .sb-gal-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.admin-app-builder .sb-chips { display:flex; flex-wrap:wrap; gap:6px; }
.admin-app-builder .sb-fchip { height:28px; padding:0 12px; border:1px solid hsl(var(--border)); border-radius:999px; background:hsl(var(--card)); font-size:12px; font-weight:500; color:hsl(var(--secondary-foreground)); }
.admin-app-builder .sb-fchip[aria-pressed="true"] { background:hsl(var(--foreground)); border-color:hsl(var(--foreground)); color:hsl(var(--background)); }
.admin-app-builder .sb-gal-bar .sb-search { width:240px; max-width:100%; }
.admin-app-builder .sb-gal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.admin-app-builder .sb-tcard { display:flex; gap:14px; padding:12px; border:1px solid hsl(var(--border)); border-radius:12px; background:hsl(var(--card)); min-width:0; }
.admin-app-builder .sb-tcard[data-current] { border-color:hsl(var(--primary) / .5); box-shadow:0 0 0 3px hsl(var(--primary) / .1); }
.admin-app-builder .sb-tcard-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:8px; }
.admin-app-builder .sb-tcard-body h3 { display:flex; align-items:center; gap:6px; flex-wrap:wrap; font-size:14px; line-height:20px; font-weight:600; }
.admin-app-builder .sb-tcard-body p { color:hsl(var(--secondary-foreground)); font-size:12px; line-height:17px; }
.admin-app-builder .sb-tags { display:flex; flex-wrap:wrap; gap:5px; }
.admin-app-builder .sb-tags span { display:inline-flex; align-items:center; height:20px; padding:0 8px; border-radius:6px; background:hsl(var(--muted)); border:1px solid hsl(var(--border)); font-size:11px; color:hsl(var(--secondary-foreground)); }
.admin-app-builder .sb-tcard-foot { margin-top:auto; display:flex; flex-direction:column; gap:8px; }
.admin-app-builder .sb-tcard-foot .sb-hint { display:inline-flex; align-items:center; gap:5px; }
.admin-app-builder .sb-tcard-actions { display:flex; align-items:center; gap:6px; }
.admin-app-builder .sb-tcard-actions .sb-current { flex:1; display:inline-flex; align-items:center; justify-content:center; gap:5px; height:28px; border-radius:7px; background:hsl(var(--primary) / .08); border:1px solid hsl(var(--primary) / .3); color:hsl(var(--primary)); font-weight:500; }
.admin-app-builder .sb-bordered { border:1px solid hsl(var(--border)); background:hsl(var(--card)); }
.admin-app-builder .sb-ghost { border-color:transparent; background:transparent; box-shadow:none; }
.admin-app-builder .sb-gal-foot { flex:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 22px; flex-wrap:wrap; }
.admin-app-builder .sb-gal-foot .sb-hint { display:inline-flex; align-items:center; gap:6px; }
.admin-app-builder .sb-row { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.admin-app-builder .sb-error-text { color:hsl(var(--destructive)); font-size:12px; }
.admin-app-builder .sb-gal-confirm { position:absolute; left:22px; right:22px; bottom:64px; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-radius:10px; background:hsl(var(--card)); border:1px solid hsl(var(--warning) / .5); box-shadow:0 8px 24px hsl(var(--foreground) / .18); }
.admin-app-builder .sb-gal-view { display:grid; grid-template-columns:300px minmax(0,1fr); gap:20px; min-height:520px; }
.admin-app-builder .sb-gal-view-info { display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.admin-app-builder .sb-gal-view-phone { position:relative; min-height:520px; min-width:0; border-radius:12px; background:hsl(var(--muted)); overflow:hidden; display:grid; place-items:center; }
.admin-app-builder .sw-confirm { width:min(420px,100%); padding:18px; gap:10px; }
.admin-app-builder .sw-layer { position:absolute; }

/* Mini phone drawn from the template palette (colours arrive as inline custom properties) */
.admin-app-builder .sb-mini { flex:none; display:flex; flex-direction:column; gap:5px; width:112px; height:226px; padding:6px; border:5px solid hsl(var(--foreground)); border-radius:22px; background:var(--tb); overflow:hidden; }
.admin-app-builder .sb-mini-cover { display:flex; align-items:flex-end; height:74px; padding:6px; border-radius:11px; background:linear-gradient(155deg,var(--tp),var(--ta)); }
.admin-app-builder .sb-mini-cover b { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:normal; font-size:9px; line-height:11px; font-weight:700; color:hsl(var(--primary-foreground)); text-shadow:0 1px 2px hsl(var(--foreground) / .5); }
.admin-app-builder .sb-mini-tiles { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
.admin-app-builder .sb-mini-tiles i { height:24px; border-radius:6px; background:var(--ta); opacity:.85; }
.admin-app-builder .sb-mini-row { display:flex; align-items:center; justify-content:space-between; gap:6px; height:32px; padding:0 7px; border-radius:8px; background:hsl(var(--card)); box-shadow:0 1px 3px var(--tt); }
.admin-app-builder .sb-mini-row s { flex:1; height:4px; border-radius:2px; background:var(--tt); opacity:.55; text-decoration:none; max-width:50px; }
.admin-app-builder .sb-mini-row u { order:2; width:14px; height:14px; border-radius:5px; background:var(--tp); }
.admin-app-builder .sb-mini-bar { margin-top:auto; display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }
.admin-app-builder .sb-mini-bar i { height:12px; border-radius:5px; background:var(--tt); opacity:.18; }
.admin-app-builder .sb-mini-bar i:first-child { background:var(--tp); opacity:1; }

/* P3: setup wizard */
.admin-app-builder.sw-root { background:hsl(var(--card)); }
.admin-app-builder .sw-top { flex:none; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:12px; height:52px; padding:0 16px; border-bottom:1px solid hsl(var(--border)); background:hsl(var(--card)); }
.admin-app-builder .sw-brand { display:flex; align-items:center; gap:10px; min-width:0; }
.admin-app-builder .sw-logo-mark { display:grid; place-items:center; width:24px; height:24px; border-radius:7px; background:hsl(var(--foreground)); color:hsl(var(--background)); font-weight:700; font-size:12px; flex:none; }
.admin-app-builder .sw-org { color:hsl(var(--muted-foreground)); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-app-builder .sw-steps { display:flex; align-items:center; gap:2px; margin:0; padding:0; list-style:none; }
.admin-app-builder .sw-steps li { display:flex; align-items:center; }
.admin-app-builder .sw-steps li + li::before { content:""; width:22px; height:1px; margin:0 4px; background:hsl(var(--border)); }
.admin-app-builder .sw-steps button { display:inline-flex; align-items:center; gap:7px; height:28px; padding:0 10px 0 4px; border:0; border-radius:999px; background:transparent; color:hsl(var(--muted-foreground)); font-weight:500; }
.admin-app-builder .sw-steps button:disabled { cursor:default; opacity:1; }
.admin-app-builder .sw-steps li[data-state="now"] button { background:hsl(var(--primary) / .1); color:hsl(var(--primary)); font-weight:600; }
.admin-app-builder .sw-steps li[data-state="done"] button { color:hsl(var(--foreground)); }
.admin-app-builder .sw-dot { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; border:1px solid hsl(var(--border)); font-size:11px; font-weight:600; background:hsl(var(--card)); }
.admin-app-builder .sw-steps li[data-state="now"] .sw-dot { background:hsl(var(--primary)); border-color:hsl(var(--primary)); color:hsl(var(--primary-foreground)); }
.admin-app-builder .sw-steps li[data-state="done"] .sw-dot { background:hsl(var(--success)); border-color:hsl(var(--success)); color:hsl(var(--primary-foreground)); }
.admin-app-builder .sw-top-right { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.admin-app-builder .sw-time { display:inline-flex; align-items:center; gap:5px; color:hsl(var(--muted-foreground)); font-size:12px; white-space:nowrap; }
.admin-app-builder .sw-compact-step { display:none; }
.admin-app-builder .sw-main { flex:1; min-height:0; display:grid; grid-template-columns:minmax(0,1fr); }
.admin-app-builder .sw-main[data-has-preview] { grid-template-columns:minmax(0,1fr) minmax(360px,560px); }
.admin-app-builder .sw-form { min-height:0; overflow:auto; padding:28px 24px 24px; overscroll-behavior:contain; }
.admin-app-builder .sw-step { width:min(600px,100%); margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.admin-app-builder .sw-main:not([data-has-preview]) .sw-step { width:min(1040px,100%); }
.admin-app-builder .sw-head h1 { margin:0 0 2px; font-size:22px; line-height:28px; font-weight:600; letter-spacing:-.01em; }
.admin-app-builder .sw-head p { margin:0; color:hsl(var(--muted-foreground)); font-size:13px; line-height:19px; }
.admin-app-builder .sw-head-row { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.admin-app-builder .sw-card { display:flex; flex-direction:column; gap:12px; padding:16px; border:1px solid hsl(var(--border)); border-radius:12px; background:hsl(var(--card)); }
.admin-app-builder .sw-card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.admin-app-builder .sw-card-head h2 { margin:0; font-size:13px; font-weight:600; }
.admin-app-builder .sw-hint { color:hsl(var(--muted-foreground)); font-size:12px; line-height:17px; }
.admin-app-builder .sw-label { font-size:12px; color:hsl(var(--secondary-foreground)); }
.admin-app-builder .sw-field { display:flex; flex-direction:column; gap:4px; min-width:0; }
.admin-app-builder .sw-row { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0; }
.admin-app-builder .sw-two { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.admin-app-builder .sw-three { display:grid; grid-template-columns:1fr; gap:12px; }
.admin-app-builder .sw-banner { display:flex; align-items:center; gap:8px; margin:0; padding:10px 12px; border-radius:10px; background:hsl(var(--success) / .12); color:hsl(var(--success-foreground)); font-size:12px; }
.admin-app-builder .sw-file { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.admin-app-builder .sw-logo { position:relative; display:flex; align-items:center; gap:14px; padding:12px; border:1px solid hsl(var(--border)); border-radius:10px; background:hsl(var(--muted) / .5); }
.admin-app-builder .sw-logo-prev { display:grid; place-items:center; flex:none; width:96px; height:64px; border-radius:8px; border:1px solid hsl(var(--border)); background:hsl(var(--card)) repeating-conic-gradient(hsl(var(--muted)) 0% 25%, hsl(var(--card)) 0% 50%) 0 0 / 12px 12px; color:hsl(var(--muted-foreground)); overflow:hidden; }
.admin-app-builder .sw-logo[data-bg="dark"] .sw-logo-prev { background:hsl(var(--foreground)); }
.admin-app-builder .sw-logo-prev img { max-width:88px; max-height:56px; object-fit:contain; }
.admin-app-builder .sw-logo-meta { display:flex; flex-direction:column; gap:4px; min-width:0; }
.admin-app-builder .sw-logo-meta b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-app-builder .sw-ok { margin-left:auto; display:inline-flex; align-items:center; gap:4px; height:20px; padding:0 8px; border-radius:999px; background:hsl(var(--success) / .14); color:hsl(var(--success-foreground)); font-size:11px; font-weight:500; white-space:nowrap; align-self:flex-start; }
.admin-app-builder .sw-auto { display:inline-flex; align-items:center; gap:5px; color:hsl(var(--primary)); font-size:12px; }
.admin-app-builder .sw-swatches { display:flex; flex-wrap:wrap; gap:8px; }
.admin-app-builder .sw-swatch { display:flex; flex-direction:column; align-items:stretch; gap:3px; width:78px; padding:0; border:0; background:transparent; text-align:left; font-size:12px; }
.admin-app-builder .sw-swatch > span { display:grid; place-items:center; height:48px; border-radius:9px; border:1px solid hsl(var(--border)); color:hsl(var(--primary-foreground)); }
.admin-app-builder .sw-swatch[aria-pressed="true"] > span { outline:2px solid hsl(var(--primary)); outline-offset:2px; }
.admin-app-builder .sw-swatch b { font-weight:600; }
.admin-app-builder .sw-swatch code { font-size:10px; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sw-colorfield { display:flex; flex-direction:column; gap:4px; min-width:0; }
.admin-app-builder .sw-colorbox { display:flex; align-items:center; gap:8px; height:32px; padding:0 8px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); }
.admin-app-builder .sw-colorbox[data-invalid] { border-color:hsl(var(--destructive)); }
.admin-app-builder .sw-colorpick { position:relative; flex:none; width:18px; height:18px; border-radius:50%; border:1px solid hsl(var(--border)); overflow:hidden; cursor:pointer; }
.admin-app-builder .sw-colorpick input { position:absolute; inset:-4px; width:30px; height:30px; opacity:0; cursor:pointer; }
.admin-app-builder .sw-hex { flex:1; min-width:0; border:0; outline:0; background:transparent; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; }
.admin-app-builder .sw-badge { display:inline-flex; align-items:center; height:18px; padding:0 7px; border-radius:999px; background:hsl(var(--success) / .14); color:hsl(var(--success-foreground)); font-size:10px; font-weight:700; }
.admin-app-builder .sw-badge[data-grade="AA-large"] { background:hsl(var(--warning) / .16); color:hsl(var(--warning-foreground)); }
.admin-app-builder .sw-badge[data-grade="fail"] { background:hsl(var(--destructive) / .12); color:hsl(var(--destructive)); }
.admin-app-builder .sw-palettes { display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:8px; }
.admin-app-builder .sw-palette { display:flex; flex-direction:column; gap:6px; padding:8px; border:1px solid hsl(var(--border)); border-radius:10px; background:hsl(var(--card)); font-size:12px; text-align:left; }
.admin-app-builder .sw-palette > span { display:flex; height:22px; border-radius:6px; overflow:hidden; }
.admin-app-builder .sw-palette i { flex:1; }
.admin-app-builder .sw-palette[aria-pressed="true"] { border-color:hsl(var(--primary) / .55); box-shadow:0 0 0 3px hsl(var(--primary) / .1); }
.admin-app-builder .sw-seg-none .sb-seg-item[aria-pressed="true"] { background:transparent; box-shadow:none; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sw-sections { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.admin-app-builder .sw-section { display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid hsl(var(--border)); border-radius:10px; background:hsl(var(--card)); min-width:0; }
.admin-app-builder .sw-section[data-on] { border-color:hsl(var(--primary) / .25); }
.admin-app-builder .sw-section-ic { display:grid; place-items:center; flex:none; width:32px; height:32px; border-radius:8px; background:hsl(var(--primary) / .08); color:hsl(var(--primary)); }
.admin-app-builder .sw-section:not([data-on]) .sw-section-ic { background:hsl(var(--muted)); color:hsl(var(--muted-foreground)); }
.admin-app-builder .sw-section-text { flex:1; min-width:0; display:flex; flex-direction:column; }
.admin-app-builder .sw-section-text b { display:flex; align-items:center; gap:6px; font-weight:600; }
.admin-app-builder .sw-section-text small { color:hsl(var(--muted-foreground)); font-size:12px; line-height:16px; }
.admin-app-builder .sw-foot-note { margin:0; color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-app-builder .sw-fieldset { display:flex; flex-direction:column; gap:6px; min-width:0; margin:0; padding:0; border:0; }
.admin-app-builder .sw-fieldset legend { padding:0; margin-bottom:4px; font-size:12px; color:hsl(var(--secondary-foreground)); }
.admin-app-builder .sw-lang { display:flex; align-items:center; gap:6px; }
.admin-app-builder .sw-lang > span { flex:none; width:22px; font-size:10px; font-weight:700; letter-spacing:.04em; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sw-lang .sb-input[data-invalid] { border-color:hsl(var(--destructive)); }
.admin-app-builder .sw-contacts { display:flex; flex-direction:column; gap:10px; }
.admin-app-builder .sw-contact { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 28px; gap:8px; align-items:end; }
.admin-app-builder .sw-state { display:flex; gap:10px; align-items:flex-start; padding:12px; border-radius:10px; }
.admin-app-builder .sw-state[data-tone="ok"] { background:hsl(var(--success) / .12); color:hsl(var(--success-foreground)); }
.admin-app-builder .sw-state[data-tone="warn"] { background:hsl(var(--warning) / .14); color:hsl(var(--warning-foreground)); }
.admin-app-builder .sw-checks { display:flex; flex-direction:column; margin:0; padding:0; list-style:none; }
.admin-app-builder .sw-checks li { display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid hsl(var(--border)); }
.admin-app-builder .sw-checks li:last-child { border-bottom:0; }
.admin-app-builder .sw-check-ic { display:grid; place-items:center; flex:none; width:20px; height:20px; border-radius:50%; background:hsl(var(--warning) / .18); color:hsl(var(--warning-foreground)); }
.admin-app-builder .sw-checks li[data-ok] .sw-check-ic { background:hsl(var(--success) / .16); color:hsl(var(--success-foreground)); }
.admin-app-builder .sw-checks li[data-required]:not([data-ok]) .sw-check-ic { background:hsl(var(--destructive) / .12); color:hsl(var(--destructive)); }
.admin-app-builder .sw-checks li[data-neutral] .sw-check-ic { background:hsl(var(--muted)); color:hsl(var(--muted-foreground)); }
.admin-app-builder .sw-check-text { flex:1; display:flex; flex-direction:column; min-width:0; }
.admin-app-builder .sw-check-text small { color:hsl(var(--muted-foreground)); font-size:11px; }
.admin-app-builder .sw-address { color:hsl(var(--primary)); font-weight:500; overflow-wrap:anywhere; }
.admin-app-builder .sw-preview { position:relative; display:flex; flex-direction:column; min-height:0; border-left:1px solid hsl(var(--border)); background:hsl(var(--muted) / .4) radial-gradient(hsl(var(--border)) 1px, transparent 1px) 0 0 / 16px 16px; }
.admin-app-builder .sw-preview-head { flex:none; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 14px; font-weight:600; }
.admin-app-builder .sw-preview-head > span:first-child { display:inline-flex; align-items:center; gap:7px; }
.admin-app-builder .sw-live { width:8px; height:8px; border-radius:50%; background:hsl(var(--success)); }
.admin-app-builder .sw-preview-head .sb-ibtn[aria-pressed="true"] { background:hsl(var(--card)); box-shadow:0 0 0 1px hsl(var(--border)); }
.admin-app-builder .sw-preview-stage { flex:1; min-height:0; position:relative; display:grid; place-items:center; overflow:hidden; }
.admin-app-builder .sw-sheet-close { display:none; }
.admin-app-builder .sw-foot { flex:none; display:grid; grid-template-columns:minmax(0,1fr); height:64px; border-top:1px solid hsl(var(--border)); background:hsl(var(--card)); }
.admin-app-builder .sw-foot[data-has-preview] { grid-template-columns:minmax(0,1fr) minmax(360px,560px); }
.admin-app-builder .sw-foot-l { display:flex; align-items:center; gap:10px; width:min(600px,calc(100% - 48px)); margin:0 auto; }
.admin-app-builder .sw-foot-mid { flex:1; text-align:right; color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-app-builder .sw-foot-r { display:flex; align-items:center; gap:7px; margin:0; padding:0 14px; border-left:1px solid hsl(var(--border)); color:hsl(var(--muted-foreground)); font-size:12px; }
.admin-app-builder .sw-foot:not([data-has-preview]) .sw-foot-r { display:none; }
.admin-app-builder .sw-peek { display:none; }
.admin-app-builder .sw-foot .sb-btn { height:32px; padding:0 14px; }
.admin-app-builder .sw-foot .sb-btn-primary .sb-ic { transform:rotate(180deg); }
@media (max-width:1279px) { .admin-app-builder .sb-gal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-app-builder .sw-main[data-has-preview], .admin-app-builder .sw-foot[data-has-preview] { grid-template-columns:minmax(0,1fr) 380px; } }
@media (max-width:899px) {
  .admin-app-builder .sb-gal-grid, .admin-app-builder .sw-sections, .admin-app-builder .sw-two { grid-template-columns:1fr; }
  .admin-app-builder .sb-gal-view { grid-template-columns:1fr; }
  .admin-app-builder .sb-tcard { flex-direction:row; }
  .admin-app-builder .sw-top { grid-template-columns:minmax(0,1fr) auto; padding:0 12px; }
  .admin-app-builder .sw-steps, .admin-app-builder .sw-time, .admin-app-builder .sw-org { display:none; }
  .admin-app-builder .sw-compact-step { display:block; flex:none; margin:0; padding:8px 16px; border-bottom:1px solid hsl(var(--border)); color:hsl(var(--muted-foreground)); font-size:12px; font-weight:500; }
  .admin-app-builder .sw-main[data-has-preview], .admin-app-builder .sw-foot[data-has-preview] { grid-template-columns:minmax(0,1fr); }
  .admin-app-builder .sw-form { padding:16px; }
  .admin-app-builder .sw-contact { grid-template-columns:1fr 28px; } .admin-app-builder .sw-contact .sw-field:nth-child(2) { grid-column:1; }
  .admin-app-builder .sw-preview { display:none; }
  .admin-app-builder.sw-root[data-sheet] .sw-preview { display:flex; position:fixed; inset:auto 0 0 0; height:82dvh; z-index:70; border-left:0; border-top:1px solid hsl(var(--border)); border-radius:16px 16px 0 0; background:hsl(var(--card)) radial-gradient(hsl(var(--border)) 1px, transparent 1px) 0 0 / 16px 16px; box-shadow:0 -12px 40px hsl(var(--foreground) / .25); }
  .admin-app-builder .sw-sheet-close { display:inline-grid; }
  .admin-app-builder .sw-peek { display:inline-flex; }
  .admin-app-builder .sw-foot-r { display:none; }
  .admin-app-builder .sw-foot-l { width:100%; padding:0 12px; gap:8px; }
  .admin-app-builder .sw-foot-mid { display:none; }
  .admin-app-builder .sw-foot .sb-btn { padding:0 10px; }
  .admin-app-builder .sw-btn-text { display:none; }
  .admin-app-builder .sw-foot-l .sb-btn-primary { margin-left:auto; }
}
.admin-app-builder .sw-short { display:none; }
@media (max-width:899px) { .admin-app-builder .sw-long { display:none; } .admin-app-builder .sw-short { display:inline; } .admin-app-builder .sw-foot-l .sw-peek { margin-left:auto; } .admin-app-builder .sw-foot-l .sw-peek + .sb-btn-primary { margin-left:0; } }
.admin-app-builder .sw-card-head .sb-seg-item { white-space:nowrap; }
.admin-app-builder .sw-head-row .sb-seg-item { white-space:nowrap; }

/* Pages tab: page / section lists */
.admin-app-builder .sb-pages-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.admin-app-builder .sb-page-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.admin-app-builder .sb-page-list > li { border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); padding:2px; }
.admin-app-builder .sb-page-list > li[data-selected] { border-color:hsl(var(--primary) / .45); background:hsl(var(--primary) / .06); }
.admin-app-builder .sb-page-row { display:flex; align-items:center; gap:2px; min-width:0; }
.admin-app-builder .sb-page-pick { flex:1; min-width:0; display:flex; align-items:center; gap:8px; height:30px; padding:0 8px; border:0; background:transparent; text-align:left; font-weight:500; }
.admin-app-builder .sb-page-pick span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-app-builder .sb-page-pick small { margin-left:auto; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-row-actions { display:flex; flex:none; }
.admin-app-builder .sb-row-actions .sb-ibtn { width:24px; height:24px; }
.admin-app-builder .sb-rename, .admin-app-builder .sb-confirm { padding:6px; display:flex; flex-direction:column; gap:6px; }
/* Block visibility and page links */
.admin-app-builder .admin-app-builder-grid > li[data-block-hidden] > .admin-app-builder-block-target { opacity:.38; filter:grayscale(.6); }
.admin-app-builder .admin-app-builder-grid > li[data-block-hidden] { border:1px dashed hsl(var(--muted-foreground) / .5); }
.admin-app-builder .sb-vis-badge, .admin-app-builder .sb-link-badge { position:absolute; z-index:2; display:inline-flex; align-items:center; gap:4px; height:18px; padding:0 6px; border-radius:999px; font-size:10px; font-weight:600; pointer-events:none; background:hsl(var(--foreground) / .82); color:hsl(var(--background)); }
.admin-app-builder .sb-vis-badge { top:4px; right:4px; }
.admin-app-builder .sb-link-badge { bottom:4px; right:4px; background:hsl(var(--primary)); color:hsl(var(--primary-foreground)); }
.admin-app-builder .sb-visibility { display:flex; flex-direction:column; gap:10px; }
.admin-app-builder .sb-chip-btn { height:28px; min-width:44px; padding:0 12px; border:1px solid hsl(var(--border)); border-radius:999px; background:transparent; font-size:12px; font-weight:600; cursor:pointer; color:inherit; }
.admin-app-builder .sb-chip-btn[aria-pressed="true"] { background:hsl(var(--primary)); border-color:hsl(var(--primary)); color:hsl(var(--primary-foreground)); }
.admin-app-builder .sb-chip-btn:disabled { opacity:.5; cursor:not-allowed; }
.admin-app-builder .sb-action-picker { display:flex; flex-direction:column; gap:8px; margin-top:8px; }
.admin-app-builder .sb-hidden-note { margin:6px 0 0; font-size:12px; color:hsl(var(--muted-foreground)); text-align:center; }
.admin-app-builder .sb-audience { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; }

/* Shared asset manager: a compact rail grid and a larger native field dialog. */
.sb-media-dialog { width:min(900px, calc(100vw - 32px)); max-height:85dvh; overflow:auto; }
.sb-media { display:grid; gap:12px; min-width:0; }
.sb-media .sb-search { display:grid; gap:6px; height:auto; padding:0; border:0; }
.sb-media input[type=search] { min-width:0; width:100%; padding:8px; border:1px solid hsl(var(--border)); border-radius:6px; background:hsl(var(--background)); }
.sb-media-upload { display:grid; gap:6px; font-size:12px; }
.sb-media-upload input { max-width:100%; }
.sb-media-drop { border:1px dashed hsl(var(--border)); border-radius:9px; padding:10px; }
.sb-media-drop[data-dragging] { border-color:hsl(var(--primary)); background:hsl(var(--primary) / .08); }
.sb-media-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(116px, 1fr)); gap:10px; }
.sb-media-card { display:flex; flex-direction:column; gap:5px; min-width:0; font-size:11px; }
.sb-media-pick { position:relative; display:grid; gap:5px; min-width:0; width:100%; padding:4px; border:1px solid hsl(var(--border)); border-radius:7px; text-align:left; background:hsl(var(--background)); color:inherit; }
.sb-media-pick[aria-pressed=true] { outline:2px solid hsl(var(--primary)); }
.sb-media-pick:disabled { opacity:1; cursor:default; }
.sb-media-pick img, .sb-media-placeholder { width:100%; aspect-ratio:4 / 3; object-fit:contain; border-radius:4px; background:hsl(var(--muted)); }
.sb-media-placeholder { display:grid; place-items:center; text-align:center; }
.sb-media-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sb-media-usage { border-radius:4px; padding:3px 5px; background:hsl(var(--muted)); }
.sb-media-jobs { display:grid; gap:8px; padding-left:18px; overflow-wrap:anywhere; font-size:12px; }
.sb-media-jobs progress { display:block; width:100%; }
.sb-assets .sb-thumbs > img { width:60px; height:48px; object-fit:cover; border-radius:5px; }
.sb-rail .sb-tabs { padding:0 4px; }
.sb-rail .sb-tabs .sb-tab { flex:1; min-width:0; flex-direction:column; gap:3px; height:auto; min-height:48px; padding:6px 2px; font-size:11px; }
/* Builder AI text: «AI» menu of a localized text row and the suggestion popover. */
.admin-app-builder .sb-lang-row { display:flex; flex-direction:column; gap:4px; min-width:0; }
.admin-app-builder .sb-ai { position:relative; display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.admin-app-builder .sb-lang-row > .sb-ai { margin-top:-2px; }
.admin-app-builder .sb-ai-btn { display:inline-flex; align-items:center; gap:4px; height:22px; padding:0 8px; border:1px solid hsl(var(--primary) / .3); border-radius:999px; background:hsl(var(--primary) / .06); color:hsl(var(--primary)); font-size:11px; font-weight:700; letter-spacing:.02em; }
.admin-app-builder .sb-ai-btn:hover:not(:disabled), .admin-app-builder .sb-ai-btn[aria-expanded="true"] { background:hsl(var(--primary) / .14); }
.admin-app-builder .sb-ai-btn:disabled { opacity:.5; }
.admin-app-builder .sb-ai-menu { position:absolute; top:26px; right:0; z-index:6; display:flex; flex-direction:column; min-width:190px; padding:4px; border:1px solid hsl(var(--border)); border-radius:10px; background:hsl(var(--card)); box-shadow:0 8px 24px hsl(var(--foreground) / .16); }
.admin-app-builder .sb-ai-menu .sb-ai-item { padding:6px 10px; border:0; border-radius:7px; background:none; color:inherit; font-size:12.5px; text-align:start; }
.admin-app-builder .sb-ai-menu .sb-ai-item:hover:not(:disabled), .admin-app-builder .sb-ai-menu .sb-ai-item:focus-visible { background:hsl(var(--muted)); }
.admin-app-builder .sb-ai-menu .sb-ai-item:disabled { opacity:.45; }
.admin-app-builder .sb-ai-group { margin:4px 10px 2px; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-ai-pop { align-self:stretch; display:flex; flex-direction:column; gap:8px; padding:10px; border:1px solid hsl(var(--primary) / .35); border-radius:10px; background:hsl(var(--card)); box-shadow:0 4px 14px hsl(var(--primary) / .12); }
.admin-app-builder .sb-ai-diff { display:flex; gap:6px; align-items:flex-start; }
.admin-app-builder .sb-ai-diff > div { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.admin-app-builder .sb-ai-diff p { margin:0; padding:6px 8px; border-radius:7px; font-size:12.5px; line-height:18px; overflow-wrap:anywhere; }
.admin-app-builder .sb-ai-diff small { display:block; margin-bottom:2px; font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:hsl(var(--muted-foreground)); }
.admin-app-builder .sb-ai-was { background:hsl(var(--muted)); }
.admin-app-builder .sb-ai-now { background:hsl(var(--primary) / .07); border:1px solid hsl(var(--primary) / .25); }
.admin-app-builder .sb-ai-was del { background:hsl(var(--destructive) / .16); text-decoration:line-through; border-radius:3px; }
.admin-app-builder .sb-ai-now ins { background:hsl(var(--primary) / .2); text-decoration:none; border-radius:3px; }
.admin-app-builder .sb-ai-actions { display:flex; justify-content:flex-end; gap:6px; }
.admin-app-builder .sb-ai-check { display:flex; gap:6px; align-items:flex-start; font-size:12.5px; }

.admin-app-builder .admin-phone-title, .admin-app-builder .admin-phone-module-name { font-family:var(--phone-heading-font, inherit); }
/* Page visibility in the guest tab bar and the shared module/page ordering. */
.admin-app-builder .sb-page-navigation, .admin-app-builder .sb-navigation-fields { padding:6px; display:flex; flex-direction:column; gap:6px; }
.admin-app-builder [data-navigation-editor] { margin:12px 0; }
.admin-app-builder [data-navigation-editor] .sb-row > span { flex:1; min-width:0; overflow-wrap:anywhere; }
/* Session-only AI translation feedback, outside the narrow draft toolbar. */
.sb-bulk-status { padding: 6px 16px; font-size: 12px; overflow-wrap: anywhere; }
.sb-bulk-status ul { max-height: 160px; overflow: auto; }
.sb-machine-chip { display: inline-block; padding: 2px 6px; border-radius: 999px; background: hsl(var(--muted)); color: hsl(var(--muted-foreground)); font-size: 11px; }
.admin-app-builder .sb-top-right .sb-menu [data-translate-missing] { display: flex; width: 100%; }

/* Keep Arabic preview direction within the phone, using logical alignment for mixed content. */
.admin-app-builder-phone[dir="rtl"] .admin-phone-card,
.admin-app-builder-phone[dir="rtl"] .admin-phone-module-name,
.admin-app-builder-phone[dir="rtl"] .admin-phone-banner-text { text-align: start; }
.admin-app-builder-phone [data-nova-preview] { min-inline-size: 0; overflow-wrap: anywhere; }

/* v4.2 logic panels reuse the inspector's fields, chips and floating preview controls. */
.sb-bindings { display: grid; gap: 10px; min-width: 0; }
.sb-condition-node { display: grid; gap: 8px; min-width: 0; }
.admin-app-builder .sb-condition-node .sb-fieldset { margin: 0; padding: 8px; border: 1px solid hsl(var(--border)); border-radius: 10px; }
.admin-app-builder .sb-conditions [data-condition-summary] { height:auto; min-height:18px; padding:3px 7px; border-radius:10px; white-space:normal; overflow-wrap:anywhere; }
.admin-app-builder .sb-field-error { color:hsl(var(--destructive)); font-size:12px; line-height:1.4; }
.admin-app-builder .sb-bindings output { display:block; min-height:40px; white-space:pre-wrap; overflow-wrap:anywhere; padding:10px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--muted)); color:hsl(var(--foreground)); }
.admin-app-builder .sb-simulator { flex:1 1 440px; display:grid; grid-template-columns:repeat(auto-fit, minmax(120px, 1fr)); gap:8px; min-width:0; max-width:100%; border:1px solid hsl(var(--border)); background:hsl(var(--card)); border-radius:10px; padding:8px; }
.admin-app-builder .sb-simulator label { display:grid; gap:3px; font-size:11px; min-width:0; }
.admin-app-builder .sb-simulator select, .admin-app-builder .sb-simulator input { font-size:12px; min-width:0; width:100%; }
.admin-app-builder .sb-simulator small { grid-column:1 / -1; font-size:10px; color:hsl(var(--muted-foreground)); }
/* Modules use the same draft and control sizes as the other builder panels. */
.admin-app-builder [data-modules-panel] { display:flex; flex-direction:column; gap:12px; min-width:0; }
.admin-app-builder [data-modules-panel] > ol { display:flex; flex-direction:column; gap:12px; list-style:none; padding:0; margin:0; }
.admin-app-builder [data-module-id] { padding:12px; border:1px solid hsl(var(--border)); border-radius:12px; display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
.admin-app-builder [data-module-id] > h4,
.admin-app-builder [data-module-id] > fieldset,
.admin-app-builder [data-module-id] > .sb-conditions,
.admin-app-builder [data-module-id] > .sb-module-reasons { flex-basis:100%; min-width:0; }
.admin-app-builder [data-modules-panel] label:not(.sb-field):not(.sb-module-visibility) { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:13px; }
.admin-app-builder [data-modules-panel] .sb-btn { align-self:flex-start; }
/* Match the shared conditions panel's 8px padding plus its 1px border. */
.admin-app-builder [data-modules-panel] .sb-module-visibility { display:flex; gap:6px; font-size:13px; flex-basis:100%; flex-direction:column; align-items:stretch; padding-inline:9px; }
.admin-app-builder [data-modules-panel] select,
.admin-app-builder [data-modules-panel] input[type="number"] { width:100%; min-width:0; padding:8px; border:1px solid hsl(var(--border)); border-radius:8px; background-color:hsl(var(--background)); color:inherit; }
.admin-app-builder .sb-module-placements,
.admin-app-builder .sb-conditions { display:flex; flex-direction:column; gap:8px; min-width:0; margin:0; border:1px solid hsl(var(--border)); border-radius:8px; padding:8px; }
.admin-app-builder .sb-module-placements legend { padding-inline:4px; font-size:12px; color:hsl(var(--secondary-foreground)); }
.admin-app-builder .sb-condition-node .sb-fieldset .sb-fieldset { border:0; border-inline-start:1px solid hsl(var(--border)); border-radius:0; padding:0; padding-inline-start:8px; }
.admin-app-builder .sb-module-reasons { display:flex; flex-direction:column; gap:4px; border-inline-start:3px solid hsl(var(--warning)); padding-inline-start:8px; }
.admin-app-builder .sb-module-enabled { color:hsl(var(--foreground)); }
.admin-app-builder .sb-module-enabled input:disabled { appearance:none; display:grid; place-content:center; flex:none; width:14px; height:14px; margin:0; border:1px solid hsl(var(--muted-foreground)); border-radius:3px; background:hsl(var(--muted)); opacity:1; cursor:not-allowed; }
.admin-app-builder .sb-module-enabled input:disabled:checked::after { content:""; width:4px; height:7px; border:solid hsl(var(--muted-foreground)); border-width:0 2px 2px 0; transform:rotate(45deg); }
.admin-app-builder .sb-input[aria-invalid="true"] { border-color:hsl(var(--destructive)); }
@media (forced-colors:active) {
  .admin-app-builder .sb-module-enabled input:disabled { appearance:auto; }
  .admin-app-builder .sb-module-enabled input:disabled:checked::after { content:none; }
}

/* Stand crawl S3–S8: controls keep their intrinsic labels, fallback and phone stack. */
.admin-app-builder .sb-top { height:auto; min-height:48px; flex-wrap:wrap; padding-block:6px; }
.admin-app-builder .sb-top-left { flex:1 1 220px; }
.admin-app-builder .sb-top-right { flex:1 1 auto; flex-wrap:wrap; }
.admin-app-builder .sb-top-right > * { flex-shrink:0; }
.admin-app-builder .sb-top-right button, .admin-app-builder .sb-top-right label { white-space:nowrap; }
.admin-app-builder .sb-top-mid { flex-shrink:0; }
.admin-app-builder .sb-viewport { flex-direction:column; align-items:center; min-width:0; }
.admin-app-builder .sb-viewport > * { flex-shrink:0; max-width:100%; }
.admin-app-builder .sb-viewport > .admin-builder-guest-preview { width:100%; box-sizing:border-box; margin:0 auto; }
.admin-app-builder .sb-viewport > .admin-app-builder-phone { margin:12px auto; }
.admin-app-builder .sb-canvas-scenario > .sb-field { flex:1 1 180px; max-width:240px; overflow-wrap:normal; }
.admin-app-builder .admin-device-fallback-note { width:100%; box-sizing:border-box; overflow-wrap:normal; }
.admin-app-builder .sb-rail .sb-tabs { flex-wrap:wrap; gap:2px; }
.admin-app-builder .sb-rail .sb-tabs .sb-tab { flex:1 0 66px; white-space:nowrap; }
.admin-app-builder [data-modules-panel] > div { display:flex; flex-direction:column; gap:8px; padding-block:8px; }
.admin-app-builder [data-modules-panel] .sb-hint { margin:0; line-height:1.5; }
.admin-app-builder .sb-media-upload { display:inline-flex; padding:10px; border:1px solid hsl(var(--border)); border-radius:8px; cursor:pointer; }
.admin-app-builder .sb-media-upload:focus-within { outline:2px solid hsl(var(--ring)); }
.admin-app-builder .sb-media-upload:has(input:disabled) { opacity:.6; cursor:default; }

.admin-config-editor {
  min-width: 0;
  overflow-wrap: anywhere;
}
.admin-config-editor fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  min-width: 0;
}
.admin-config-editor label {
  display: grid;
  gap: 6px;
  flex: 1 1 220px;
  min-width: 0;
}
.admin-config-editor input,
.admin-config-editor select,
.admin-config-editor textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  padding: 8px;
  border: 1px solid hsl(var(--border));
  border-radius: 8px;
  color: inherit;
  background: transparent;
}
.admin-config-editor textarea {
  min-height: 90px;
}
.admin-config-editor button {
  white-space: normal;
  min-height: 44px;
  max-width: 100%;
}
.admin-config-editor [role="group"] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-block: 16px;
}
.admin-config-editor [role="group"] p,
.admin-config-editor [role="group"] label {
  flex-basis: 100%;
}
@media (max-width: 480px) {
  .admin-config-editor fieldset > *,
  .admin-config-editor [role="group"] button {
    flex-basis: 100%;
    width: 100%;
  }
}

.admin-impersonation-form,
.admin-impersonation-actions,
.admin-impersonation-commands label {
  display: grid;
  min-width: 0;
  gap: .5rem;
}
.admin-impersonation-commands,
.admin-impersonation-actions {
  margin-block: .75rem;
}
.admin-impersonation-form[hidden] {
  display: none;
}
.admin-impersonation input,
.admin-impersonation select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: .5rem;
  color: inherit;
  background: hsl(var(--background));
  border: 1px solid hsl(var(--border));
  border-radius: .375rem;
}
.admin-impersonation button {
  max-width: 100%;
  height: auto;
  min-height: 2.5rem;
  white-space: normal;
  overflow-wrap: anywhere;
}
.admin-impersonation-confirm,
.admin-impersonation-token {
  min-width: 0;
  padding: .75rem;
  border: 2px solid hsl(var(--primary));
  border-radius: .5rem;
}
.admin-root .file\:border-0::file-selector-button {
    border-width: 0px;
}
.admin-root .file\:bg-transparent::file-selector-button {
    background-color: transparent;
}
.admin-root .file\:text-sm::file-selector-button {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.admin-root .file\:font-medium::file-selector-button {
    font-weight: 500;
}
.admin-root .file\:text-foreground::file-selector-button {
    --tw-text-opacity: 1;
    color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}
.admin-root .placeholder\:text-muted-foreground\/50::placeholder {
    color: hsl(var(--muted-foreground) / 0.5);
}
.admin-root .placeholder\:text-muted-foreground\/90::placeholder {
    color: hsl(var(--muted-foreground) / 0.9);
}
.admin-root .last\:border-0:last-child {
    border-width: 0px;
}
.admin-root .hover\:border-border:hover {
    --tw-border-opacity: 1;
    border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
}
.admin-root .hover\:bg-background\/80:hover {
    background-color: hsl(var(--background) / 0.8);
}
.admin-root .hover\:bg-destructive:hover {
    --tw-bg-opacity: 1;
    background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));
}
.admin-root .hover\:bg-muted:hover {
    --tw-bg-opacity: 1;
    background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}
.admin-root .hover\:bg-muted\/50:hover {
    background-color: hsl(var(--muted) / 0.5);
}
.admin-root .hover\:bg-primary\/\[0\.06\]:hover {
    background-color: hsl(var(--primary) / 0.06);
}
.admin-root .hover\:bg-secondary\/80:hover {
    background-color: hsl(var(--secondary) / 0.8);
}
.admin-root .hover\:text-foreground:hover {
    --tw-text-opacity: 1;
    color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}
.admin-root .hover\:underline:hover {
    text-decoration-line: underline;
}
.admin-root .hover\:brightness-110:hover {
    --tw-brightness: brightness(1.1);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.admin-root .focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.admin-root .focus\:ring-2:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.admin-root .focus\:ring-ring:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1));
}
.admin-root .focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px;
}
.admin-root .focus-visible\:border-primary\/40:focus-visible {
    border-color: hsl(var(--primary) / 0.4);
}
.admin-root .focus-visible\:border-primary\/70:focus-visible {
    border-color: hsl(var(--primary) / 0.7);
}
.admin-root .focus-visible\:outline-none:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.admin-root .focus-visible\:ring-2:focus-visible {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.admin-root .focus-visible\:ring-primary\/10:focus-visible {
    --tw-ring-color: hsl(var(--primary) / 0.1);
}
.admin-root .focus-visible\:ring-primary\/15:focus-visible {
    --tw-ring-color: hsl(var(--primary) / 0.15);
}
.admin-root .focus-visible\:ring-ring:focus-visible {
    --tw-ring-opacity: 1;
    --tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1));
}
.admin-root .focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px;
}
.admin-root .active\:scale-\[0\.97\]:active {
    --tw-scale-x: 0.97;
    --tw-scale-y: 0.97;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.admin-root .disabled\:pointer-events-none:disabled {
    pointer-events: none;
}
.admin-root .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
}
.admin-root .disabled\:opacity-50:disabled {
    opacity: 0.5;
}
.admin-root .dark\:text-emerald-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.admin-root .dark\:text-rose-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
@media (min-width: 640px) {
    .admin-root .sm\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .admin-root .sm\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}
@media (min-width: 768px) {
    .admin-root .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .admin-root .md\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .admin-root .md\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}
.admin-root :is(.\[\&_svg\]\:pointer-events-none svg) {
    pointer-events: none;
}
.admin-root :is(.\[\&_svg\]\:size-4 svg) {
    width: 1rem;
    height: 1rem;
}
.admin-root :is(.\[\&_svg\]\:shrink-0 svg) {
    flex-shrink: 0;
}
