[hidden] {
    display: none !important;
}

.sk-cloud-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 16.5rem 1fr;
    background: var(--sk-shell-bg);
}

.sk-cloud-sidebar {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    height: 100vh;
    position: sticky;
    top: 0;
    padding: 1rem 0.85rem;
    overflow-y: auto;
    background: var(--sk-sidebar-bg);
    border-right: 1px solid var(--sk-border);
}

.sk-cloud-brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.25rem 0.35rem 0.9rem;
    color: var(--sk-text);
    text-decoration: none;
}

.sk-cloud-brand-mark {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--sk-panel-bg-2);
    color: var(--sk-text);
    font-size: 0.8rem;
    font-weight: 800;
}

.sk-cloud-brand-mark-logo {
    overflow: hidden;
    padding: 0;
    background: transparent;
}

.sk-cloud-brand-mark-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sk-cloud-brand-copy {
    display: flex;
    flex-direction: column;
}

.sk-cloud-brand-copy strong {
    font-size: 0.98rem;
    font-weight: 700;
}

.sk-cloud-brand-copy small {
    margin-top: 0.1rem;
    color: var(--sk-text-soft);
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.sk-cloud-app-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    flex: 0 0 auto;
    min-height: 3rem;
    padding: 0.2rem 0.45rem;
    border-radius: 0.9rem;
    color: var(--sk-text);
    text-decoration: none;
}

.sk-cloud-app-brand:hover {
    background: var(--sk-panel-bg-2);
}

.sk-cloud-app-brand .sk-cloud-brand-mark {
    width: 2.55rem;
    height: 2.55rem;
}

.sk-cloud-topbar-divider {
    width: 1px;
    height: 2.35rem;
    flex: 0 0 auto;
    background: linear-gradient(
        to bottom,
        transparent,
        color-mix(in srgb, var(--sk-border-strong) 88%, transparent),
        transparent
    );
}

.sk-cloud-nav {
    display: grid;
    gap: 0.25rem;
    padding: 0.1rem 0 1rem;
}

.sk-cloud-nav-section {
    display: grid;
    gap: 0.35rem;
    margin-top: 0.9rem;
}

.sk-cloud-nav-section-label {
    padding: 0 0.85rem;
    color: color-mix(in srgb, var(--sk-text-soft) 82%, white);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.95;
}

.sk-cloud-nav-section-items {
    display: grid;
    gap: 0.22rem;
    margin-left: 0.85rem;
    padding-left: 0.55rem;
    border-left: 1px solid color-mix(in srgb, var(--sk-border-strong) 72%, transparent);
}

.sk-cloud-nav-group {
    display: grid;
    gap: 0.18rem;
}

.sk-cloud-nav-group.expanded > a,
.sk-cloud-nav-group.expanded > .sk-cloud-nav-label {
    background: var(--sk-panel-bg-2);
    color: var(--sk-text);
}

.sk-cloud-nav a,
.sk-cloud-nav .sk-cloud-nav-label {
    display: block;
    padding: 0.72rem 0.85rem;
    border-radius: 0.75rem;
    color: var(--sk-text-muted);
    text-decoration: none;
    font-size: 0.94rem;
    font-weight: 500;
}

.sk-cloud-nav .sk-cloud-nav-label {
    cursor: default;
}

.sk-cloud-nav a:hover {
    background: var(--sk-accent-tint);
    color: var(--sk-text);
}

.sk-cloud-nav a.active,
.sk-cloud-nav .sk-cloud-nav-label.active {
    background: var(--sk-panel-bg-2);
    color: var(--sk-text);
}

.sk-cloud-subnav {
    display: grid;
    gap: 0.16rem;
    margin: 0.15rem 0 0.2rem 1.1rem;
    padding-left: 0.85rem;
    border-left: 1px solid var(--sk-border-strong);
}

.sk-cloud-subnav a {
    padding: 0.58rem 0.75rem;
    border-radius: 0.7rem;
    font-size: 0.9rem;
    color: var(--sk-text-soft);
    opacity: 0.92;
}

.sk-cloud-subnav a.active {
    background: color-mix(in srgb, var(--sk-panel-bg-2) 82%, transparent);
    color: var(--sk-text);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sk-border-strong) 85%, transparent);
    opacity: 1;
}

.sk-cloud-subnav a:hover {
    background: color-mix(in srgb, var(--sk-accent-tint) 72%, transparent);
    color: var(--sk-text);
    opacity: 1;
}

.sk-cloud-stage {
    display: grid;
    grid-template-rows: auto 1fr;
    min-width: 0;
}

.sk-cloud-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1.5rem;
    border-bottom: 1px solid var(--sk-border);
    background: var(--sk-topbar-bg);
    backdrop-filter: blur(18px);
    position: sticky;
    top: 0;
    z-index: 10;
}

.sk-cloud-topbar-left,
.sk-cloud-topbar-right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.sk-cloud-topbar-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 0.2rem;
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.06);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.sk-cloud-topbar-logo-link:hover {
    background: rgba(255, 255, 255, 0.1);
}

.sk-cloud-topbar-logo {
    display: block;
    width: auto;
    height: 3rem;
    border-radius: 0.7rem;
}

.sk-cloud-tenant-form {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.sk-cloud-tenant-form label {
    color: var(--sk-text-soft);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.sk-local-tenant-pill {
    display: inline-flex;
    align-items: center;
    min-height: 2.35rem;
    padding: 0 0.95rem;
    border-radius: 0.75rem;
    border: 1px solid var(--sk-border-strong);
    background: var(--sk-panel-bg);
    color: var(--sk-text);
}

.sk-cloud-theme-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 2.35rem;
    padding: 0 0.85rem;
    border: 1px solid var(--sk-border-strong);
    border-radius: 999px;
    background: var(--sk-panel-bg);
    color: var(--sk-text-muted);
    cursor: pointer;
}

.sk-cloud-theme-dot {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 999px;
    background: var(--sk-text);
}

.sk-cloud-user-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 2.35rem;
    padding: 0 0.35rem 0 0.25rem;
    border-radius: 999px;
    background: var(--sk-panel-bg);
    border: 1px solid var(--sk-border-strong);
}

.sk-cloud-user-avatar {
    width: 1.85rem;
    height: 1.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--sk-panel-bg-2);
    color: var(--sk-text);
    font-size: 0.78rem;
    font-weight: 800;
}

.sk-cloud-user-name {
    padding-right: 0.55rem;
    color: var(--sk-text);
    font-size: 0.9rem;
}

.sk-cloud-content {
    min-width: 0;
    background: var(--sk-content-bg);
}

.sk-cloud-page-header {
    padding: 1.6rem 1.6rem 0.85rem;
}

.sk-cloud-page-header h1 {
    margin: 0;
    font-size: 1.9rem;
    line-height: 1.1;
    color: var(--sk-text);
}

.sk-cloud-page-header p {
    margin: 0.55rem 0 0;
    max-width: 56rem;
    color: var(--sk-text-muted);
    line-height: 1.6;
}

.sk-cloud-tabs {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    padding: 0 1.6rem;
    border-bottom: 1px solid var(--sk-border);
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.sk-cloud-tabs::-webkit-scrollbar {
    display: none;
}

.sk-cloud-tabs a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 2.8rem;
    color: var(--sk-text-muted);
    text-decoration: none;
    white-space: nowrap;
    font-size: 0.92rem;
}

.sk-cloud-tabs a.active {
    color: var(--sk-text);
}

.sk-cloud-tabs a.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: var(--sk-text);
    border-radius: 999px;
}

.sk-cloud-content-body {
    padding: 1.6rem;
}

.sk-local-inline-form {
    margin: 0;
}

.sk-local-logout-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    padding: 0 0.9rem;
    border-radius: 999px;
    border: 1px solid var(--sk-border-strong);
    background: var(--sk-panel-bg);
    color: var(--sk-text);
    text-decoration: none;
    cursor: pointer;
}

.sk-platform-inline-meta {
    margin-top: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--sk-text-muted);
    font-size: 0.9rem;
}

.sk-platform-inline-meta a {
    color: var(--sk-text);
}

.sk-platform-inline-checkbox {
    margin-top: 0.75rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--sk-text-muted);
}

.sk-platform-button.danger,
.sk-platform-icon-button.danger {
    color: #fca5a5;
    border-color: rgba(252, 165, 165, 0.35);
}

.sk-platform-preview-html {
    padding: 1rem 0;
    color: var(--sk-text);
    line-height: 1.7;
}

.sk-local-login-shell {
    max-width: 56rem;
}

.sk-local-login-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.sk-local-alert {
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    border-radius: 0.85rem;
    border: 1px solid var(--sk-border);
}

.sk-local-alert-success {
    background: color-mix(in srgb, var(--sk-accent) 14%, transparent);
    color: var(--sk-text);
}

.sk-local-alert-error {
    background: color-mix(in srgb, #d65252 14%, transparent);
    color: var(--sk-text);
}

.sk-platform-panel {
    padding: 1.25rem;
    border: 1px solid var(--sk-border);
    border-radius: 1rem;
    background: var(--sk-panel-bg);
    box-shadow: var(--sk-shadow);
}

.sk-platform-panel + .sk-platform-panel {
    margin-top: 1rem;
}

.sk-platform-grid + .sk-platform-panel,
.sk-platform-panel + .sk-platform-grid,
.sk-platform-alert + .sk-platform-grid,
.sk-platform-grid + .sk-platform-alert {
    margin-top: 1rem;
}

.sk-platform-alert {
    display: block;
    width: 100%;
    margin: 0 0 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.9rem;
    font-size: 0.95rem;
    line-height: 1.5;
}

.sk-platform-alert.success {
    border-color: #b7e4c7;
    background: #ecfdf3;
    color: #166534;
}

.sk-platform-alert.danger {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.sk-platform-alert.warning {
    border-color: var(--sk-warning-border);
    background: var(--sk-warning-bg);
    color: var(--sk-warning-text);
}

.sk-platform-alert.sk-period-warning-strong {
    border-color: #b45309;
    background: #d97706;
    color: #fff;
    font-weight: 700;
    box-shadow: 0 0 0 1px rgba(180, 83, 9, 0.22), 0 10px 24px rgba(217, 119, 6, 0.18);
}

.sk-platform-alert.sk-period-warning-strong label,
.sk-platform-alert.sk-period-warning-strong span,
.sk-platform-alert.sk-period-warning-strong i {
    color: #fff;
}

.sk-expense-liquidation-warning {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    border-color: color-mix(in srgb, var(--sk-warning-text) 72%, var(--sk-warning-border));
    background:
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--sk-warning-bg) 86%, var(--sk-panel-bg)),
            color-mix(in srgb, var(--sk-warning-bg) 70%, var(--sk-panel-bg))
        );
    color: var(--sk-warning-text);
    font-weight: 700;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--sk-warning-text) 18%, transparent);
}

