html {
    color-scheme: dark;
    height: 100%;
    overflow-x: hidden;
}

:root {
    --taptools-bg: #0c0c0d;
    --taptools-panel: #181819;
    --taptools-panel-alt: #1f1f21;
    --taptools-sidebar: #171718;
    --taptools-border: #303033;
    --taptools-input: #1a1a1c;
    --taptools-accent: #ffc105;
    --taptools-accent-soft: rgba(255, 193, 5, 0.16);
    --taptools-copy: #ffffff;
    --taptools-muted: #aaaaaf;
}

body {
    background: #0f0f10;
    font-family: "IBM Plex Sans", "Segoe UI", "Helvetica Neue", sans-serif;
    color: var(--taptools-copy);
    min-height: 100%;
    overflow: hidden;
    overflow-x: hidden;
}

body[data-device-ui="mobile"] {
    overflow: auto;
}

dialog::backdrop {
    background: rgba(12, 11, 18, 0.74);
    backdrop-filter: blur(8px);
}

.taptools-input {
    display: flex;
    height: 3rem;
    width: 100%;
    border-radius: 1rem;
    border: 1px solid var(--taptools-border);
    background: var(--taptools-input);
    padding: 0 1rem;
    color: var(--taptools-copy);
    font-size: 0.875rem;
    outline: none;
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.taptools-input:focus {
    border-color: rgba(255, 193, 5, 0.72);
    box-shadow: 0 0 0 3px rgba(255, 193, 5, 0.12);
}

.taptools-input::placeholder {
    color: #7f7f87;
}

.taptools-file-input {
    display: block;
    width: 100%;
    color: #d1d1d6;
    font-size: 0.875rem;
}

.taptools-file-input::file-selector-button {
    margin-right: 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
    padding: 0.7rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    transition: background 160ms ease, border-color 160ms ease;
}

.taptools-file-input::file-selector-button:hover {
    background: rgba(255, 255, 255, 0.11);
    border-color: rgba(255, 193, 5, 0.28);
}

.taptools-button-primary,
.taptools-button-secondary,
.taptools-button-danger {
    display: inline-flex;
    height: 2.75rem;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    padding: 0 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    transition: transform 160ms ease, opacity 160ms ease, background 160ms ease, border-color 160ms ease;
}

.taptools-button-primary:hover,
.taptools-button-secondary:hover,
.taptools-button-danger:hover {
    transform: translateY(-1px);
}

.taptools-button-primary:disabled,
.taptools-button-secondary:disabled,
.taptools-button-danger:disabled {
    cursor: not-allowed;
    opacity: 0.45;
    transform: none;
    box-shadow: none;
}

.taptools-button-primary {
    background: #ffc105;
    color: #111111;
    box-shadow: 0 14px 32px rgba(255, 193, 5, 0.12);
}

.taptools-button-primary:hover {
    background: #ffd043;
}

.taptools-button-secondary {
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;
}

.taptools-button-secondary:hover {
    background: rgba(255, 255, 255, 0.08);
}

.taptools-button-danger {
    background: #ef4444;
    border: 1px solid #ef4444;
    color: #ffffff;
    box-shadow: 0 14px 32px rgba(239, 68, 68, 0.18);
}

.taptools-button-danger:hover {
    background: #f87171;
    border-color: #f87171;
}

.taptools-dialog {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(100%, 52rem);
    max-width: calc(100vw - 2rem);
    max-height: calc(100vh - 2rem);
    border: 0;
    background: transparent;
    padding: 1rem;
    margin: 0;
}

.taptools-dialog-shell {
    overflow: hidden;
    border-radius: 1.75rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: #171719;
    box-shadow: none;
}

.taptools-dialog[open] {
    display: block;
}

.taptools-dialog::backdrop {
    background: rgba(0, 0, 0, 0.72);
}

.taptools-dialog-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 1.5rem;
}

.taptools-dialog-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 1.5rem;
}

.taptools-dialog-footer form {
    margin: 0;
}

.taptools-mobile-topbar,
.taptools-mobile-bottom-nav {
    display: none;
}

.taptools-mobile-nav-dialog {
    top: 0;
    left: 0;
    transform: none;
    width: min(100vw, 24rem);
    max-width: calc(100vw - 1.5rem);
    height: 100vh;
    max-height: none;
    padding: 0;
}

.taptools-mobile-nav-dialog[open] {
    display: block;
}

.taptools-mobile-nav-dialog::backdrop {
    background: rgba(0, 0, 0, 0.72);
}

.taptools-mobile-nav-shell {
    display: flex;
    height: 100dvh;
    flex-direction: column;
    background: #111112;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.taptools-mobile-nav-header,
.taptools-mobile-nav-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.taptools-mobile-nav-footer {
    flex-direction: column;
    align-items: stretch;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 0;
}

.taptools-mobile-nav-close,
.taptools-mobile-nav-trigger {
    display: inline-flex;
    height: 2.75rem;
    width: 2.75rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;
}

.taptools-mobile-nav-trigger {
    background: rgba(255, 193, 5, 0.12);
    border-color: rgba(255, 193, 5, 0.42);
}

.taptools-mobile-nav-trigger:hover,
.taptools-mobile-nav-trigger:focus-visible,
.taptools-mobile-nav-trigger:active {
    background: rgba(255, 193, 5, 0.22);
    border-color: rgba(255, 193, 5, 0.7);
}

.taptools-mobile-nav-trigger-icon {
    width: 1.15rem;
    height: 1.15rem;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(82%) sepia(69%) saturate(1506%) hue-rotate(357deg) brightness(102%) contrast(101%);
}

.taptools-mobile-home-trigger {
    background: transparent;
    border-color: transparent;
}

.taptools-mobile-home-trigger:hover,
.taptools-mobile-home-trigger:focus-visible,
.taptools-mobile-home-trigger:active {
    background: transparent;
    border-color: transparent;
}

.taptools-mobile-carousel {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex: 1;
    flex-direction: column;
}

.taptools-mobile-carousel-track {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex: 1;
    flex-direction: column;
}

.taptools-mobile-home-slide,
.taptools-mobile-tool-header {
    display: none;
}

.taptools-mobile-tool-slide,
.taptools-mobile-tool-content {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex: 1;
    flex-direction: column;
}

.taptools-mobile-nav-body {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
    overflow-y: auto;
}

.taptools-mobile-nav-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.taptools-mobile-topbar {
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.9rem 1rem;
    background: #111112;
}

.taptools-mobile-topbar-copy {
    min-width: 0;
    flex: 1;
}

.taptools-mobile-topbar-site {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #8a8a92;
}

.taptools-mobile-topbar-page {
    margin-top: 0.2rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1rem;
    font-weight: 600;
    color: #ffffff;
}

.taptools-mobile-profile-trigger {
    display: inline-flex;
    width: 2.75rem;
    height: 2.75rem;
    flex: none;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;
    font-weight: 700;
}

.taptools-mobile-bottom-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.35rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: #111112;
    padding: 0.7rem 0.75rem calc(0.75rem + env(safe-area-inset-bottom));
}

.taptools-mobile-bottom-link {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    border-radius: 1rem;
    padding: 0.55rem 0.35rem;
    text-decoration: none;
    color: #b6b6bb;
    transition: background 160ms ease, color 160ms ease;
}

.taptools-mobile-bottom-link.is-active {
    background: rgba(255, 193, 5, 0.14);
    color: #ffffff;
}