.sk-expense-liquidation-warning-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    flex: 0 0 auto;
    border-radius: 999px;
    background: color-mix(in srgb, var(--sk-warning-text) 18%, transparent);
    color: var(--sk-warning-text);
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1;
}

.sk-expense-liquidation-warning-text {
    min-width: 0;
    line-height: 1.45;
}

.sk-lot-capacity-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.9rem;
    background: var(--sk-panel-bg-2);
}

.sk-lot-capacity-panel div {
    display: grid;
    gap: 0.2rem;
}

.sk-lot-capacity-panel span {
    color: var(--sk-text-muted);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.sk-lot-capacity-panel strong {
    color: var(--sk-text);
    font-size: 1.2rem;
}

.sk-lot-capacity-panel p {
    max-width: 34rem;
    margin: 0;
    color: var(--sk-text-muted);
    line-height: 1.45;
}

.sk-lot-capacity-panel.full {
    border-color: var(--sk-warning-border);
    background: var(--sk-warning-bg);
}

.sk-lot-capacity-panel.full p,
.sk-lot-capacity-panel.over p {
    color: var(--sk-warning-text);
    font-weight: 700;
}

.sk-lot-capacity-panel.over {
    border-color: var(--sk-danger-border);
    background: var(--sk-danger-bg);
}

.sk-lot-capacity-panel.over p {
    color: var(--sk-danger-text);
}

.sk-platform-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.sk-platform-icon-button {
    width: 2.65rem;
    height: 2.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--sk-border-strong);
    border-radius: 0.8rem;
    background: var(--sk-panel-bg-2);
    color: var(--sk-text);
    text-decoration: none;
    cursor: pointer;
    flex: 0 0 auto;
}

.sk-platform-icon-button:hover {
    background: var(--sk-accent-tint);
}

.sk-platform-icon-button svg {
    width: 1.1rem;
    height: 1.1rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.sk-platform-icon-button i {
    font-size: 1rem;
    line-height: 1;
}

.sk-platform-icon-glyph {
    font-size: 1.15rem;
    line-height: 1;
    font-weight: 700;
    color: currentColor;
}

.sk-local-subtabs {
    margin-bottom: 1rem;
    padding-left: 0;
    padding-right: 0;
}

.sk-platform-panel-header h2 {
    margin: 0;
    color: var(--sk-text);
    font-size: 1.05rem;
}

.sk-platform-panel-header p {
    margin: 0.45rem 0 0;
    color: var(--sk-text-muted);
    line-height: 1.5;
}

.sk-platform-context-chip {
    display: inline-flex;
    align-items: center;
    min-height: 2.35rem;
    padding: 0 0.85rem;
    border: 1px solid var(--sk-border);
    border-radius: 999px;
    background: var(--sk-panel-bg-2);
    color: var(--sk-text-soft);
    font-size: 0.84rem;
}

.sk-platform-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 1rem;
}

.sk-platform-kpi {
    padding: 1rem;
    border-radius: 0.95rem;
    border: 1px solid var(--sk-border);
    background: var(--sk-panel-bg-2);
}

.sk-platform-kpi span {
    display: block;
    color: var(--sk-text-soft);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
}

.sk-platform-kpi strong {
    display: block;
    margin-top: 0.5rem;
    color: var(--sk-text);
    font-size: 1.1rem;
}

.sk-platform-kpi small {
    display: block;
    margin-top: 0.35rem;
    color: var(--sk-text-muted);
    line-height: 1.4;
}

.sk-local-progress-block {
    display: grid;
    gap: 0.55rem;
    margin-top: 1rem;
}

.sk-local-progress-track {
    height: 0.9rem;
    overflow: hidden;
    border-radius: 999px;
    background: color-mix(in srgb, var(--sk-panel-bg-2) 78%, transparent);
    box-shadow: inset 0 0 0 1px var(--sk-border);
}

.sk-local-progress-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #1d4ed8 0%, #3b82f6 100%);
    transition: width 0.25s ease;
}

.sk-local-progress-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    color: var(--sk-text-soft);
    font-size: 0.84rem;
}

.sk-platform-form {
    display: grid;
    gap: 1rem;
}

.sk-platform-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 1rem;
}

.sk-platform-grid.two,
.sk-platform-grid.cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sk-platform-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sk-platform-grid > *,
.sk-platform-form-grid > * {
    min-width: 0;
}

.sk-platform-grid .span-two,
.sk-platform-grid .sk-platform-field-span-2 {
    grid-column: 1 / -1;
}

.sk-platform-grid > .span-two:not(.sk-platform-field) {
    display: grid;
    gap: 0.45rem;
}

.sk-platform-grid > .span-two:not(.sk-platform-field) > .sk-platform-input {
    width: 100%;
}

.sk-platform-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
    gap: 1rem;
}

.sk-golf-subscription-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
}

.sk-golf-subscription-grid .sk-platform-field {
    min-width: 0;
    align-content: start;
}

.sk-golf-subscription-grid .sk-platform-input {
    width: 100%;
}

.sk-golf-field-note {
    display: block;
    color: var(--sk-text-muted);
    font-size: 0.78rem;
    line-height: 1.25;
}

.sk-golf-field-notes {
    grid-column: span 3;
}

.sk-golf-field-notes textarea.sk-platform-input {
    min-height: 5.25rem;
    line-height: 1.35;
    resize: vertical;
}

.sk-golf-settings-select {
    min-width: 15rem;
}

.sk-mailroom-settings-layout {
    display: grid;
    gap: 1rem;
}

.sk-mailroom-settings-section {
    border-radius: 0.5rem;
}

.sk-mailroom-settings-checks {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 0.75rem;
    min-height: 2.75rem;
}

.sk-mailroom-settings-grid {
    display: grid;
    gap: 1rem;
    align-items: start;
}

.sk-mailroom-settings-grid.two {
    grid-template-columns: repeat(2, minmax(12rem, 18rem));
}

.sk-mailroom-settings-grid.three {
    grid-template-columns: repeat(3, minmax(10rem, 14rem));
}

@media (max-width: 1180px) {
    .sk-golf-subscription-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sk-golf-field-notes {
        grid-column: span 2;
    }
}

@media (max-width: 760px) {
    .sk-platform-grid.two,
    .sk-platform-grid.three,
    .sk-platform-grid.cols-2 {
        grid-template-columns: 1fr;
    }

    .sk-mailroom-settings-grid.two,
    .sk-mailroom-settings-grid.three {
        grid-template-columns: 1fr;
    }

    .sk-golf-subscription-grid {
        grid-template-columns: 1fr;
    }

    .sk-golf-field-notes {
        grid-column: auto;
    }
}

.sk-platform-form-section {
    display: grid;
    gap: 1rem;
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.9rem;
}

.sk-platform-form-section > legend {
    padding: 0 0.4rem;
    color: var(--sk-text);
    font-size: 0.95rem;
    font-weight: 700;
}

.sk-party-picker-grid {
    display: grid;
    grid-template-columns: minmax(9rem, 13rem) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.sk-party-type-field {
    max-width: 13rem;
}

.sk-party-radio-group {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 2.8rem;
}

.sk-party-picker-field {
    min-width: 0;
}

.sk-platform-field {
    display: grid;
    gap: 0.45rem;
}

.sk-platform-field-span-2 {
    grid-column: 1 / -1;
}

.sk-platform-field label,
.sk-platform-field-label {
    color: var(--sk-text-soft);
    font-size: 0.84rem;
    font-weight: 600;
}

.sk-platform-field > .sk-platform-input,
.sk-platform-field > .sk-user-autocomplete-results,
.sk-platform-field > .sk-user-picker-summary {
    width: 100%;
}

.sk-platform-field > .muted {
    margin: 0;
    color: var(--sk-text-muted);
    line-height: 1.45;
}

.sk-platform-check {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.8rem;
    color: var(--sk-text);
    font-size: 0.94rem;
    font-weight: 600;
}

.sk-platform-check input {
    flex: 0 0 auto;
}

.sk-rental-resource-editor {
    max-width: 76rem;
}

.sk-rental-resource-editor-panel {
    padding: 1.4rem;
}

.sk-rental-resource-main-grid {
    align-items: start;
}

.sk-rental-resource-editor textarea.sk-platform-input {
    min-height: 6rem;
    line-height: 1.45;
    resize: vertical;
}

.sk-rental-resource-editor textarea[rows="5"].sk-platform-input {
    min-height: 8.75rem;
}

.sk-rental-declaration-field {
    padding-top: 0.2rem;
}

.sk-rental-token-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem 0.45rem;
}

.sk-rental-token-list code {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    padding: 0 0.5rem;
    border: 1px solid var(--sk-border);
    border-radius: 999px;
    background: var(--sk-panel-bg-2);
    color: var(--sk-text);
    font-size: 0.78rem;
    line-height: 1;
    white-space: nowrap;
}

.entry-gate-precheckin-list {
    display: grid;
    gap: 0.65rem;
}

.entry-gate-precheckin-row {
    display: grid;
    grid-template-columns: 8rem minmax(10rem, 1fr) minmax(8rem, 0.8fr) minmax(12rem, 1fr);
    gap: 0.75rem;
    align-items: center;
    padding: 0.85rem 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.9rem;
    color: var(--sk-text);
    text-decoration: none;
    background: var(--sk-panel-bg-2);
}

.entry-gate-precheckin-row:hover,
.entry-gate-precheckin-row.selected {
    border-color: var(--sk-accent);
    background: var(--sk-accent-tint);
}

.entry-gate-precheckin-row.observed {
    border-color: color-mix(in srgb, var(--sk-warning) 58%, var(--sk-border));
}

.sk-platform-input {
    min-height: 2.8rem;
    padding: 0 0.95rem;
    box-sizing: border-box;
    border: 1px solid var(--sk-border-strong);
    border-radius: 0.8rem;
    background: var(--sk-panel-bg-2);
    color: var(--sk-text);
    line-height: 1;
}

.sk-local-violation-people-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.sk-local-violation-person-card,
.sk-local-violation-details-card {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--sk-panel-bg-2) 76%, transparent);
}

.sk-local-violation-person-card {
    align-content: start;
}

.sk-local-violation-person-card-header {
    display: grid;
    gap: 0.2rem;
}

.sk-local-violation-person-card-header h3 {
    margin: 0;
    font-size: 1rem;
    color: var(--sk-text);
}

.sk-local-violation-person-card-header p {
    margin: 0;
    color: var(--sk-text-muted);
    font-size: 0.9rem;
}

.sk-local-violation-options {
    display: grid;
    gap: 0.55rem;
    padding: 0.75rem;
    border: 1px dashed color-mix(in srgb, var(--sk-border-strong) 72%, transparent);
    border-radius: 0.8rem;
    background: color-mix(in srgb, var(--sk-panel-bg) 72%, transparent);
}

.sk-local-violation-options > span {
    color: var(--sk-text-soft);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sk-local-violation-checkbox-row {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    flex-wrap: wrap;
}

.sk-local-violation-options .sk-platform-inline-checkbox {
    margin-top: 0;
}

.sk-local-violation-selected {
    color: var(--sk-text);
    font-size: 0.9rem;
    font-weight: 600;
}

.sk-local-violation-details-card {
    margin-top: 0.25rem;
}

.sk-local-violation-details-card select.sk-platform-input {
    min-height: 2.8rem;
}

.sk-local-violation-improve-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.sk-local-violation-improve-spinner {
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 999px;
    border: 2px solid color-mix(in srgb, var(--sk-text-muted) 28%, transparent);
    border-top-color: var(--sk-text);
    animation: sk-local-spin 0.8s linear infinite;
}

.sk-local-violation-improve-status {
    color: var(--sk-text-muted);
    font-size: 0.9rem;
}

.sk-local-violation-improve-status.error {
    color: #b91c1c;
    font-weight: 600;
}

@keyframes sk-local-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 920px) {
    .sk-party-picker-grid {
        grid-template-columns: 1fr;
    }

    .sk-local-violation-people-grid {
        grid-template-columns: 1fr;
    }
}

.sk-reservation-block-facilities {
    display: grid;
    grid-template-columns: repeat(auto-fill, 14rem);
    gap: 0.65rem;
    justify-content: start;
}

.sk-reservation-block-facility {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 2.6rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--sk-border-strong);
    border-radius: 0.8rem;
    background: var(--sk-panel-bg-2);
    color: var(--sk-text);
    cursor: pointer;
}

.sk-reservation-block-facility[hidden] {
    display: none;
}

.sk-reservation-block-facility input {
    flex: 0 0 auto;
}

.sk-reservation-block-facility span {
    min-width: 0;
}

textarea.sk-platform-input,
select.sk-platform-input {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.sk-platform-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.sk-platform-inline-fields {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.sk-platform-inline-fields .sk-platform-input {
    width: 5.25rem;
}

.sk-platform-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.65rem;
    padding: 0 1rem;
    border: 1px solid transparent;
    border-radius: 0.8rem;
    text-decoration: none;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.sk-platform-button.primary {
    background: var(--sk-text);
    color: var(--sk-shell-bg);
}

.sk-platform-button.primary.danger {
    border-color: #991b1b;
    background: #b91c1c;
    color: #fff5f5;
}

.sk-platform-button:disabled,
.sk-platform-button[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.sk-platform-button.secondary {
    border: 1px solid var(--sk-border-strong);
    background: transparent;
    color: var(--sk-text);
}

.sk-platform-button.secondary:hover,
.sk-platform-button.secondary:focus-visible {
    background: var(--sk-panel-bg-2);
    border-color: var(--sk-text-muted);
}

.sk-platform-button.primary:hover,
.sk-platform-button.primary:focus-visible {
    transform: translateY(-1px);
}

.sk-platform-table-wrap {
    overflow-x: auto;
}

.sk-platform-table {
    width: 100%;
    border-collapse: collapse;
}

.sk-platform-table th,
.sk-platform-table td {
    padding: 0.85rem 0.75rem;
    border-bottom: 1px solid var(--sk-border);
    text-align: left;
    vertical-align: top;
}

.sk-platform-table thead th {
    color: var(--sk-text-soft);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.sk-platform-table th:last-child,
.sk-platform-table td:last-child {
    width: 9rem;
    min-width: 9rem;
}

.sk-platform-table td:last-child {
    white-space: nowrap;
}

.sk-platform-table td:last-child .sk-platform-actions,
.sk-platform-table td:last-child .sk-platform-table-actions {
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 0.5rem;
}

.sk-platform-table-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.sk-platform-table tbody tr:last-child td {
    border-bottom: none;
}

.sk-platform-table tbody tr.sk-platform-table-row-danger td {
    background: #fff1f2;
    border-bottom-color: #fecaca;
}

.sk-platform-table tbody tr.sk-platform-table-row-danger td:first-child {
    box-shadow: inset 4px 0 0 #dc2626;
}

.sk-platform-table tbody tr.sk-platform-table-row-warning td {
    background: #fffbeb;
    border-bottom-color: #fde68a;
}

.sk-platform-table tbody tr.sk-platform-table-row-warning td:first-child {
    box-shadow: inset 4px 0 0 #f59e0b;
}

.sk-platform-table .muted,
.sk-platform-panel .muted {
    color: var(--sk-text-muted);
}

.sk-legal-authority-person-name {
    display: block;
    font-weight: 700;
    color: var(--sk-text);
}

.sk-legal-authority-person-contact {
    display: block;
    margin-top: 0.2rem;
    color: var(--sk-text-muted);
    font-size: 0.84rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.sk-local-roster-ops {
    align-items: start;
}

.sk-local-roster-responsible-form {
    display: grid;
    gap: 1rem;
}

.sk-local-roster-lookup-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.sk-local-roster-lookup-row .sk-platform-input {
    min-width: min(100%, 16rem);
    flex: 1 1 16rem;
}

.sk-local-roster-lookup-row .sk-platform-button {
    flex: 0 0 auto;
}

.sk-local-roster-responsible-row {
    display: flex;
    align-items: end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.sk-local-roster-responsible-row .sk-platform-input {
    min-width: min(100%, 24rem);
    flex: 1 1 22rem;
}

.sk-local-roster-inline-summary {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.85rem;
    background: var(--sk-panel-bg-2);
}

.sk-local-roster-inline-label {
    color: var(--sk-text-soft);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
}

.sk-platform-service-name {
    font-weight: 600;
    color: var(--sk-text);
}

.sk-platform-check-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    width: min(100%, 52rem);
}

.sk-platform-check-grid .sk-platform-inline-checkbox {
    margin-top: 0;
    flex: 0 0 14rem;
    max-width: 100%;
}

.sk-local-permissions-matrix {
    display: grid;
    gap: 1rem;
}

.sk-local-permissions-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--sk-text);
    cursor: pointer;
    text-align: left;
}

.sk-local-permissions-toggle::-webkit-details-marker {
    display: none;
}

.sk-local-permissions-toggle::marker {
    display: none;
    content: "";
}

.sk-local-permissions-toggle span {
    display: grid;
    gap: 0.2rem;
}

.sk-local-permissions-toggle small {
    color: var(--sk-text-muted);
}

.sk-local-permissions-toggle-icon {
    color: var(--sk-text-soft);
    transition: transform 160ms ease;
}

.sk-local-permissions-section[open] .sk-local-permissions-toggle-icon {
    transform: rotate(180deg);
}

.sk-local-permissions-section[open] .sk-local-permissions-matrix {
    margin-top: 1rem;
}

.sk-local-permissions-item {
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--sk-panel-bg-2) 82%, transparent);
}

.sk-local-permissions-item.child {
    margin-left: 1.35rem;
}

.sk-local-permissions-item-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.sk-local-permissions-note {
    padding: 0.75rem 0.9rem;
    border-radius: 0.85rem;
    background: color-mix(in srgb, var(--sk-accent-tint) 48%, transparent);
    color: var(--sk-text-soft);
    line-height: 1.5;
}

.sk-local-permissions-role-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 0.85rem;
}

.sk-local-permissions-role-card {
    display: grid;
    gap: 0.55rem;
    padding: 0.85rem;
    border-radius: 0.9rem;
    background: var(--sk-panel-bg);
    border: 1px solid color-mix(in srgb, var(--sk-border-strong) 72%, transparent);
}

.sk-local-permissions-subtypes {
    display: grid;
    gap: 0.2rem;
    padding-left: 1.75rem;
}

.sk-platform-subtabs {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid var(--sk-border);
    overflow-x: auto;
    scrollbar-width: none;
}

.sk-platform-subtabs::-webkit-scrollbar {
    display: none;
}

.sk-platform-subtabs a {
    position: relative;
    color: var(--sk-text-muted);
    text-decoration: none;
    white-space: nowrap;
}

.sk-platform-subtabs a.active {
    color: var(--sk-text);
}

.sk-platform-subtabs a.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.82rem;
    height: 2px;
    background: var(--sk-text);
    border-radius: 999px;
}

.sk-construction-owner-summary {
    padding: 0.32rem 0.45rem 0.32rem 0.65rem;
    border-radius: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    width: 100%;
    min-height: 2.8rem;
    box-sizing: border-box;
}

.sk-construction-owner-summary[hidden] {
    display: none !important;
}

.entry-gate-hero-panel {
    display: grid;
    gap: 1.2rem;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--sk-accent) 14%, transparent) 0%, transparent 34%),
        var(--sk-panel-bg);
}

.entry-gate-hero-copy {
    display: grid;
    gap: 0.55rem;
}

.entry-gate-hero-copy h2 {
    margin: 0;
}

.entry-gate-hero-copy p {
    margin: 0;
    max-width: 64rem;
    color: var(--sk-text-muted);
}

.entry-gate-hero-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: end;
}

.entry-gate-hero-field {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
}