.taptools-mobile-bottom-icon {
    width: 1rem;
    height: 1rem;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.taptools-mobile-bottom-link.is-active .taptools-mobile-bottom-icon {
    filter: none;
}

.taptools-mobile-bottom-link span {
    overflow: hidden;
    max-width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.68rem;
    font-weight: 600;
}

.taptools-update-install-overlay {
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: #0c0c0d;
    backdrop-filter: none;
}

.taptools-admin-shell {
    display: grid;
    gap: 1.5rem;
    flex: 1;
    min-height: 100%;
    align-items: stretch;
    min-width: 0;
    overflow-x: hidden;
}

.taptools-admin-nav {
    min-height: 100%;
    min-width: 0;
}

.taptools-admin-link {
    display: block;
    border-radius: 0.7rem;
    border: 1px solid transparent;
    padding: 0.45rem 0.75rem;
    font-size: 0.93rem;
    font-weight: 500;
    line-height: 1.2;
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.taptools-admin-link:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
}

.taptools-admin-link.is-active {
    border-color: rgba(255, 193, 5, 0.32);
    background: #ffc105;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    color: #111111;
}

.taptools-admin-panel {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: #181819;
    box-shadow: none;
    overflow: hidden;
}

.taptools-admin-panel-body {
    flex: 1;
    min-height: 0;
    min-width: 0;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    overflow-x: hidden;
}

.taptools-admin-panel-body-export {
    display: flex;
    flex-direction: column;
}

.taptools-export-restore-layout {
    display: flex;
    width: 100%;
    max-width: 56rem;
    min-height: 100%;
    margin: 0 auto;
    flex: 1;
    flex-direction: column;
    gap: 1.5rem;
}

.taptools-export-default-section {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    justify-content: flex-end;
}

.taptools-export-default-divider {
    height: 1px;
    width: 100%;
    background: rgba(255, 255, 255, 0.1);
    margin-top: auto;
    margin-bottom: auto;
}

.taptools-admin-shell-divider {
    width: 1px;
    align-self: stretch;
    margin: 1.5rem 0;
    background: rgba(255, 255, 255, 0.08);
}

.taptools-admin-panel-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.taptools-app-shell {
    background: #090909;
    height: 100vh;
    overflow: hidden;
    box-sizing: border-box;
}

.taptools-app-frame {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border-radius: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.taptools-app-frame.is-sidebar-animating .taptools-sidebar,
.taptools-app-frame.is-sidebar-animating .taptools-admin-nav,
.taptools-app-frame.is-sidebar-animating .taptools-admin-panel,
.taptools-app-frame.is-sidebar-animating .taptools-inset {
    will-change: transform;
}

.taptools-app-frame.is-sidebar-animating .taptools-sidebar-trigger {
    pointer-events: none;
}

.taptools-sidebar {
    display: flex;
    height: 100%;
    min-width: 0;
    flex-direction: column;
    border-right: 0;
    background: transparent;
    overflow: hidden;
    transition: width 180ms ease, min-width 180ms ease;
}

.taptools-sidebar-header {
    padding: 0.75rem;
}

.taptools-sidebar-content {
    flex: 1;
    padding: 0.75rem;
}

.taptools-sidebar-group {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.taptools-sidebar-menu {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.taptools-sidebar-menu-item {
    display: block;
}

.taptools-sidebar-menu-button {
    display: flex;
    min-height: 2rem;
    width: 100%;
    align-items: center;
    gap: 0.65rem;
    border-radius: 0.7rem;
    border: 1px solid transparent;
    padding: 0.45rem 0.75rem;
    font-size: 0.93rem;
    font-weight: 500;
    line-height: 1.2;
    color: #d6d6db;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.taptools-sidebar-menu-button:hover {
    background: rgba(255, 255, 255, 0.045);
    color: #ffffff;
}

.taptools-sidebar-menu-button.is-active {
    border-color: #ffc105;
    background: #ffc105;
    color: #111111;
}

.taptools-sidebar-menu-icon {
    width: 1rem;
    height: 1rem;
    flex: none;
    object-fit: contain;
    filter: brightness(0) invert(1);
    transition: filter 160ms ease, opacity 160ms ease;
}

.taptools-sidebar-menu-button.is-active .taptools-sidebar-menu-icon {
    filter: brightness(0) saturate(100%);
}

.taptools-sidebar-footer {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 0.75rem;
}

.taptools-sidebar-user {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-radius: 0.95rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.035);
    padding: 0.7rem;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    text-decoration: none;
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.taptools-sidebar-user:hover {
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.055);
    transform: translateY(-1px);
}

.taptools-sidebar-user-avatar {
    display: inline-flex;
    width: 3rem;
    height: 3rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    color: #111111;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.taptools-sidebar-user-avatar img,
.taptools-sidebar-user-avatar span {
    display: block;
    width: 100%;
    height: 100%;
}

.taptools-sidebar-user-avatar span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.taptools-sidebar-divider {
    height: 1px;
    width: 100%;
    background: rgba(255, 255, 255, 0.08);
}

.taptools-sidebar-brand-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
    text-align: center;
    width: 100%;
}

.taptools-sidebar-brand-image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 4.75rem;
    object-fit: contain;
    object-position: center;
}

.taptools-sidebar-brand-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: #ffffff;
}

.taptools-sidebar-outline-button {
    display: inline-flex;
    height: 2.35rem;
    width: 100%;
    align-items: center;
    justify-content: center;
    border-radius: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
    padding: 0 1rem;
    font-size: 0.9rem;
    font-weight: 500;
    color: #ededf0;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.taptools-sidebar-outline-button:hover {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.06);
}

.taptools-sidebar-outline-button svg {
    margin-left: 0.55rem;
    width: 0.95rem;
    height: 0.95rem;
}

.taptools-sidebar-meta {
    font-size: 0.8rem;
    line-height: 1.45;
    color: #7d7d85;
    text-align: center;
}

.taptools-inset {
    display: flex;
    height: 100%;
    min-width: 0;
    flex-direction: column;
    background: #0c0c0d;
    overflow: hidden;
    border-radius: 1.75rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 22px 80px rgba(0, 0, 0, 0.34);
}

.taptools-topbar {
    display: flex;
    min-height: 4rem;
    align-items: center;
    gap: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0 1rem;
    background: rgba(12, 12, 13, 0.96);
    backdrop-filter: blur(10px);
}

.taptools-header-breadcrumb {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.75rem;
}

.taptools-sidebar-trigger {
    display: inline-flex;
    height: 2rem;
    width: 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: transparent;
    color: #ffffff;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.taptools-sidebar-trigger:hover,
.taptools-sidebar-trigger:focus-visible,
.taptools-sidebar-trigger:active {
    background: #ffc105;
    border-color: #ffc105;
    color: #111111;
}

.taptools-sidebar-trigger svg {
    width: 1rem;
    height: 1rem;
}

.taptools-header-divider {
    height: 1rem;
    width: 1px;
    background: rgba(255, 255, 255, 0.1);
}

.taptools-header-title {
    flex: none;
    font-size: 0.95rem;
    font-weight: 600;
    color: #ffffff;
}

.taptools-header-dot {
    flex: none;
    width: 0.35rem;
    height: 0.35rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.36);
}

.taptools-header-description {
    min-width: 0;
    font-size: 0.9rem;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.taptools-sidebar-brand,
.taptools-sidebar-profile {
    border-bottom: 0;
    background: transparent;
    box-shadow: none;
}

.taptools-auth-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: #181819;
    box-shadow: none;
}

.taptools-auth-shell::before {
    content: none;
}

.taptools-auth-column {
    position: relative;
    z-index: 1;
}

.taptools-setup-side {
    display: flex;
    min-height: 100%;
    align-items: center;
    justify-content: center;
}

.taptools-setup-side-inner {
    display: flex;
    max-width: 22rem;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.taptools-setup-step-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ffffff;
    padding: 0.7rem 1.15rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: #111111;
    text-align: center;
}

.taptools-login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}

.taptools-login-wrap {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
}

.taptools-login-stack {
    width: 100%;
    max-width: 28rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.taptools-login-logo-wrap {
    display: flex;
    justify-content: center;
}

.taptools-login-logo {
    height: 9rem;
    width: auto;
    object-fit: contain;
}

.taptools-login-card {
    border-radius: 0.95rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: #181819;
    overflow: hidden;
}

.taptools-login-card-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 1.5rem;
}

.taptools-login-card-body {
    padding: 1.5rem;
}

.taptools-auth-divider {
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.taptools-auth-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
    padding: 0.45rem 0.85rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.74);
}

.taptools-auth-grid-card {
    border-radius: 1.6rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: #1d1d20;
    box-shadow: none;
}

.taptools-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 1.15rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    box-shadow: none;
}

.taptools-icon-frame {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: #f4f4f5;
    box-shadow: none;
}

.taptools-icon-frame svg {
    width: 1.05rem;
    height: 1.05rem;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.taptools-sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.taptools-nav-button {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    border-radius: 1.35rem;
    border: 1px solid transparent;
    padding: 0.85rem 1rem;
    color: #d6d6db;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.taptools-nav-button:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.035);
    color: #ffffff;
}

.taptools-nav-button .taptools-icon-frame {
    width: 2.55rem;
    height: 2.55rem;
    border-radius: 999px;
}

.taptools-nav-button.is-active {
    border-color: rgba(255, 193, 5, 0.32);
    background: #ffc105;
    color: #111111;
    box-shadow: 0 14px 30px rgba(255, 193, 5, 0.16);
}

.taptools-nav-button.is-active .taptools-icon-frame {
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.14);
    color: #111111;
}