.entry-gate-hero-field > span {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--sk-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.entry-gate-hero-input {
    min-height: 4rem;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.entry-gate-hero-submit {
    min-width: 11rem;
    min-height: 4rem;
}

.entry-gate-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.entry-gate-console-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(21rem, 0.95fr);
    gap: 1.15rem;
    align-items: start;
}

.entry-gate-console-main,
.entry-gate-console-side {
    display: grid;
    gap: 1rem;
}

.entry-gate-person-panel,
.entry-gate-access-panel {
    display: grid;
    gap: 1rem;
}

.entry-gate-person-header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
}

.entry-gate-person-kicker {
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--sk-accent);
}

.entry-gate-person-kicker.danger {
    display: inline-flex;
    padding: 0.35rem 0.55rem;
    border-radius: 0.5rem;
    background: #b91c1c;
    color: #fff;
    letter-spacing: 0;
    text-transform: none;
}

.entry-gate-person-header h2 {
    margin: 0.18rem 0 0;
}

.entry-gate-person-subtitle {
    color: var(--sk-text-muted);
}

.entry-gate-first-entry-alert {
    border-color: #b91c1c;
    background: #b91c1c;
    color: #ffffff;
}

.entry-gate-first-entry-alert strong {
    color: inherit;
}

.entry-gate-not-found-alert {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.entry-gate-not-found-alert .sk-platform-button {
    flex: 0 0 auto;
}

.entry-gate-declared-identity-form {
    margin-top: 1rem;
}

.entry-gate-person-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}

.entry-gate-person-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
}

.entry-gate-stat-card {
    display: grid;
    gap: 0.3rem;
    padding: 0.95rem 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 1rem;
    background: var(--sk-panel-bg-2);
}

.entry-gate-stat-card span {
    color: var(--sk-text-muted);
    font-size: 0.85rem;
}

.entry-gate-stat-card strong {
    font-size: 1.65rem;
    line-height: 1;
}

.entry-gate-option-group {
    display: grid;
    gap: 0.8rem;
}

.entry-gate-checklist-panel {
    display: grid;
    gap: 1rem;
}

.entry-gate-checklist-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.entry-gate-check-card {
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--sk-border);
    border-radius: 1rem;
    background: var(--sk-panel-bg-2);
}

.entry-gate-check-card span {
    color: var(--sk-text-muted);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.entry-gate-check-card strong {
    font-size: 1rem;
}

.entry-gate-exit-mode-mismatch-alert {
    border-color: #ef4444;
    background: #fff1f2;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.08);
}

.entry-gate-exit-mode-mismatch-alert strong {
    color: #7f1d1d;
    font-size: 1.05rem;
}

.entry-gate-permanence-mode-icon {
    align-items: center;
    background: var(--sk-panel-bg-2);
    border: 1px solid var(--sk-border);
    border-radius: 0.78rem;
    color: var(--sk-accent);
    display: inline-flex;
    height: 2.45rem;
    justify-content: center;
    width: 2.7rem;
}

.entry-gate-permanence-mode-icon i {
    font-size: 1.25rem;
}

.entry-gate-check-card small {
    color: var(--sk-text-muted);
}

.entry-gate-inline-check {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.entry-gate-inline-check input {
    width: 1rem;
    height: 1rem;
}

.entry-gate-exit-mode-card,
.entry-gate-trunk-compact-card {
    justify-self: start;
    min-width: 0;
    width: fit-content;
}

.entry-gate-exit-mode-toggle {
    display: inline-flex;
    gap: 0.35rem;
}

.entry-gate-icon-toggle {
    align-items: center;
    border: 1px solid var(--sk-border);
    border-radius: 0.65rem;
    color: var(--sk-text-muted);
    cursor: pointer;
    display: inline-flex;
    height: 2.45rem;
    justify-content: center;
    position: relative;
    width: 2.7rem;
}

.entry-gate-icon-toggle input {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.entry-gate-icon-toggle i {
    font-size: 1.15rem;
}

.entry-gate-icon-toggle:has(input:checked) {
    background: color-mix(in srgb, var(--sk-accent) 14%, var(--sk-panel-bg-2));
    border-color: var(--sk-accent);
    color: var(--sk-accent);
}

.entry-gate-icon-toggle:focus-within {
    outline: 2px solid color-mix(in srgb, var(--sk-accent) 55%, transparent);
    outline-offset: 2px;
}

.entry-gate-trunk-toggle {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    gap: 0.7rem;
}

.entry-gate-trunk-toggle input {
    accent-color: var(--sk-accent);
    height: 1.55rem;
    width: 1.55rem;
}

.entry-gate-check-card.ok {
    border-color: color-mix(in srgb, var(--sk-success) 45%, var(--sk-border));
    background: color-mix(in srgb, var(--sk-success) 10%, var(--sk-panel-bg-2));
}

.entry-gate-check-card.warn {
    border-color: color-mix(in srgb, var(--sk-warning) 50%, var(--sk-border));
    background: color-mix(in srgb, var(--sk-warning) 12%, var(--sk-panel-bg-2));
}

.entry-gate-check-card.danger {
    border-color: #b91c1c;
    background: color-mix(in srgb, #b91c1c 16%, var(--sk-panel-bg-2));
}

.entry-gate-check-card.danger strong {
    color: #991b1b;
}

.entry-gate-option-group + .entry-gate-option-group {
    padding-top: 0.35rem;
    border-top: 1px solid var(--sk-border);
}

.entry-gate-option-group-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.85rem;
}

.entry-gate-option-group-header h3 {
    margin: 0;
}

.entry-gate-option-list {
    display: grid;
    gap: 0.75rem;
}

.entry-gate-mode-toggle {
    align-items: stretch;
    background: var(--sk-panel-bg-2);
    border: 1px solid var(--sk-border);
    border-radius: 1rem;
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(4.5rem, 1fr));
    min-height: 3.4rem;
    overflow: hidden;
    padding: 0.22rem;
}

.entry-gate-mode-toggle-option {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 0.78rem;
    color: var(--sk-text-muted);
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    min-width: 4.5rem;
    position: relative;
    transition: background 120ms ease, border-color 120ms ease, box-shadow 120ms ease, color 120ms ease, transform 120ms ease;
}

.entry-gate-mode-toggle-option input {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.entry-gate-mode-toggle-option i {
    font-size: 1.55rem;
}

.entry-gate-mode-toggle-option:has(input:checked) {
    background: color-mix(in srgb, var(--sk-accent) 14%, var(--sk-panel-bg));
    border-color: var(--sk-accent);
    box-shadow: inset 0 2px 8px rgba(15, 23, 42, 0.16), 0 0 0 1px color-mix(in srgb, var(--sk-accent) 12%, transparent);
    color: var(--sk-accent);
    transform: translateY(1px);
}

.entry-gate-mode-toggle-option:focus-within {
    outline: 2px solid color-mix(in srgb, var(--sk-accent) 55%, transparent);
    outline-offset: -2px;
}

.entry-gate-manual-controls {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 1rem;
}

.entry-gate-manual-lane-field {
    min-width: min(100%, 20rem);
}

.entry-gate-lane-card {
    min-width: min(100%, 17rem);
}

.entry-gate-lane-card .sk-platform-input {
    min-height: 2.45rem;
}

.entry-gate-companion-grid {
    display: grid;
    gap: 0.55rem;
}

.entry-gate-companion-add-row {
    align-items: end;
}

.entry-gate-companion-row {
    display: grid;
    gap: 0.35rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.75rem;
    background: var(--sk-panel-bg-2);
}

.entry-gate-driver-row {
    border-color: color-mix(in srgb, var(--sk-accent) 40%, var(--sk-border));
    background: color-mix(in srgb, var(--sk-accent) 8%, var(--sk-panel-bg-2));
}

.entry-gate-driver-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    background: var(--sk-accent);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
}

.entry-gate-companion-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.6rem;
}

.entry-gate-companion-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 0.6rem;
}

.entry-gate-companion-person {
    display: flex;
    gap: 0.45rem;
    align-items: baseline;
    min-width: 0;
}

.entry-gate-companion-person strong,
.entry-gate-companion-person span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.entry-gate-companion-destinations {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 0.45rem;
}

.entry-gate-companion-destinations > strong {
    flex: 0 0 auto;
}

.entry-gate-companion-destination-list {
    display: flex;
    flex-wrap: wrap;
    min-width: 0;
    gap: 0.35rem;
}

.entry-gate-companion-destination-option {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    max-width: 18rem;
    padding: 0.18rem 0.45rem;
    border: 1px solid var(--sk-border);
    border-radius: 999px;
    background: var(--sk-panel-bg);
    font-size: 0.85rem;
    white-space: nowrap;
}

.entry-gate-companion-destination-option.guard-authorization {
    border-color: color-mix(in srgb, var(--sk-warning) 55%, var(--sk-border));
    background: color-mix(in srgb, var(--sk-warning) 11%, var(--sk-panel-bg));
}

.entry-gate-companion-destination-option.with-actions {
    max-width: min(100%, 28rem);
}

.entry-gate-companion-destination-option.guard-authorization {
    white-space: normal;
}

.entry-gate-companion-destination-option span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.entry-gate-companion-destination-option.guard-authorization span {
    overflow: visible;
}

.entry-gate-guard-auth-edit-link {
    color: inherit;
    min-width: 0;
    text-decoration: none;
}

.entry-gate-guard-auth-edit-link:hover,
.entry-gate-guard-auth-edit-link:focus-visible {
    text-decoration: underline;
}

.entry-gate-guard-auth-cancel {
    width: 1.45rem;
    height: 1.45rem;
    display: inline-grid;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: color-mix(in srgb, var(--sk-danger) 80%, var(--sk-text));
    cursor: pointer;
}

.entry-gate-guard-auth-cancel:hover,
.entry-gate-guard-auth-cancel:focus-visible {
    background: color-mix(in srgb, var(--sk-danger) 12%, transparent);
}

.entry-gate-companion-first-marker {
    color: #b91c1c;
    font-size: 0.72rem;
    font-weight: 700;
}

.entry-gate-companion-guard-marker {
    color: color-mix(in srgb, var(--sk-warning) 72%, var(--sk-text));
    font-size: 0.72rem;
    font-weight: 800;
}

.entry-gate-companion-warning {
    color: var(--sk-danger);
    font-weight: 700;
}

.entry-gate-companion-badges {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.entry-gate-option-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 0.95rem 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 1rem;
    background: var(--sk-panel-bg-2);
    transition: border-color 120ms ease, transform 120ms ease, box-shadow 120ms ease;
}

.entry-gate-option-card:hover {
    border-color: color-mix(in srgb, var(--sk-accent) 45%, var(--sk-border));
    transform: translateY(-1px);
}

.entry-gate-option-card.suggested {
    border-color: color-mix(in srgb, var(--sk-accent) 65%, var(--sk-border));
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--sk-accent) 18%, transparent);
}

.entry-gate-option-card:not(.entry-gate-mode-card) input {
    margin-top: 0.2rem;
}

.entry-gate-option-copy {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
}

.entry-gate-option-title-row {
    display: flex;
    justify-content: space-between;
    gap: 0.65rem;
    align-items: start;
}

.entry-gate-option-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
}

.entry-gate-option-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
    border: 1px solid var(--sk-border);
    background: var(--sk-panel-bg);
    color: var(--sk-text-muted);
}

.entry-gate-option-badge.authorization {
    background: color-mix(in srgb, var(--sk-accent) 13%, var(--sk-panel-bg));
    color: var(--sk-text);
}

.entry-gate-option-badge.local {
    background: color-mix(in srgb, var(--sk-success) 14%, var(--sk-panel-bg));
    color: var(--sk-text);
}

.entry-gate-option-badge.suggested {
    background: color-mix(in srgb, var(--sk-warning) 14%, var(--sk-panel-bg));
    color: var(--sk-text);
}

.entry-gate-option-badge.ok,
.entry-gate-option-badge.success {
    background: color-mix(in srgb, var(--sk-success) 14%, var(--sk-panel-bg));
    color: var(--sk-text);
}

.entry-gate-option-badge.warning,
.entry-gate-option-badge.warn {
    background: color-mix(in srgb, var(--sk-warning) 15%, var(--sk-panel-bg));
    color: var(--sk-text);
}

.entry-gate-option-badge.danger,
.entry-gate-option-badge.error {
    border-color: #b91c1c;
    background: #b91c1c;
    color: #fff;
}

.entry-gate-option-badge.entry-gate-first-entry-badge {
    border-color: #b91c1c;
    background: #b91c1c;
    color: #fff;
}

.entry-gate-operator-form {
    display: grid;
    gap: 1rem;
}

.entry-gate-collapsible {
    border: 1px solid var(--sk-border);
    border-radius: 1rem;
    background: var(--sk-panel-bg-2);
}

.entry-gate-collapsible summary {
    cursor: pointer;
    padding: 0.9rem 1rem;
    font-weight: 700;
}

.entry-gate-collapsible-body {
    padding: 0 1rem 1rem;
}

fieldset.entry-gate-collapsible-body {
    border: 0;
    margin: 0;
}

.entry-gate-confirm-card {
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
    border-radius: 1rem;
    border: 1px solid var(--sk-border);
    background: linear-gradient(180deg, color-mix(in srgb, var(--sk-accent) 8%, var(--sk-panel-bg)) 0%, var(--sk-panel-bg-2) 100%);
    position: sticky;
    top: 1rem;
}

.entry-gate-confirm-copy {
    display: grid;
    gap: 0.25rem;
}

.entry-gate-confirm-copy h3,
.entry-gate-confirm-copy p {
    margin: 0;
}

.entry-gate-confirm-copy p {
    color: var(--sk-text-muted);
}

.entry-gate-confirm-button {
    min-height: 3.35rem;
    font-size: 1rem;
}

.entry-gate-doc-list {
    display: grid;
    gap: 0.75rem;
}

.entry-gate-doc-card {
    display: grid;
    gap: 0.28rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.9rem;
    background: var(--sk-panel-bg-2);
}

.entry-gate-empty-state {
    display: grid;
    gap: 0.25rem;
    padding: 1rem 1.05rem;
    border: 1px dashed var(--sk-border);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--sk-panel-bg-2) 75%, transparent);
}

.entry-gate-empty-state span {
    color: var(--sk-text-muted);
}

.entry-gate-empty-state.compact {
    padding: 0.85rem 0.95rem;
}

.entry-gate-guard-auth-card {
    width: 100%;
    margin-top: 0.85rem;
    padding: 1rem 1.05rem;
    border: 1px solid color-mix(in srgb, var(--sk-primary) 35%, var(--sk-border));
    border-radius: 1rem;
    background: color-mix(in srgb, var(--sk-primary) 9%, var(--sk-panel-bg));
    color: var(--sk-text);
    display: flex;
    align-items: center;
    gap: 0.85rem;
    text-align: left;
    cursor: pointer;
}

.entry-gate-guard-auth-card:hover,
.entry-gate-guard-auth-card:focus-visible {
    border-color: var(--sk-primary);
}

.entry-gate-guard-auth-icon {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--sk-primary);
    background: color-mix(in srgb, var(--sk-primary) 14%, transparent);
}

.entry-gate-guard-auth-card small {
    display: block;
    margin-top: 0.18rem;
    color: var(--sk-text-muted);
}

.entry-gate-guard-auth-card.compact {
    width: auto;
    min-width: 17rem;
    margin-top: 0;
    padding: 0.78rem 0.9rem;
}

.entry-gate-guard-auth-card.compact .entry-gate-guard-auth-icon {
    width: 2rem;
    height: 2rem;
}

.entry-gate-guard-auth-modal {
    width: min(760px, calc(100vw - 2rem));
    max-height: min(86vh, 820px);
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    overflow: visible;
}

.entry-gate-guard-auth-modal::backdrop {
    background: rgba(15, 23, 42, 0.56);
    backdrop-filter: blur(2px);
}

.entry-gate-guard-auth-dialog {
    width: 100%;
    max-height: min(86vh, 820px);
    overflow: auto;
    display: grid;
    gap: 1rem;
    padding: 1.15rem;
    border: 1px solid var(--sk-border);
    border-radius: 1.15rem;
    background: var(--sk-panel-bg);
    box-shadow: 0 22px 80px rgba(15, 23, 42, 0.24);
}

.entry-gate-guard-auth-dialog.compact {
    max-width: 620px;
    margin: 0 auto;
}

.entry-gate-vehicle-header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.entry-gate-license-summary {
    display: grid;
    gap: 0.85rem;
    padding: 0.95rem 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 1rem;
    background: var(--sk-panel-bg-2);
}

.entry-gate-license-summary.ok {
    border-color: color-mix(in srgb, var(--sk-success) 36%, var(--sk-border));
}

.entry-gate-license-summary.warn {
    border-color: color-mix(in srgb, var(--sk-warning) 44%, var(--sk-border));
}

.entry-gate-license-summary.danger {
    border-color: #b91c1c;
    background: color-mix(in srgb, #b91c1c 8%, var(--sk-panel-bg-2));
}

.entry-gate-license-summary.danger #entry-gate-driver-license-summary-copy,
.entry-gate-license-summary.danger #entry-gate-driver-license-status-label,
.entry-gate-license-summary.danger #entry-gate-driver-license-expiry-label {
    color: #991b1b;
}

.entry-gate-readonly-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 0.65rem;
}

.entry-gate-readonly-item {
    display: grid;
    gap: 0.18rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.8rem;
    background: var(--sk-panel-bg);
}

.entry-gate-readonly-item span {
    color: var(--sk-text-muted);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
}

.entry-gate-readonly-item strong {
    font-size: 0.95rem;
}

.entry-gate-vehicle-insurance-action {
    justify-self: start;
    margin-top: 0.35rem;
    padding: 0.4rem 0.65rem;
}

.entry-gate-vehicle-override-chip {
    align-items: center;
    background: color-mix(in srgb, var(--sk-danger) 9%, var(--sk-panel-bg));
    border: 1px solid color-mix(in srgb, var(--sk-danger) 38%, var(--sk-border));
    border-radius: 999px;
    color: #7f1d1d;
    display: inline-flex;
    gap: 0.5rem;
    max-width: 100%;
    padding: 0.42rem 0.55rem 0.42rem 0.75rem;
    width: fit-content;
}

.entry-gate-vehicle-override-chip button {
    align-items: center;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    height: 1.6rem;
    justify-content: center;
    padding: 0;
    width: 1.6rem;
}

body.sk-local-modal-open {
    overflow: hidden;
}

.entry-gate-selected-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.entry-gate-guard-auth-people {
    display: grid;
    gap: 0.75rem;
}

.entry-gate-guard-auth-people-list {
    display: grid;
    gap: 0.6rem;
}

.entry-gate-guard-auth-person-card {
    display: grid;
    gap: 0.6rem;
    padding: 0.75rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.85rem;
    background: var(--sk-panel-bg-2);
}

.entry-gate-guard-auth-current {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    width: fit-content;
    max-width: 100%;
    border-radius: 999px;
    padding: 0.35rem 0.55rem;
    font-size: 0.82rem;
    line-height: 1.25;
}

.entry-gate-guard-auth-current.ok {
    border: 1px solid rgba(22, 163, 74, 0.25);
    background: rgba(22, 163, 74, 0.1);
    color: #166534;
}

.entry-gate-guard-auth-current.warning {
    border: 1px solid rgba(217, 119, 6, 0.25);
    background: rgba(217, 119, 6, 0.1);
    color: #92400e;
}

.sk-platform-form-grid.compact {
    gap: 0.55rem;
}

.entry-gate-selected-chip {
    border: 1px solid var(--sk-border);
    border-radius: 999px;
    padding: 0.45rem 0.65rem;
    background: var(--sk-panel-bg-2);
    color: var(--sk-text);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.entry-gate-selected-chip small {
    color: var(--sk-text-muted);
}

.entry-gate-guard-auth-edit-cancel-form {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--sk-border);
}

.entry-gate-focus-card {
    display: grid;
    gap: 0.85rem;
}

@media (max-width: 1100px) {
    .entry-gate-console-grid {
        grid-template-columns: 1fr;
    }

    .entry-gate-confirm-card {
        position: static;
    }
}