.taptools-auth-field {
    display: grid;
    gap: 0.6rem;
}

.taptools-auth-link {
    color: #9a9aa2;
    transition: color 160ms ease;
}

.taptools-auth-link:hover {
    color: #ffffff;
}

.taptools-main-scroll section.rounded-3xl,
.taptools-main-scroll article.rounded-3xl {
    background: #1d1d20 !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow: none;
}

.taptools-main-scroll article.rounded-3xl,
.taptools-main-scroll .bg-slate-950\/40,
.taptools-main-scroll tbody.bg-slate-950\/30 {
    background: #171719 !important;
}

.taptools-main-scroll thead,
.taptools-main-scroll .bg-white\/5 {
    background: rgba(255, 255, 255, 0.035) !important;
}

.taptools-main-scroll table {
    border-collapse: collapse;
}

.taptools-main-scroll {
    display: flex;
    flex-direction: column;
    padding-bottom: 1.5rem;
}

.taptools-users-workspace {
    display: flex;
    min-height: 36rem;
    flex-direction: column;
}

.taptools-users-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0 0 0.9rem;
}

.taptools-users-search {
    flex: 1 1 0;
    min-width: 0;
}

.taptools-users-search .taptools-input {
    width: 100%;
}

.taptools-users-divider {
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
}

.taptools-users-body {
    display: grid;
    min-height: 0;
    flex: 1;
    grid-template-columns: minmax(280px, 33%) 1px minmax(0, 1fr);
}

.taptools-users-list-panel,
.taptools-users-detail-panel {
    min-width: 0;
    min-height: 0;
}

.taptools-users-list-panel {
    padding: 1.5rem 1.5rem 0 0;
}

.taptools-users-detail-panel {
    padding: 1.5rem 0 0 1.5rem;
}

.taptools-users-vertical-divider {
    width: 1px;
    background: rgba(255, 255, 255, 0.08);
}

.taptools-users-scrollarea {
    height: min(60vh, 42rem);
    overflow-y: auto;
    padding-right: 0.4rem;
}

.taptools-users-scrollarea::-webkit-scrollbar {
    width: 8px;
}

.taptools-users-scrollarea::-webkit-scrollbar-track {
    background: transparent;
}

.taptools-users-scrollarea::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
}

.taptools-user-row {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.95rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: transparent;
    padding: 0.85rem 0.35rem 0.85rem 0;
    text-align: left;
    transition: background 160ms ease, color 160ms ease;
}

.taptools-user-row:hover {
    background: rgba(255, 255, 255, 0.03);
}

.taptools-user-row.is-active,
.taptools-user-row[aria-selected="true"] {
    background: transparent;
}

.taptools-user-row-check {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    flex: none;
    align-items: center;
    justify-content: center;
    color: #ffc105;
    opacity: 0;
    transition: opacity 160ms ease;
}

.taptools-user-row-check svg {
    width: 1rem;
    height: 1rem;
}

.taptools-user-row.is-active .taptools-user-row-check,
.taptools-user-row[aria-selected="true"] .taptools-user-row-check {
    opacity: 1;
}

.taptools-user-row-avatar,
.taptools-user-detail-avatar,
.taptools-user-avatar-preview {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    color: #111111;
    font-weight: 700;
}

.taptools-concept-detail-avatar,
.taptools-concept-avatar-preview {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 1.4rem;
    background: rgba(255, 255, 255, 0.95);
    color: #111111;
    font-weight: 700;
}

.taptools-user-row-avatar {
    width: 2.8rem;
    height: 2.8rem;
    flex: none;
    font-size: 0.92rem;
}

.taptools-user-detail-avatar {
    width: 5rem;
    height: 5rem;
    flex: none;
    font-size: 1.5rem;
}

.taptools-user-avatar-preview {
    width: 5.5rem;
    height: 5.5rem;
    flex: none;
    font-size: 1.5rem;
}

.taptools-concept-detail-avatar {
    width: 5rem;
    height: 5rem;
    flex: none;
    font-size: 1.5rem;
}

.taptools-concept-avatar-preview {
    width: 5.5rem;
    height: 5.5rem;
    flex: none;
    font-size: 1.6rem;
}

.taptools-user-row-avatar img,
.taptools-user-detail-avatar img,
.taptools-user-avatar-preview img,
.taptools-concept-detail-avatar img,
.taptools-concept-avatar-preview img,
.taptools-user-row-avatar span,
.taptools-user-detail-avatar span,
.taptools-user-avatar-preview span,
.taptools-concept-detail-avatar span,
.taptools-concept-avatar-preview span {
    width: 100%;
    height: 100%;
}

.taptools-user-row-avatar span,
.taptools-user-detail-avatar span,
.taptools-user-avatar-preview span,
.taptools-concept-detail-avatar span,
.taptools-concept-avatar-preview span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.taptools-user-row-type {
    flex: none;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
    padding: 0.35rem 0.7rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #cdd3de;
}

.taptools-users-detail-grid {
    display: grid;
    gap: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 1.5rem;
}

.taptools-tools-workspace {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    gap: 1rem;
}

.taptools-tools-body {
    display: grid;
    min-height: 0;
    flex: 1;
    grid-template-columns: minmax(240px, 33%) 1px minmax(0, 1fr);
}

.taptools-tools-list-panel,
.taptools-tools-detail-panel {
    min-width: 0;
    min-height: 0;
}

.taptools-tools-list-panel {
    padding: 1.5rem 1.5rem 0 0;
}

.taptools-tools-detail-panel {
    padding: 1.5rem 0 0 1.5rem;
}

.taptools-tools-vertical-divider {
    width: 1px;
    background: rgba(255, 255, 255, 0.08);
}

.taptools-tools-scrollarea {
    height: min(58vh, 40rem);
    overflow-y: auto;
    padding-right: 0.4rem;
}

.taptools-tools-scrollarea::-webkit-scrollbar {
    width: 8px;
}

.taptools-tools-scrollarea::-webkit-scrollbar-track {
    background: transparent;
}

.taptools-tools-scrollarea::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
}

.taptools-tool-row {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.9rem 0.35rem 0.9rem 0;
    text-decoration: none;
    transition: background 160ms ease, color 160ms ease;
}

.taptools-tool-row:hover {
    background: rgba(255, 255, 255, 0.03);
}

.taptools-tool-row.is-active {
    color: #ffffff;
}

.taptools-tool-row-check {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    color: #ffc105;
}

.taptools-tool-row-check svg {
    width: 0.95rem;
    height: 0.95rem;
}

.taptools-tool-detail-form {
    display: flex;
    min-height: 100%;
    align-items: center;
    justify-content: center;
}

.taptools-tool-detail-center {
    display: flex;
    max-width: 42rem;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
}

.taptools-tool-status-notice {
    width: min(100%, 28rem);
}

.taptools-tool-status-select {
    width: min(100%, 18rem);
}

.taptools-concepts-detail-grid {
    display: grid;
    min-height: 0;
    grid-template-columns: minmax(240px, 0.9fr) 1px minmax(0, 1.2fr);
}

.taptools-concepts-location-list,
.taptools-concepts-location-detail {
    min-width: 0;
    min-height: 0;
}

.taptools-concepts-location-list {
    padding-right: 1.5rem;
}

.taptools-concepts-location-detail {
    padding-left: 1.5rem;
}

.taptools-concepts-location-scroll {
    max-height: min(44vh, 28rem);
    overflow-y: auto;
    padding-right: 0.35rem;
}

.taptools-concepts-location-scroll::-webkit-scrollbar {
    width: 8px;
}

.taptools-concepts-location-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.taptools-concepts-location-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
}

.taptools-concept-location-row {
    display: flex;
    width: 100%;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.85rem 0.35rem 0.85rem 0;
    text-align: left;
    transition: background 160ms ease, color 160ms ease;
}

.taptools-concept-location-row:hover {
    background: rgba(255, 255, 255, 0.03);
}

.taptools-concept-location-row.is-active {
    background: transparent;
}

.taptools-main-scroll code {
    background: rgba(255, 255, 255, 0.06) !important;
}

.taptools-admin-nav {
    background: transparent;
    border: 0;
    padding: 1.5rem 0 1.5rem 0;
    box-shadow: none;
}