@media (max-width: 900px) {
    .entry-gate-hero-form {
        grid-template-columns: 1fr;
    }

    .entry-gate-hero-submit {
        width: 100%;
    }

    .entry-gate-person-header,
    .entry-gate-option-group-header,
    .entry-gate-option-title-row {
        flex-direction: column;
        align-items: start;
    }

    .entry-gate-person-chips,
    .entry-gate-option-badges {
        justify-content: flex-start;
    }

    .entry-gate-person-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .entry-gate-mode-grid {
        grid-template-columns: 1fr;
    }

    .entry-gate-companion-main,
    .entry-gate-companion-summary {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .entry-gate-companion-badges {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .entry-gate-checklist-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .entry-gate-person-stats {
        grid-template-columns: 1fr;
    }

    .entry-gate-checklist-grid {
        grid-template-columns: 1fr;
    }

    .entry-gate-hero-input {
        min-height: 3.4rem;
        font-size: 1.1rem;
    }
}

.sk-platform-input[hidden] {
    display: none !important;
}

.sk-construction-owner-summary-body {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    min-width: 0;
}

.sk-construction-owner-summary strong,
.sk-construction-owner-summary span {
    display: inline;
    margin: 0;
    font-size: 0.85rem;
    white-space: nowrap;
}

.sk-construction-owner-summary span {
    color: var(--sk-text-muted);
}

.sk-construction-owner-clear {
    border: 0;
    background: transparent;
    color: var(--sk-text-muted);
    font-size: 1rem;
    line-height: 1;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    cursor: pointer;
    padding: 0;
    flex: 0 0 auto;
}

.sk-construction-owner-clear:hover {
    background: var(--sk-accent-tint);
    color: var(--sk-text);
}

.sk-platform-feedback-card {
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.95rem;
    background: var(--sk-panel-bg-2);
}

.sk-platform-feedback-card + .sk-platform-feedback-card {
    margin-top: 1rem;
}

.sk-platform-feedback-head {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    color: var(--sk-text-muted);
}

.sk-platform-feedback-head strong {
    color: var(--sk-text);
}

.sk-platform-feedback-replies {
    display: grid;
    gap: 0.75rem;
}

.sk-platform-feedback-reply {
    padding: 0.85rem 0.95rem;
    border-radius: 0.85rem;
    background: var(--sk-panel-bg);
    border: 1px solid var(--sk-border);
}

.sk-platform-feedback-reply strong {
    color: var(--sk-text);
}

.sk-platform-feedback-reply span {
    display: inline-block;
    margin-left: 0.65rem;
    color: var(--sk-text-muted);
    font-size: 0.84rem;
}

.sk-platform-feedback-reply p,
.sk-platform-feedback-card p {
    margin: 0.5rem 0 0;
}

.sk-platform-grid-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 1rem;
}

.sk-platform-card-link {
    display: grid;
    gap: 0.45rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.95rem;
    background: var(--sk-panel-bg-2);
    color: var(--sk-text);
    text-decoration: none;
}

.sk-platform-card-link:hover {
    border-color: var(--sk-border-strong);
    background: var(--sk-accent-tint);
}

.sk-platform-card-link strong {
    font-size: 1rem;
}

.sk-platform-card-link span {
    color: var(--sk-text-muted);
    line-height: 1.5;
}

.sk-platform-subtle-callout {
    display: grid;
    gap: 0.35rem;
    padding: 0.95rem 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.9rem;
    background: var(--sk-panel-bg-2);
    color: var(--sk-text-muted);
}

.sk-platform-subtle-callout p {
    margin: 0;
}

.sk-platform-stack {
    display: grid;
    gap: 1rem;
}

.sk-inline-camera-form {
    margin: 0;
}

.sk-inline-status-group {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
}

.sk-platform-nested-panel {
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.95rem;
    background: var(--sk-panel-bg-2);
}

.sk-platform-inline-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 1rem;
}

.sk-platform-chip {
    display: inline-flex;
    align-items: center;
    min-height: 1.7rem;
    padding: 0 0.55rem;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 700;
    background: var(--sk-border);
    color: var(--sk-text-soft);
}

.sk-platform-chip.warning {
    background: #fef3c7;
    color: #92400e;
}

.sk-platform-chip.success {
    background: #dcfce7;
    color: #166534;
}

.sk-platform-chip.danger {
    background: #fee2e2;
    color: #991b1b;
}

.sk-platform-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.7rem;
    padding: 0 0.6rem;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 800;
    white-space: nowrap;
    background: #e2e8f0;
    color: #334155;
}

.sk-platform-badge.success,
.sk-platform-badge.ok {
    background: #dcfce7;
    color: #166534;
}

.sk-platform-badge.warning {
    background: #fef3c7;
    color: #92400e;
}

.sk-platform-badge.danger {
    background: #fee2e2;
    color: #991b1b;
}

.sk-platform-badge.neutral {
    background: #e2e8f0;
    color: #334155;
}

.sk-regulation-status-chip {
    font-size: 0.8rem;
    padding: 0.1rem 0.65rem;
}

.sk-local-assistant-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
    gap: 1rem;
}

.sk-local-assistant-card {
    display: grid;
    gap: 0.45rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.95rem;
    background: var(--sk-panel-bg-2);
    color: var(--sk-text);
    text-decoration: none;
}

.sk-local-assistant-card:hover {
    border-color: var(--sk-border-strong);
    background: var(--sk-accent-tint);
}

.sk-local-assistant-card span {
    color: var(--sk-text-muted);
    line-height: 1.5;
}

.sk-local-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}

.sk-constructions-lots-cell {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.sk-local-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 0.9rem 1rem;
}

.sk-local-meta-grid > div {
    display: grid;
    gap: 0.2rem;
}

.sk-local-meta-grid strong {
    font-size: 0.82rem;
    color: var(--sk-text-muted);
}

.sk-local-meta-grid .actions {
    align-content: end;
    justify-items: start;
}

.sk-local-assistant-form {
    display: grid;
    gap: 0.75rem;
}

.sk-local-assistant-form label {
    font-weight: 700;
    color: var(--sk-text);
}

.sk-local-assistant-form textarea {
    min-height: 8rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 0.9rem;
    background: var(--sk-panel-bg-2);
    color: var(--sk-text);
    resize: vertical;
    font: inherit;
}

.sk-local-chat-thread {
    display: grid;
    gap: 1rem;
    align-content: start;
}

.sk-local-chat-bubble {
    display: flex;
}

.sk-local-chat-bubble.user {
    justify-content: flex-end;
}

.sk-local-chat-bubble.assistant {
    justify-content: flex-start;
}

.sk-local-chat-bubble-inner {
    display: grid;
    gap: 0.5rem;
    width: min(100%, 52rem);
    padding: 1rem 1.1rem 0.85rem;
    border-radius: 1.25rem;
    border: 1px solid var(--sk-border);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.sk-local-chat-bubble.user .sk-local-chat-bubble-inner {
    max-width: 46rem;
    border-color: rgba(58, 130, 246, 0.18);
    background: linear-gradient(180deg, #2aa8ec, #1d8fe0);
    color: #fff;
}

.sk-local-chat-bubble.assistant .sk-local-chat-bubble-inner {
    max-width: 52rem;
    border-color: rgba(15, 23, 42, 0.08);
    background: #f4f7fb;
}

.sk-local-chat-bubble.typing .sk-local-chat-bubble-inner {
    opacity: 0.9;
}

.sk-local-chat-bubble.typing pre,
.sk-local-chat-bubble.typing .sk-local-chat-message {
    color: var(--sk-text-muted);
    font-style: italic;
}

.sk-local-chat-bubble-meta {
    display: grid;
    gap: 0.14rem;
    font-size: 0.8rem;
    color: var(--sk-text-muted);
}

.sk-local-chat-bubble.user .sk-local-chat-bubble-meta {
    color: rgba(255, 255, 255, 0.82);
}

.sk-local-chat-answer-mode {
    display: inline-flex;
    align-items: center;
    margin-top: 0.7rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: rgba(15, 118, 110, 0.1);
    border: 1px solid rgba(13, 148, 136, 0.22);
    color: #0f766e;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.sk-local-chat-bubble pre,
.sk-local-chat-message {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    font: inherit;
    line-height: 1.6;
    color: inherit;
}

.sk-local-chat-technical {
    margin-top: 0.15rem;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.78);
    overflow: hidden;
}

.sk-local-chat-technical summary {
    cursor: pointer;
    padding: 0.7rem 0.9rem;
    font-weight: 600;
    color: var(--sk-text);
}

.sk-local-chat-technical-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 0.75rem;
    padding: 0 0.9rem 0.9rem;
}

.sk-local-chat-technical-grid > div {
    display: grid;
    gap: 0.18rem;
    font-size: 0.85rem;
}

.sk-local-chat-technical-grid strong {
    color: var(--sk-text-muted);
}

.sk-local-chat-technical-query {
    display: grid;
    gap: 0.35rem;
    padding: 0 0.9rem 0.9rem;
}

.sk-local-chat-technical-query-meta {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.82rem;
    color: var(--sk-text-muted);
}

.sk-local-chat-technical-query pre {
    padding: 0.8rem;
    border-radius: 0.8rem;
    background: #eef3f8;
    color: #0f172a;
    font-size: 0.82rem;
    line-height: 1.5;
}

.sk-local-chat-bubble-actions {
    display: flex;
    justify-content: flex-end;
}

.sk-local-chat-copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border: none;
    border-radius: 0.7rem;
    background: transparent;
    color: rgba(71, 85, 105, 0.9);
    font-size: 0.86rem;
    cursor: pointer;
    transition: background-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.sk-local-chat-copy:hover {
    background: rgba(148, 163, 184, 0.14);
    color: var(--sk-text);
}

.sk-local-chat-bubble.user .sk-local-chat-copy {
    color: rgba(255, 255, 255, 0.82);
}

.sk-local-chat-bubble.user .sk-local-chat-copy:hover {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.sk-local-chat-copy.is-copied {
    color: #059669;
}

.sk-local-chat-bubble.user .sk-local-chat-copy.is-copied {
    color: #d1fae5;
}

.sk-local-chat-copy.is-error {
    color: #dc2626;
}

.sk-local-empty-state {
    padding: 1.1rem 1.2rem;
    border: 1px dashed rgba(148, 163, 184, 0.4);
    border-radius: 1rem;
    color: var(--sk-text-muted);
    background: rgba(255, 255, 255, 0.65);
    text-align: center;
}

.sk-local-chat-shell {
    display: grid;
    gap: 0;
    min-height: 65vh;
    padding: 0;
    overflow: hidden;
}

.sk-local-chat-shell > .sk-local-card-header {
    padding: 1.15rem 1.2rem 0.9rem;
    border-bottom: 1px solid var(--sk-border);
}

.sk-local-chat-body {
    display: grid;
    align-content: start;
    gap: 1.15rem;
    min-height: 24rem;
    max-height: 60vh;
    overflow-y: auto;
    padding: 1.35rem 1.25rem 1.1rem;
    background:
        linear-gradient(180deg, rgba(58, 130, 246, 0.03), transparent 24rem),
        linear-gradient(180deg, rgba(16, 185, 129, 0.03), transparent 30rem),
        var(--sk-panel-bg);
}

.sk-local-chat-warning {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin: 1.2rem 1.2rem 0;
    padding: 1rem 1.1rem;
    border: 1px solid #f6d365;
    border-radius: 0.95rem;
    background: linear-gradient(180deg, #fff9e7, #fff6d9);
    color: #b45309;
}

.sk-local-chat-warning i {
    margin-top: 0.1rem;
}

.sk-local-chat-warning div {
    display: grid;
    gap: 0.2rem;
}

.sk-local-chat-upload {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem 1.2rem 0;
    padding: 1rem 1.1rem;
    border: 1px dashed rgba(148, 163, 184, 0.55);
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.86);
}

.sk-local-chat-upload > div {
    display: grid;
    gap: 0.2rem;
}

.sk-local-chat-upload > div span {
    color: var(--sk-text-muted);
    font-size: 0.93rem;
}

.sk-local-chat-upload input[type="file"] {
    max-width: 18rem;
    font: inherit;
}

.sk-local-upload-status {
    min-height: 1.1rem;
    margin: 0.55rem 1.25rem 0;
    color: var(--sk-text-muted);
    font-size: 0.88rem;
}

.sk-local-upload-status.error {
    color: #b91c1c;
}

.sk-local-upload-list {
    display: grid;
    gap: 0.45rem;
    margin: 0 1.25rem 0.5rem;
    padding: 0;
    list-style: none;
}

.sk-local-upload-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.7rem 0.85rem;
    border-radius: 0.85rem;
    background: rgba(248, 250, 252, 0.92);
    border: 1px solid rgba(226, 232, 240, 0.9);
    color: var(--sk-text);
}

.sk-local-upload-list li span {
    color: var(--sk-text-muted);
    font-size: 0.86rem;
}

.sk-local-assistant-context-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    margin: 1rem 1.2rem 0;
}