.taptools-admin-link.is-active {
    background: #ffc105;
    border-color: #ffc105;
    box-shadow: none;
    color: #111111;
}

.taptools-admin-panel {
    border-radius: 1.25rem;
}

.taptools-admin-panel-header {
    min-height: 8.25rem;
}

.taptools-admin-panel-header.is-compact {
    min-height: 4rem;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.taptools-app-frame.is-sidebar-collapsed {
    grid-template-columns: 4.5rem minmax(0, 1fr);
}

.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-user .min-w-0,
.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-brand-stack .taptools-sidebar-brand-image,
.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-brand-stack .taptools-sidebar-brand-title,
.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-meta,
.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-outline-button span,
.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-footer .text-center {
    display: none;
}

.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-header {
    padding: 0.75rem;
}

.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-content,
.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-footer {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-user,
.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-brand-stack {
    align-items: center;
    justify-content: center;
}

.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-user {
    border-color: transparent;
    background: transparent;
    padding: 0;
}

.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-user-avatar {
    width: 3rem;
    height: 3rem;
    min-width: 3rem;
    min-height: 3rem;
    flex: 0 0 3rem;
}

.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-outline-button {
    padding-left: 0.4rem;
    padding-right: 0.4rem;
}

.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-outline-button svg {
    margin-left: 0;
}

.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-menu-button {
    justify-content: center;
    padding-left: 0.4rem;
    padding-right: 0.4rem;
}

.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-menu-button span {
    display: none;
}

.taptools-app-frame.is-sidebar-collapsed .taptools-sidebar-menu-icon {
    width: 1.05rem;
    height: 1.05rem;
}

[data-device-ui="mobile"] .taptools-app-shell {
    min-height: 100dvh;
    padding: 0;
}

[data-device-ui="mobile"] .taptools-app-frame {
    display: flex;
    min-height: 100dvh;
}

[data-device-ui="mobile"] .taptools-sidebar,
[data-device-ui="mobile"] .taptools-topbar,
[data-device-ui="mobile"] .taptools-mobile-topbar,
[data-device-ui="mobile"] .taptools-mobile-bottom-nav,
[data-device-ui="mobile"] .taptools-mobile-nav-dialog {
    display: none;
}

[data-device-ui="mobile"] .taptools-inset {
    border: 0;
    border-radius: 0;
    background: #090909;
}

[data-device-ui="mobile"] .taptools-main-scroll {
    padding: 0;
    overflow: hidden;
}

[data-device-ui="mobile"] .taptools-mobile-carousel {
    height: 100%;
}

[data-device-ui="mobile"] .taptools-mobile-carousel-track {
    display: flex;
    flex-direction: row;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

[data-device-ui="mobile"] .taptools-mobile-carousel-track::-webkit-scrollbar {
    display: none;
}

[data-device-ui="mobile"] .taptools-mobile-home-slide,
[data-device-ui="mobile"] .taptools-mobile-tool-slide {
    display: flex;
    min-width: 100%;
    width: 100%;
    min-height: 100%;
    flex-direction: column;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

[data-device-ui="mobile"] .taptools-mobile-home-shell {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom));
    background: #090909;
}

[data-device-ui="mobile"] .taptools-mobile-home-nav {
    flex: 1;
}

[data-device-ui="mobile"] .taptools-mobile-home-footer {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

[data-device-ui="mobile"] .taptools-mobile-tool-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.9rem 1rem;
    background: #111112;
}

[data-device-ui="mobile"] .taptools-mobile-tool-header-copy {
    min-width: 0;
    flex: 1;
}

[data-device-ui="mobile"] .taptools-mobile-tool-content {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom));
    -webkit-overflow-scrolling: touch;
}

[data-device-ui="mobile"] #sidebar-profile-dialog {
    width: min(100vw, 42rem);
    max-width: calc(100vw - 1rem);
    max-height: calc(100dvh - 1rem);
    padding: 0.5rem;
}

[data-device-ui="mobile"] #sidebar-profile-dialog .taptools-dialog-shell {
    display: flex;
    max-height: calc(100dvh - 1rem);
    flex-direction: column;
}

[data-device-ui="mobile"] #sidebar-profile-dialog .taptools-dialog-shell > .grid {
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