.sk-local-assistant-context-card {
    display: grid;
    gap: 0.2rem;
    padding: 0.95rem 1rem;
    border-radius: 0.95rem;
    border: 1px solid rgba(203, 213, 225, 0.85);
    background: rgba(248, 250, 252, 0.94);
}

.sk-local-assistant-context-card span {
    color: var(--sk-text-muted);
    font-size: 0.86rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.sk-local-assistant-context-card strong {
    font-size: 1.4rem;
    line-height: 1;
    color: var(--sk-text);
}

.sk-local-assistant-context-card small {
    color: var(--sk-text-muted);
    font-size: 0.82rem;
}

.sk-local-chat-hint {
    font-size: 0.95rem;
    color: var(--sk-text-muted);
    text-align: center;
}

.sk-local-assistant-composer {
    display: grid;
    gap: 0.7rem;
    padding: 1.2rem;
    border-top: 1px solid var(--sk-border);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.97));
    position: sticky;
    bottom: 0;
}

.sk-local-assistant-composer-panel {
    display: grid;
    gap: 1rem;
}

.sk-local-assistant-composer textarea {
    min-height: 8.25rem;
    max-height: 16rem;
    padding: 1rem 1.05rem;
    border: 2px solid rgba(15, 23, 42, 0.9);
    border-radius: 1rem;
    background: #fff;
    color: var(--sk-text);
    resize: vertical;
    font: inherit;
    line-height: 1.55;
}

.sk-local-assistant-composer textarea:focus {
    outline: none;
    border-color: #1d8fe0;
    box-shadow: 0 0 0 4px rgba(29, 143, 224, 0.12);
}

.sk-local-assistant-composer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.sk-local-assistant-composer-actions .field-validation-error {
    min-height: 1.25rem;
}

.sk-local-assistant-pending {
    color: var(--sk-text-muted);
    font-size: 0.88rem;
    font-style: italic;
}

.sk-local-violations-shell {
    display: grid;
    gap: 1.1rem;
    position: relative;
}

.sk-local-violations-status-card {
    margin-bottom: 0.75rem;
}

.sk-local-violations-status-card .sk-local-card-header {
    margin-bottom: 0.6rem;
}

.sk-local-violations-status-card .sk-local-meta-grid {
    margin-top: 0;
}

.sk-local-violations-form {
    display: grid;
    gap: 1rem;
}

.sk-local-field-block {
    display: grid;
    gap: 0.55rem;
    color: var(--sk-text);
    font-weight: 700;
}

.sk-local-field-block > span {
    font-size: 0.96rem;
}

.sk-local-field-block textarea {
    min-height: 10rem;
    padding: 1rem 1.05rem;
    border: 2px solid rgba(15, 23, 42, 0.9);
    border-radius: 1rem;
    background: #fff;
    color: var(--sk-text);
    resize: vertical;
    font: inherit;
    line-height: 1.6;
}

.sk-local-field-block textarea:focus {
    outline: none;
    border-color: #1d8fe0;
    box-shadow: 0 0 0 4px rgba(29, 143, 224, 0.12);
}

.sk-local-field-block textarea[readonly] {
    background: rgba(248, 250, 252, 0.92);
}

.sk-local-violations-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.sk-local-inline-status {
    min-height: 1.2rem;
    margin: 0;
    color: var(--sk-text-muted);
    font-size: 0.92rem;
}

.sk-local-inline-status.success {
    color: #047857;
}

.sk-local-inline-status.error {
    color: #b91c1c;
}

.sk-local-violations-output-wrap {
    position: relative;
}

.sk-local-violations-result {
    min-height: 8rem;
    margin: 0;
    padding: 1rem 3.2rem 1rem 1.05rem;
    border: 2px solid rgba(15, 23, 42, 0.9);
    border-radius: 1rem;
    background: rgba(248, 250, 252, 0.92);
    color: var(--sk-text);
    font: inherit;
    font-weight: 500;
    line-height: 1.65;
    white-space: pre-wrap;
    word-break: break-word;
}

.sk-local-violations-result.is-empty::before {
    color: var(--sk-text-muted);
    content: attr(data-placeholder);
    font-weight: 500;
}

.sk-local-violations-loading {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    place-items: center;
    pointer-events: none;
}

.sk-local-violations-loading[hidden] {
    display: none;
}

.sk-local-violations-spinner {
    width: 3.25rem;
    height: 3.25rem;
    border: 0.35rem solid rgba(15, 23, 42, 0.16);
    border-top-color: #1d8fe0;
    border-radius: 999px;
    box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, 0.18);
    animation: sk-local-violations-spin 0.8s linear infinite;
}

@keyframes sk-local-violations-spin {
    to {
        transform: rotate(360deg);
    }
}

.sk-local-analysis-loading {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 1.5rem;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(2px);
}

.sk-local-analysis-loading[hidden] {
    display: none;
}

.sk-local-analysis-loading-card {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    max-width: 30rem;
    padding: 1.4rem 1.6rem;
    border-radius: 0.9rem;
    background: var(--sk-surface, #fff);
    box-shadow: 0 1.5rem 3rem rgba(15, 23, 42, 0.35);
}

.sk-local-analysis-loading-spinner {
    flex: 0 0 auto;
    width: 2.75rem;
    height: 2.75rem;
    border: 0.32rem solid rgba(15, 23, 42, 0.16);
    border-top-color: #1d8fe0;
    border-radius: 999px;
    animation: sk-local-violations-spin 0.8s linear infinite;
}

.sk-local-analysis-loading-text {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.sk-local-analysis-loading-text strong {
    font-size: 1.02rem;
    color: var(--sk-text, #0f172a);
}

.sk-local-analysis-loading-text span {
    font-size: 0.88rem;
    color: var(--sk-text-muted, #64748b);
    line-height: 1.35;
}

.sk-local-tabs {
    display: flex;
    gap: 1.5rem;
    border-bottom: 1px solid var(--sk-border, #e2e8f0);
    margin: 0.75rem 0 1rem;
}

.sk-local-tab-button {
    border: 0;
    background: transparent;
    padding: 0.55rem 0.15rem;
    margin-bottom: -1px;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--sk-text-muted, #64748b);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.sk-local-tab-button:hover {
    color: var(--sk-text, #0f172a);
    border-bottom-color: color-mix(in srgb, var(--sk-text-muted, #64748b) 45%, transparent);
}

.sk-local-tab-button.active {
    color: var(--sk-text, #0f172a);
    border-bottom-color: #1d8fe0;
}

.sk-local-tab-count {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--sk-text-muted, #64748b);
}

.sk-local-tab-button.active .sk-local-tab-count {
    color: inherit;
}

.sk-local-tab-count.danger {
    color: #b91c1c;
}

.sk-local-tab-panel[hidden] {
    display: none;
}

.sk-local-analysis-apply-note ul {
    margin: 0.4rem 0 0;
    padding-left: 1.1rem;
}

.sk-local-chat-copy.standalone {
    position: absolute;
    top: 0.9rem;
    right: 0.9rem;
    background: rgba(148, 163, 184, 0.1);
}

.sk-local-chat-thread.compact {
    max-height: 26rem;
    overflow-y: auto;
}

.sk-local-chat-bubble.compact .sk-local-chat-bubble-inner {
    width: 100%;
    max-width: 100%;
    padding: 0.9rem 1rem 0.75rem;
}

@media (max-width: 780px) {
    .sk-local-chat-bubble-inner {
        width: 100%;
        max-width: 100%;
    }

    .sk-local-chat-upload {
        align-items: stretch;
        flex-direction: column;
    }

    .sk-local-chat-upload input[type="file"] {
        max-width: none;
        width: 100%;
    }

    .sk-local-assistant-composer-actions {
        align-items: stretch;
    }

    .sk-local-assistant-composer-actions .sk-platform-button {
        width: 100%;
    }

    .sk-local-violations-actions .sk-platform-button {
        width: 100%;
    }
}

@media (max-width: 1100px) {
    .sk-cloud-shell {
        grid-template-columns: 1fr;
    }

    .sk-cloud-sidebar {
        border-right: none;
        border-bottom: 1px solid var(--sk-border);
    }

    .sk-cloud-nav {
        grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    }
}

@media (max-width: 780px) {
    .sk-cloud-topbar {
        flex-direction: column;
        align-items: stretch;
    }

    .sk-cloud-topbar-left,
    .sk-cloud-topbar-right,
    .sk-cloud-tenant-form {
        width: 100%;
    }

    .sk-cloud-topbar-right {
        justify-content: space-between;
    }

    .sk-cloud-topbar-logo {
        height: 2.6rem;
    }

    .sk-cloud-page-header,
    .sk-cloud-tabs,
    .sk-cloud-content-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

.sk-cloud-diagnostics-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem 1.6rem 0;
}

.sk-cloud-diagnostics-banner strong {
    display: block;
    margin-bottom: 0.2rem;
}

.sk-cloud-diagnostics-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}

@media (max-width: 900px) {
    .sk-cloud-diagnostics-banner {
        flex-direction: column;
        align-items: stretch;
    }

    .sk-cloud-diagnostics-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

.sk-console-body {
    min-height: 100vh;
    background: radial-gradient(circle at top, rgba(78, 131, 255, 0.14), transparent 34%), var(--sk-body-bg);
}

.sk-console-shell {
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr;
}

.sk-console-topbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 0.85rem 1.25rem;
    border-bottom: 1px solid var(--sk-border);
    background: color-mix(in srgb, var(--sk-panel-bg) 92%, transparent);
    backdrop-filter: blur(14px);
    position: sticky;
    top: 0;
    z-index: 20;
}

.sk-console-topbar-left,
.sk-console-topbar-center,
.sk-console-topbar-right {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.sk-console-topbar-center {
    justify-content: center;
}

.sk-console-topbar-right {
    justify-content: flex-end;
    flex-wrap: wrap;
}

.sk-console-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
}

.sk-console-brand-mark {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    background: linear-gradient(135deg, var(--sk-accent), color-mix(in srgb, var(--sk-accent) 65%, #fff));
    color: #fff;
}

.sk-console-brand small {
    display: block;
    color: var(--sk-muted);
}

.sk-console-clock {
    color: var(--sk-muted);
    font-variant-numeric: tabular-nums;
}

.sk-console-link {
    color: var(--sk-text);
    text-decoration: none;
    font-weight: 600;
}

.sk-console-content {
    padding: 1rem 1.25rem 1.25rem;
}

.sk-console-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.sk-console-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(24rem, 0.95fr);
    gap: 1rem;
    align-items: start;
}

.sk-console-panel {
    border: 1px solid var(--sk-border);
    border-radius: 1.15rem;
    background: color-mix(in srgb, var(--sk-panel-bg) 96%, transparent);
    box-shadow: 0 18px 40px rgba(10, 15, 28, 0.16);
    padding: 1rem;
}

.sk-platform-panel-header.compact {
    margin-bottom: 0.85rem;
}

.sk-entry-gate-realtime-launcher {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    border: 1px solid var(--sk-border);
    border-radius: 1rem;
    padding: 1rem 1.1rem;
    background: color-mix(in srgb, var(--sk-panel-soft-bg) 72%, transparent);
}

.sk-entry-gate-realtime-launcher-copy {
    display: grid;
    gap: 0.35rem;
}

.sk-entry-gate-realtime-launcher-copy span {
    color: var(--sk-muted);
}

.sk-entry-gate-realtime-launcher-actions {
    display: inline-flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.sk-entry-gate-realtime-preview {
    display: grid;
    gap: 0.85rem;
}

.sk-entry-gate-realtime-preview-main {
    display: grid;
    gap: 0.2rem;
}

.sk-entry-gate-realtime-preview-main span {
    color: var(--sk-muted);
}

.entry-chip-list {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.entry-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid var(--sk-border);
    background: color-mix(in srgb, var(--sk-panel-bg) 92%, transparent);
    padding: 0.33rem 0.7rem;
    font-size: 0.76rem;
    font-weight: 700;
    color: var(--sk-text);
}

.entry-inline-item {
    border: 1px solid var(--sk-border);
    border-radius: 0.9rem;
    padding: 0.8rem 0.9rem;
    background: color-mix(in srgb, var(--sk-panel-soft-bg) 70%, transparent);
}

.row-title {
    font-weight: 700;
    margin-bottom: 0.2rem;
}

.row-sub {
    color: var(--sk-muted);
    font-size: 0.88rem;
}

.live-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.42rem 0.7rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    background: rgba(83, 122, 255, 0.16);
    color: #79a0ff;
}

.live-pill.ok {
    background: rgba(63, 175, 112, 0.18);
    color: #72d79b;
}

.live-pill.warn {
    background: rgba(255, 187, 71, 0.18);
    color: #ffd07c;
}

.realtime-status-card {
    display: grid;
    gap: 0.8rem;
}

.realtime-status-card .label,
.realtime-playback-card .label {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--sk-muted);
    margin-bottom: 0.3rem;
}

.realtime-status-card .value {
    font-size: 1.35rem;
    font-weight: 800;
}

.realtime-playback-card {
    display: grid;
    gap: 0.75rem;
}

.realtime-playback-controls {
    display: inline-flex;
    gap: 0.65rem;
    align-items: center;
}

.realtime-playback-controls .sk-platform-button {
    min-width: 4rem;
}

.realtime-event-row {
    cursor: pointer;
}

.realtime-event-row.selected td {
    background: rgba(83, 122, 255, 0.12);
}

.realtime-focus-shell {
    display: grid;
    gap: 1rem;
}

.realtime-focus-summary {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
    border: 1px solid var(--sk-border);
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(83, 122, 255, 0.16), rgba(83, 122, 255, 0.05));
}

.realtime-focus-summary h2 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1.05;
}

.realtime-photo-group {
    display: grid;
    gap: 0.75rem;
}

.realtime-photo-group h3 {
    margin: 0;
    font-size: 1rem;
}

.realtime-photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
    gap: 0.75rem;
}

.realtime-photo-card {
    border: 1px solid var(--sk-border);
    border-radius: 0.95rem;
    background: color-mix(in srgb, var(--sk-panel-soft-bg) 72%, transparent);
    overflow: hidden;
    display: grid;
    min-height: 14rem;
}

.realtime-photo-image {
    width: 100%;
    height: 11rem;
    object-fit: cover;
    background: rgba(83, 122, 255, 0.12);
}

.realtime-photo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 11rem;
    background: color-mix(in srgb, var(--sk-panel-bg) 88%, transparent);
    color: var(--sk-muted);
    text-align: center;
    padding: 1rem;
    font-weight: 700;
}

.realtime-photo-placeholder.error {
    background: rgba(220, 86, 114, 0.12);
    color: #ff9cb2;
}

.realtime-photo-meta {
    display: grid;
    gap: 0.2rem;
    padding: 0.8rem;
}

.sk-console-recent-list {
    display: grid;
    gap: 0.65rem;
}

.sk-console-events-table td {
    vertical-align: top;
}

.sk-cloud-user-chip.compact {
    gap: 0.45rem;
    padding: 0.2rem 0.45rem;
}

.sk-cloud-user-chip.compact .sk-cloud-user-avatar {
    width: 1.7rem;
    height: 1.7rem;
}

@media (max-width: 1180px) {
    .sk-console-topbar {
        grid-template-columns: 1fr;
        justify-items: stretch;
    }

    .sk-console-topbar-left,
    .sk-console-topbar-center,
    .sk-console-topbar-right {
        justify-content: space-between;
    }

    .sk-console-grid,
    .sk-console-main-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 780px) {
    .sk-console-content {
        padding-left: 0.8rem;
        padding-right: 0.8rem;
    }

    .sk-entry-gate-realtime-launcher {
        flex-direction: column;
        align-items: stretch;
    }

    .sk-entry-gate-realtime-launcher-actions,
    .realtime-playback-controls {
        display: grid;
        grid-template-columns: 1fr;
    }
}

.sk-family-member-list {
    display: grid;
    gap: 12px;
}

.sk-family-member-card {
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 16px;
    padding: 14px;
    background: #fff;
}

.sk-family-member-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.sk-family-member-card-header .sk-platform-button {
    min-width: 38px;
    padding-inline: 0;
}

.sk-platform-readonly {
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid var(--sk-border);
    border-radius: 10px;
    background: var(--sk-surface-soft);
}

.sk-platform-stacked-list {
    display: grid;
    gap: 6px;
}

.sk-platform-detail-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin: 1rem 0;
}

.sk-proposals-detail-grid > div {
    align-content: start;
    display: grid;
    gap: .25rem;
}

.sk-proposals-detail-grid dt,
.sk-proposals-detail-grid dd {
    margin: 0;
}

.sk-proposals-detail-grid dt {
    color: var(--sk-muted);
    font-size: .78rem;
    font-weight: 700;
}

.sk-proposals-detail-grid dd {
    color: var(--sk-text);
    font-size: .95rem;
    font-weight: 650;
}

.sk-platform-copy-block {
    background: var(--sk-surface-soft);
    border: 1px solid var(--sk-border);
    border-radius: 14px;
    padding: 1rem;
    white-space: pre-wrap;
}

.sk-platform-inline-form {
    align-items: center;
    display: inline-flex;
    gap: .5rem;
}

.sk-platform-input.compact {
    min-height: 2.25rem;
    padding-bottom: .35rem;
    padding-top: .35rem;
}

.sk-local-autocomplete-field {
    position: relative;
}

.sk-local-autocomplete-list {
    position: absolute;
    top: calc(100% + 0.25rem);
    left: 0;
    right: 0;
    z-index: 30;
    display: grid;
    gap: 0;
    max-height: 18rem;
    overflow-y: auto;
    border: 1px solid var(--sk-border-strong);
    border-radius: 0.85rem;
    background: var(--sk-panel-bg);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.18);
}

.sk-local-autocomplete-list[hidden] {
    display: none;
}

.sk-local-autocomplete-item {
    display: block;
    width: 100%;
    padding: 0.75rem 0.9rem;
    border: 0;
    border-bottom: 1px solid var(--sk-border);
    background: transparent;
    color: var(--sk-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.sk-local-autocomplete-item:last-child {
    border-bottom: 0;
}

.sk-local-autocomplete-item:hover,
.sk-local-autocomplete-item:focus-visible {
    background: var(--sk-panel-bg-2);
    outline: none;
}