[data-device-ui="mobile"] #sidebar-profile-dialog .taptools-dialog-footer {
    padding-bottom: calc(1rem + env(safe-area-inset-bottom));
}

[data-device-ui="mobile"] .taptools-auth-shell {
    border-radius: 0;
}

[data-device-ui="mobile"] .taptools-auth-split {
    display: flex;
    flex-direction: column;
}

[data-device-ui="mobile"] .taptools-auth-column {
    padding: 1.25rem;
}

[data-device-ui="mobile"] .taptools-auth-divider {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

[data-device-ui="mobile"] .taptools-login-page,
[data-device-ui="mobile"] .taptools-login-wrap {
    min-height: 100dvh;
}

[data-device-ui="mobile"] .taptools-admin-shell {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

[data-device-ui="mobile"] .taptools-admin-nav {
    overflow-x: auto;
}

[data-device-ui="mobile"] .taptools-admin-nav > div {
    display: inline-flex;
    gap: 0.5rem;
    min-width: max-content;
}

[data-device-ui="mobile"] .taptools-admin-shell-divider,
[data-device-ui="mobile"] .taptools-users-vertical-divider,
[data-device-ui="mobile"] .taptools-tools-vertical-divider {
    display: none;
}

[data-device-ui="mobile"] .taptools-admin-panel {
    border-radius: 1.5rem;
}

[data-device-ui="mobile"] .taptools-users-body,
[data-device-ui="mobile"] .taptools-tools-body,
[data-device-ui="mobile"] .taptools-concepts-detail-grid {
    grid-template-columns: 1fr;
}

[data-device-ui="mobile"] .taptools-users-list-panel,
[data-device-ui="mobile"] .taptools-tools-list-panel,
[data-device-ui="mobile"] .taptools-concepts-location-list {
    padding: 0 0 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

[data-device-ui="mobile"] .taptools-users-detail-panel,
[data-device-ui="mobile"] .taptools-tools-detail-panel,
[data-device-ui="mobile"] .taptools-concepts-location-detail {
    padding: 1rem 0 0;
}

@media (min-width: 1024px) {
    .taptools-app-frame {
        grid-template-columns: 16.5rem minmax(0, 1fr);
    }

    .taptools-admin-shell {
        grid-template-columns: 220px 1px minmax(0, 1fr);
        align-items: start;
        gap: 1.5rem;
    }

    .taptools-auth-split {
        grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
    }

    .taptools-inset {
        margin: 0 0 0.95rem 0.95rem;
        overflow: hidden;
    }

    .taptools-admin-nav {
        position: sticky;
        top: 0;
    }
}

@media (max-width: 1023px) {
    .taptools-sidebar {
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .taptools-inset {
        margin-top: 0.75rem;
        margin-bottom: 0.75rem;
    }

    .taptools-header-description {
        white-space: normal;
    }

    .taptools-admin-nav {
        padding-top: 0;
        padding-bottom: 1rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .taptools-admin-shell-divider {
        width: 100%;
        height: 1px;
        margin: 0;
    }

    .taptools-users-body {
        grid-template-columns: 1fr;
    }

    .taptools-users-vertical-divider {
        width: 100%;
        height: 1px;
    }

    .taptools-tools-body {
        grid-template-columns: 1fr;
    }

    .taptools-tools-vertical-divider {
        width: 100%;
        height: 1px;
    }

    .taptools-users-list-panel {
        padding-right: 0;
        padding-bottom: 1.5rem;
    }

    .taptools-users-detail-panel {
        padding-left: 0;
        padding-top: 1.5rem;
    }

    .taptools-tools-list-panel {
        padding-right: 0;
        padding-bottom: 1.5rem;
    }

    .taptools-tools-detail-panel {
        padding-left: 0;
        padding-top: 1.5rem;
    }

    .taptools-concepts-detail-grid {
        grid-template-columns: 1fr;
    }

    .taptools-concepts-location-list {
        padding-right: 0;
        padding-bottom: 1.5rem;
    }

    .taptools-concepts-location-detail {
        padding-left: 0;
        padding-top: 1.5rem;
    }
}

::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.03);
}

::-webkit-scrollbar-thumb {
    border: 3px solid transparent;
    border-radius: 999px;
    background: rgba(143, 162, 188, 0.35);
    background-clip: padding-box;
}
