:root {
    color-scheme: dark;
    --pm-font-sans: "Plus Jakarta Sans", "Segoe UI", sans-serif;
    --pm-font-display: "Space Grotesk", "Plus Jakarta Sans", sans-serif;
    --pm-radius-sm: 14px;
    --pm-radius-md: 20px;
    --pm-radius-lg: 28px;
    --pm-radius-pill: 999px;
    --pm-shadow-soft: 0 24px 60px rgba(0, 0, 0, 0.3);
    --pm-shadow-glow: 0 0 0 1px rgba(5, 231, 242, 0.18), 0 20px 60px rgba(4, 219, 246, 0.12);
    --pm-transition: 220ms ease;
}

html[data-theme="dark"] {
    color-scheme: dark;
    --pm-bg: #05070b;
    --pm-bg-secondary: #081019;
    --pm-panel: rgba(10, 16, 24, 0.92);
    --pm-panel-soft: rgba(14, 24, 36, 0.78);
    --pm-panel-strong: #111b26;
    --pm-sidebar: rgba(8, 12, 19, 0.95);
    --pm-border: rgba(5, 231, 242, 0.16);
    --pm-border-strong: rgba(5, 231, 242, 0.35);
    --pm-text: #eef7ff;
    --pm-text-soft: #b3c4d8;
    --pm-muted: #8ca2b8;
    --pm-accent: #06e7f2;
    --pm-accent-strong: #14c5f5;
    --pm-accent-soft: rgba(6, 231, 242, 0.14);
    --pm-success: #35d39a;
    --pm-warning: #f4c15d;
    --pm-danger: #ff7d8f;
}

html[data-theme="light"] {
    color-scheme: light;
    --pm-bg: #f4fbff;
    --pm-bg-secondary: #eaf6fb;
    --pm-panel: rgba(255, 255, 255, 0.92);
    --pm-panel-soft: rgba(239, 250, 253, 0.92);
    --pm-panel-strong: #ffffff;
    --pm-sidebar: rgba(237, 250, 253, 0.97);
    --pm-border: rgba(5, 153, 171, 0.16);
    --pm-border-strong: rgba(5, 153, 171, 0.32);
    --pm-text: #102030;
    --pm-text-soft: #30465d;
    --pm-muted: #5c7388;
    --pm-accent: #029fb8;
    --pm-accent-strong: #047fe1;
    --pm-accent-soft: rgba(4, 127, 225, 0.08);
    --pm-success: #12936d;
    --pm-warning: #b57a00;
    --pm-danger: #d13a67;
}

html,
body {
    min-height: 100%;
}

body.pm-body {
    position: relative;
    background:
        radial-gradient(circle at top left, rgba(4, 219, 246, 0.18), transparent 28%),
        radial-gradient(circle at 85% 0%, rgba(7, 127, 225, 0.12), transparent 24%),
        linear-gradient(180deg, var(--pm-bg) 0%, var(--pm-bg-secondary) 100%);
    color: var(--pm-text);
    font-family: var(--pm-font-sans);
}

body.pm-body::before {
    content: "";
    position: fixed;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent 92%);
    pointer-events: none;
    opacity: 0.45;
    z-index: 0;
}

.pm-dashboard-shell,
.pm-public-header,
.master-breadcrumb,
#main-body,
.pm-footer,
.domain-search-form-wrapper {
    position: relative;
    z-index: 1;
}

body,
button,
input,
select,
textarea {
    font-family: var(--pm-font-sans);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    color: var(--pm-text);
    font-family: var(--pm-font-display);
    letter-spacing: -0.03em;
}

p,
small,
.text-muted,
.text-light {
    color: var(--pm-text-soft) !important;
}

a {
    color: var(--pm-accent-strong);
    transition: color var(--pm-transition), opacity var(--pm-transition), transform var(--pm-transition);
}

a:hover {
    color: var(--pm-accent);
    text-decoration: none;
}

.logo-img {
    max-height: 36px;
}

.btn {
    border-radius: var(--pm-radius-pill);
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: transform var(--pm-transition), box-shadow var(--pm-transition), border-color var(--pm-transition), background var(--pm-transition);
}

.btn:hover {
    transform: translateY(-1px);
}

.btn-primary,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:focus,
.btn-primary.focus {
    background: linear-gradient(135deg, var(--pm-accent) 0%, var(--pm-accent-strong) 100%);
    border-color: transparent;
    box-shadow: 0 14px 30px rgba(4, 219, 246, 0.24);
    color: #031018;
}

.btn-default,
.btn-outline-primary,
.btn-outline-secondary {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--pm-border);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    color: var(--pm-text);
}

.btn-default:hover,
.btn-outline-primary:hover,
.btn-outline-secondary:hover {
    background: var(--pm-accent-soft);
    border-color: var(--pm-border-strong);
    color: var(--pm-text);
}

.badge,
.pm-counter {
    background: linear-gradient(135deg, var(--pm-accent) 0%, var(--pm-accent-strong) 100%);
    color: #041018;
    border-radius: var(--pm-radius-pill);
    font-weight: 800;
}

.card,
.modal-content,
.dropdown-menu,
.list-group-item,
.domain-checker-container,
.sidebar .card,
.alert,
.well {
    background: var(--pm-panel);
    border: 1px solid var(--pm-border);
    box-shadow: var(--pm-shadow-soft);
    color: var(--pm-text);
}

.card,
.modal-content,
.well {
    border-radius: var(--pm-radius-lg);
}

.card-header,
.card-footer,
.modal-header,
.modal-footer {
    background: transparent;
    border-color: var(--pm-border);
}

.list-group-item {
    border-left: 0;
    border-right: 0;
}

.list-group-item.active,
.list-group-item:hover {
    background: linear-gradient(135deg, var(--pm-accent-soft) 0%, rgba(255, 255, 255, 0.02) 100%);
    border-color: var(--pm-border-strong);
    color: var(--pm-text);
}

.form-control,
.custom-select,
.input-group-text,
.form-control:focus,
.custom-select:focus {
    background: var(--pm-panel-soft);
    border: 1px solid var(--pm-border);
    border-radius: var(--pm-radius-pill);
    box-shadow: none;
    color: var(--pm-text);
}

.form-control::placeholder,
.custom-select::placeholder {
    color: var(--pm-muted);
}

.input-group.search .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group.search .form-control {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.table,
.table th,
.table td {
    color: var(--pm-text);
    border-color: var(--pm-border) !important;
}

.table thead th {
    color: var(--pm-muted);
}

.pagination > li > a,
.pagination > li > span,
.page-link {
    background: var(--pm-panel);
    border-color: var(--pm-border);
    color: var(--pm-text);
}

.pagination > .active > a,
.pagination > .active > span,
.page-item.active .page-link {
    background: linear-gradient(135deg, var(--pm-accent) 0%, var(--pm-accent-strong) 100%);
    border-color: transparent;
    color: #041018;
}

.alert-success {
    border-color: rgba(53, 211, 154, 0.3);
}

.alert-warning {
    border-color: rgba(244, 193, 93, 0.3);
}

.alert-danger {
    border-color: rgba(255, 125, 143, 0.3);
}

.header,
.main-navbar-wrapper,
.navbar,
.topbar,
.master-breadcrumb,
.footer {
    background: transparent;
}

.pm-public-header {
    padding: 1.15rem 0 0;
}

.pm-public-navbar .container,
.pm-public-menu .container {
    background: var(--pm-panel);
    border: 1px solid var(--pm-border);
    border-radius: var(--pm-radius-lg);
    box-shadow: var(--pm-shadow-glow);
}

.pm-public-navbar .container {
    padding: 1rem 1.25rem;
}

.pm-public-menu .container {
    margin-top: 0.85rem;
    padding: 0.4rem 1rem;
}

.pm-public-menu .navbar-nav > li > a,
.pm-public-navbar .nav-link,
.pm-public-navbar .navbar-brand,
.pm-public-menu .dropdown-item {
    color: var(--pm-text) !important;
}

.pm-public-menu .navbar-nav > li > a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 0.7rem 1rem !important;
    border-radius: 14px;
    font-weight: 700;
}

.pm-public-menu .navbar-nav > li > a:hover,
.pm-public-menu .navbar-nav > li.open > a,
.pm-public-menu .navbar-nav > li.active > a {
    background: var(--pm-accent-soft);
}

.pm-brand,
.navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    font-family: var(--pm-font-display);
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--pm-text);
}

.pm-brand__mark {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    background: linear-gradient(135deg, var(--pm-accent) 0%, var(--pm-accent-strong) 100%);
    box-shadow: 0 0 24px rgba(4, 219, 246, 0.5);
}

.pm-dashboard-shell {
    min-height: 100vh;
}

.pm-dashboard-sidebar {
    position: fixed;
    top: 1rem;
    bottom: 1rem;
    left: 1rem;
    width: 300px;
    z-index: 1040;
}

.pm-sidebar-panel {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 1.25rem;
    background: var(--pm-sidebar);
    border: 1px solid var(--pm-border);
    border-radius: 32px;
    box-shadow: var(--pm-shadow-glow);
    backdrop-filter: blur(18px);
}

.pm-sidebar-label {
    margin: 0 0 0.7rem;
    color: var(--pm-muted);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.pm-sidebar-section {
    min-height: 0;
    flex: 0 0 auto;
}

.pm-side-nav {
    gap: 0.5rem;
}

.pm-side-nav > li {
    width: 100%;
}

.pm-side-nav > li > a {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    width: 100%;
    min-height: 52px;
    padding: 0.85rem 1rem !important;
    border: 1px solid transparent;
    border-radius: 18px;
    color: var(--pm-text-soft) !important;
    font-weight: 700;
}

.pm-side-nav > li > a:hover,
.pm-side-nav > li.active > a,
.pm-side-nav > li.open > a,
.pm-side-nav > li > a[aria-expanded="true"] {
    background: linear-gradient(135deg, var(--pm-accent-soft) 0%, rgba(255, 255, 255, 0.02) 100%);
    border-color: var(--pm-border-strong);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
    color: var(--pm-text) !important;
}

.pm-side-nav .dropdown-menu {
    position: static !important;
    inset: auto !important;
    display: block;
    float: none;
    min-width: 100%;
    margin-top: 0.45rem;
    padding: 0.55rem;
    transform: none !important;
    background: var(--pm-panel-soft);
    border-radius: 18px;
    box-shadow: none;
}

.pm-side-nav .dropdown-item {
    border-radius: 14px;
    color: var(--pm-text-soft) !important;
    font-weight: 600;
    white-space: normal;
}

.pm-side-nav .dropdown-item:hover {
    background: var(--pm-accent-soft);
    color: var(--pm-text) !important;
}

.pm-side-nav .collapsable-dropdown {
    display: none !important;
}

.pm-sidebar-footer {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-top: auto;
    padding-top: 0.4rem;
    border-top: 1px solid var(--pm-border);
}

.pm-theme-toggle,
.pm-icon-button,
.pm-ghost-link,
.pm-search-form,
.pm-account-chip {
    border: 1px solid var(--pm-border);
    background: var(--pm-panel-soft);
    border-radius: var(--pm-radius-pill);
    color: var(--pm-text);
    transition: transform var(--pm-transition), background var(--pm-transition), border-color var(--pm-transition), box-shadow var(--pm-transition);
}

.pm-theme-toggle,
.pm-ghost-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    min-height: 46px;
    padding: 0 1rem;
    font-size: 0.92rem;
    font-weight: 700;
}

.pm-ghost-link:hover,
.pm-theme-toggle:hover,
.pm-icon-button:hover,
.pm-search-form:focus-within,
.pm-account-chip:hover {
    background: var(--pm-accent-soft);
    border-color: var(--pm-border-strong);
    box-shadow: 0 0 0 4px rgba(4, 219, 246, 0.08);
    color: var(--pm-text);
}

.pm-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
}

.pm-dashboard-main {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin-left: 334px;
    padding: 1rem;
    width: auto;
}

.pm-dashboard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 0 1.2rem;
}

.pm-dashboard-header__left,
.pm-dashboard-header__right {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.pm-page-meta__eyebrow {
    display: block;
    color: var(--pm-muted);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pm-page-meta__title {
    display: block;
    color: var(--pm-text);
    font-family: var(--pm-font-display);
    font-size: 1.35rem;
    font-weight: 700;
}

.pm-search-form {
    display: flex;
    align-items: center;
    min-width: 280px;
    padding: 0 0.55rem;
}

.pm-search-form__button {
    border: 0;
    background: transparent;
    color: var(--pm-muted);
}

.pm-search-form__input {
    flex: 1;
    min-height: 44px;
    border: 0;
    background: transparent;
    color: var(--pm-text);
    outline: 0;
}

.pm-account-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.4rem 0.45rem 0.4rem 0.9rem;
}

.pm-account-chip__copy {
    display: flex;
    flex-direction: column;
}

.pm-account-chip__copy span {
    color: var(--pm-muted);
    font-size: 0.75rem;
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.pm-account-chip__copy strong {
    color: var(--pm-text);
    font-size: 0.96rem;
}

.pm-account-chip__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.pm-counter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 0.4rem;
    font-size: 0.72rem;
}

.pm-dashboard-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(5, 8, 12, 0.58);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--pm-transition);
    z-index: 1030;
}

.master-breadcrumb {
    padding: 0 0 1rem;
}

.master-breadcrumb .container,
.master-breadcrumb .container-fluid {
    padding-left: 0;
    padding-right: 0;
}

.breadcrumb,
.breadcrumb-item + .breadcrumb-item::before {
    background: transparent;
    color: var(--pm-muted);
}

.breadcrumb {
    margin-bottom: 0;
    padding: 0.6rem 0.4rem;
}

#main-body {
    flex: 1;
}

.pm-main-body-container {
    padding-left: 0;
    padding-right: 0;
}

body.pm-body--client .primary-content {
    width: 100%;
    max-width: 100%;
}

body.pm-body--client #main-body {
    width: 100%;
}

body.pm-body--client .pm-footer {
    margin-top: 1.5rem;
    padding: 1.25rem;
    background:
        linear-gradient(180deg, rgba(4, 219, 246, 0.06), rgba(4, 219, 246, 0.015)),
        var(--pm-panel) !important;
    border: 1px solid var(--pm-border);
    border-radius: 32px;
    box-shadow: var(--pm-shadow-glow);
}

body.pm-body--client .domain-search-form-wrapper,
body.pm-body--client .pm-homepage {
    display: none !important;
}

body.pm-body--client .pm-dashboard-main > .pm-footer {
    width: 100%;
    align-self: stretch;
    clear: both;
}

body.pm-body--client .pm-footer > .container-fluid,
body.pm-body--client .pm-footer > .container {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

body.pm-body--client .pm-footer-grid {
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

body.pm-body--client .pm-footer-bottom {
    padding: 1rem 0 0;
    border-top: 1px solid var(--pm-border);
}

body.pm-body--client .pm-footer .copyright,
body.pm-body--client .pm-footer-bottom,
body.pm-body--client .pm-footer-bottom .btn,
body.pm-body--client .pm-footer-links a,
body.pm-body--client .pm-footer-copy,
body.pm-body--client .pm-footer-heading {
    color: var(--pm-text-soft) !important;
}

body.pm-body--client .pm-footer-heading,
body.pm-body--client .pm-footer-brand,
body.pm-body--client .pm-footer-brand .pm-brand__text {
    color: var(--pm-text) !important;
}

body.pm-body--client .pm-footer .btn-default {
    background: var(--pm-panel-soft);
    border-color: var(--pm-border);
}

body.pm-body--client .sidebar .card-sidebar,
body.pm-body--client .card-sidebar {
    overflow: hidden;
}

.pm-dashboard-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
    padding: 2rem;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(4, 219, 246, 0.08), rgba(4, 219, 246, 0.02)),
        var(--pm-panel);
    border: 1px solid var(--pm-border-strong);
    border-radius: 30px;
    box-shadow: var(--pm-shadow-glow);
}

.pm-dashboard-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 28px 28px;
    opacity: 0.22;
    pointer-events: none;
}

.pm-dashboard-hero > * {
    position: relative;
    z-index: 1;
}

.pm-dashboard-hero__eyebrow {
    display: inline-block;
    margin-bottom: 0.8rem;
    color: var(--pm-accent);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.pm-dashboard-hero h2 {
    margin-bottom: 0.7rem;
    font-size: clamp(2rem, 5vw, 3rem);
}

.pm-dashboard-hero p {
    max-width: 680px;
    margin: 0;
    font-size: 1rem;
}

.pm-dashboard-hero__actions {
    display: flex;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.pm-homepage {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.pm-landing-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 1.5rem;
    padding: 2rem;
    background:
        linear-gradient(180deg, rgba(4, 219, 246, 0.08), rgba(4, 219, 246, 0.02)),
        var(--pm-panel);
    border: 1px solid var(--pm-border-strong);
    border-radius: 32px;
    box-shadow: var(--pm-shadow-glow);
}

.pm-landing-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.pm-landing-badge,
.pm-section-heading__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    width: fit-content;
    padding: 0.45rem 0.85rem;
    background: var(--pm-accent-soft);
    border: 1px solid var(--pm-border);
    border-radius: var(--pm-radius-pill);
    color: var(--pm-accent);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pm-landing-hero h1 {
    margin: 1rem 0 0.85rem;
    font-size: clamp(2.6rem, 6vw, 4.7rem);
    line-height: 0.98;
}

.pm-landing-hero p {
    max-width: 680px;
    margin-bottom: 1.25rem;
    font-size: 1.05rem;
}

.pm-landing-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.pm-landing-kpis {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.5rem;
}

.pm-landing-kpi {
    min-width: 170px;
    padding: 1rem 1.1rem;
    background: var(--pm-panel-soft);
    border: 1px solid var(--pm-border);
    border-radius: 20px;
}

.pm-landing-kpi span {
    display: block;
    margin-bottom: 0.55rem;
    color: var(--pm-accent);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.pm-landing-kpi strong {
    color: var(--pm-text);
    font-size: 0.95rem;
}

.pm-landing-surface {
    display: grid;
    gap: 1rem;
}

.pm-landing-surface__panel,
.pm-landing-mini-card,
.pm-product-card,
.pm-action-card,
.pm-cta-banner,
.pm-login-spotlight,
.pm-login-card,
.pm-login-mini-card {
    background: linear-gradient(180deg, var(--pm-panel) 0%, var(--pm-panel-soft) 100%);
    border: 1px solid var(--pm-border);
    box-shadow: var(--pm-shadow-soft);
}

.pm-landing-surface__panel {
    padding: 1.4rem;
    border-radius: 26px;
}

.pm-landing-surface__eyebrow {
    display: inline-block;
    margin-bottom: 0.65rem;
    color: var(--pm-muted);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pm-landing-surface__panel h3 {
    margin-bottom: 0.8rem;
    font-size: 1.35rem;
}

.pm-landing-list {
    margin: 0;
    padding-left: 1.2rem;
    color: var(--pm-text-soft);
}

.pm-landing-list li + li {
    margin-top: 0.55rem;
}

.pm-landing-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.pm-landing-mini-card {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 1.25rem;
    border-radius: 22px;
}

.pm-landing-mini-card i {
    color: var(--pm-accent);
    font-size: 1.15rem;
}

.pm-landing-mini-card strong {
    color: var(--pm-text);
}

.pm-landing-mini-card span {
    color: var(--pm-text-soft);
    font-size: 0.92rem;
}

.pm-landing-section {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pm-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

.pm-section-heading h2 {
    margin: 0.8rem 0 0;
    font-size: clamp(1.7rem, 4vw, 2.4rem);
}

.pm-section-heading p {
    max-width: 520px;
    margin: 0;
}

.pm-product-card {
    height: 100%;
    border-radius: 26px;
}

.pm-product-card .card-body,
.pm-product-card .card-footer {
    padding: 1.4rem;
}

.pm-product-card__tag {
    display: inline-flex;
    margin-bottom: 0.85rem;
    padding: 0.35rem 0.75rem;
    background: var(--pm-accent-soft);
    border-radius: var(--pm-radius-pill);
    color: var(--pm-accent);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pm-product-card .card-title {
    margin-bottom: 0.65rem;
    font-size: 1.3rem;
}

.pm-action-card {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    min-height: 100%;
    padding: 1.4rem;
    border-radius: 24px;
    color: var(--pm-text);
}

.pm-action-card:hover {
    transform: translateY(-3px);
    border-color: var(--pm-border-strong);
    box-shadow: var(--pm-shadow-glow);
    color: var(--pm-text);
}

.pm-action-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    margin: 0;
    border-radius: 18px;
    background: var(--pm-accent-soft);
    color: var(--pm-accent);
    font-size: 1.35rem;
}

.pm-action-card strong {
    color: var(--pm-text);
    font-size: 1.05rem;
}

.pm-action-card span {
    color: var(--pm-text-soft);
}

.pm-action-card--account {
    background:
        linear-gradient(180deg, rgba(4, 219, 246, 0.06), rgba(4, 219, 246, 0.01)),
        linear-gradient(180deg, var(--pm-panel) 0%, var(--pm-panel-soft) 100%);
}

.pm-cta-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.6rem 1.7rem;
    border-radius: 28px;
}

.pm-cta-banner h2 {
    margin: 0.75rem 0 0;
    font-size: clamp(1.5rem, 4vw, 2.1rem);
}

.pm-cta-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.pm-login-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    gap: 1.5rem;
    align-items: stretch;
    padding: 1rem 0 2rem;
}

.pm-login-spotlight,
.pm-login-card {
    border-radius: 30px;
}

.pm-login-spotlight {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.4rem;
    padding: 2rem;
}

.pm-login-spotlight h1 {
    margin: 1rem 0 0.8rem;
    font-size: clamp(2.3rem, 5vw, 3.9rem);
}

.pm-login-spotlight p {
    max-width: 560px;
    margin-bottom: 0;
}

.pm-login-feature-list {
    display: grid;
    gap: 0.9rem;
}

.pm-login-feature {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 0.9rem;
    align-items: start;
    padding: 1rem 1.1rem;
    background: var(--pm-panel-soft);
    border: 1px solid var(--pm-border);
    border-radius: 22px;
}

.pm-login-feature i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    background: var(--pm-accent-soft);
    border-radius: 16px;
    color: var(--pm-accent);
}

.pm-login-feature strong {
    display: block;
    margin-bottom: 0.3rem;
    color: var(--pm-text);
}

.pm-login-feature span {
    color: var(--pm-text-soft);
    font-size: 0.94rem;
}

.pm-login-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.pm-login-mini-card {
    padding: 1rem;
    border-radius: 20px;
}

.pm-login-mini-card span {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--pm-muted);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pm-login-mini-card strong {
    color: var(--pm-text);
}

.pm-login-panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    position: relative;
    isolation: isolate;
}

.pm-login-form,
.pm-login-form .pm-login-card {
    height: auto;
}

.pm-login-form,
.pm-login-card,
.pm-login-actions,
.pm-login-actions .btn,
.pm-login-card .card-footer,
.pm-login-card .card-footer a,
.pm-login-card .card-footer small,
.providerLinkingFeedback,
.providerPreLinking,
.pm-register-panel,
.pm-register-panel #registration,
.pm-register-form,
.pm-register-form .card,
.pm-register-submit,
.pm-register-submit .btn,
.pm-register-submit input[type="submit"] {
    position: relative;
    z-index: 5;
    pointer-events: auto;
}

.pm-login-card .card-body,
.pm-login-card .card-footer {
    position: relative;
    z-index: 1;
}

.pm-login-card .card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.pm-form-shell .input-group-text,
.pm-form-shell .form-control,
.pm-form-shell .btn {
    background: transparent;
    border-color: transparent;
}

.pm-form-shell {
    background: var(--pm-panel-soft);
    border: 1px solid var(--pm-border);
    border-radius: var(--pm-radius-pill);
}

.pm-login-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.4rem;
}

.pm-login-actions .btn,
.pm-login-card .card-footer a,
.pm-register-submit .btn,
.pm-register-submit input[type="submit"] {
    touch-action: manipulation;
}

.pm-login-remember {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: var(--pm-text-soft);
    font-weight: 600;
}

.pm-login-remember .form-check-input {
    position: static;
    margin: 0;
}

.pm-register-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.95fr);
    gap: 1.5rem;
    align-items: start;
    padding: 1rem 0 2rem;
}

.pm-register-spotlight,
.pm-register-mini-card,
.pm-store-order-hero,
.pm-store-order-hero__meta-card {
    background: linear-gradient(180deg, var(--pm-panel) 0%, var(--pm-panel-soft) 100%);
    border: 1px solid var(--pm-border);
    box-shadow: var(--pm-shadow-soft);
}

.pm-register-spotlight {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 2rem;
    border-radius: 30px;
}

.pm-register-spotlight h1 {
    margin: 0.95rem 0 0.8rem;
    font-size: clamp(2.3rem, 5vw, 3.9rem);
}

.pm-register-feature-list {
    display: grid;
    gap: 0.9rem;
}

.pm-register-feature {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 0.9rem;
    align-items: start;
    padding: 1rem 1.05rem;
    background: var(--pm-panel-soft);
    border: 1px solid var(--pm-border);
    border-radius: 22px;
}

.pm-register-feature i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: var(--pm-accent-soft);
    color: var(--pm-accent);
}

.pm-register-feature strong {
    display: block;
    margin-bottom: 0.3rem;
    color: var(--pm-text);
}

.pm-register-feature span {
    color: var(--pm-text-soft);
    font-size: 0.94rem;
}

.pm-register-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.pm-register-mini-card {
    padding: 1rem;
    border-radius: 20px;
}

.pm-register-mini-card span {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--pm-muted);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pm-register-mini-card strong {
    color: var(--pm-text);
}

.pm-register-panel #registration .card {
    overflow: hidden;
}

.pm-register-panel #registration .card-title {
    margin-bottom: 1rem;
}

.pm-register-panel #registration .prepend-icon {
    position: relative;
}

.pm-register-panel #registration .field-icon {
    position: absolute;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
    color: var(--pm-muted);
    z-index: 2;
}

.pm-register-panel #registration .field,
.pm-register-panel #registration .form-control,
.pm-register-panel #registration select {
    min-height: 52px;
    padding-left: 3rem;
}

.pm-register-panel #registration #state,
.pm-register-panel #registration #inputCountry,
.pm-register-panel #registration #inputCurrency,
.pm-register-panel #registration #inputSecurityQId {
    padding-left: 3rem;
}

.pm-register-tos {
    margin-top: 1rem;
}

.pm-register-submit {
    margin-top: 1rem;
}

.pm-register-submit input[type="submit"] {
    min-height: 54px;
    min-width: min(100%, 320px);
}

.captcha-overlay-badge {
    z-index: 4 !important;
}

.pm-store-order-page {
    padding-bottom: 1rem;
}

.pm-store-order-shell {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.pm-store-order-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 1rem;
    padding: 1.7rem;
    border-radius: 30px;
}

.pm-store-order-hero h1 {
    margin: 0.8rem 0 0.7rem;
    font-size: clamp(2rem, 4vw, 3rem);
}

.pm-store-order-hero p {
    margin: 0;
}

.pm-store-order-hero__meta {
    display: grid;
    gap: 0.85rem;
}

.pm-store-order-hero__meta-card {
    padding: 1rem 1.1rem;
    border-radius: 20px;
}

.pm-store-order-hero__meta-card span {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--pm-muted);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pm-store-order-hero__meta-card strong {
    color: var(--pm-text);
}

.pm-store-order-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pm-store-order-intro,
.pm-store-domain-panel,
.pm-store-config-card,
.pm-store-upsell {
    background: linear-gradient(180deg, var(--pm-panel) 0%, var(--pm-panel-soft) 100%);
    border: 1px solid var(--pm-border);
    border-radius: 26px;
    box-shadow: var(--pm-shadow-soft);
}

.pm-store-order-intro {
    padding: 1.5rem;
    margin: 0;
}

.pm-store-order-title {
    margin-bottom: 0.7rem;
}

.pm-store-order-pricing {
    padding: 1.2rem;
    background: var(--pm-panel-soft);
    border: 1px solid var(--pm-border);
    border-radius: 22px;
}

.pm-store-domain-panel {
    padding: 1.25rem;
}

.pm-store-order-actions {
    align-items: center;
    margin-top: 0.2rem;
}

.pm-store-upsell {
    overflow: hidden;
}

.pm-stat-row {
    margin-bottom: 1rem;
}

.pm-stat-card {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    height: 100%;
    padding: 1.4rem;
    background: linear-gradient(180deg, var(--pm-panel) 0%, var(--pm-panel-soft) 100%);
    border: 1px solid var(--pm-border);
    border-radius: 24px;
    box-shadow: var(--pm-shadow-soft);
    color: var(--pm-text);
}

.pm-stat-card:hover {
    transform: translateY(-3px);
    border-color: var(--pm-border-strong);
    box-shadow: var(--pm-shadow-glow);
    color: var(--pm-text);
}

.pm-stat-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: var(--pm-accent-soft);
    color: var(--pm-accent);
    font-size: 1.2rem;
}

.pm-stat-card__label {
    color: var(--pm-muted);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pm-stat-card__value {
    color: var(--pm-text);
    font-family: var(--pm-font-display);
    font-size: 2rem;
    line-height: 1;
}

.pm-stat-card__hint {
    color: var(--pm-text-soft);
    font-size: 0.95rem;
}

.pm-home-panels .card,
.pm-home-panel {
    margin-bottom: 1.25rem;
    overflow: hidden;
    border-radius: 26px;
}

.pm-home-panel .card-header {
    padding: 1.25rem 1.4rem 1rem;
}

.pm-home-panel .card-body,
.pm-home-panel .card-footer,
.pm-home-panel .list-group-item {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
}

.pm-home-panel .card-title {
    font-size: 1.1rem;
}

.pm-addon-slot {
    margin-bottom: 1rem;
}

.tiles .tile,
.action-icon-btns a,
.card-columns.home .card {
    background: linear-gradient(180deg, var(--pm-panel) 0%, var(--pm-panel-soft) 100%);
    border: 1px solid var(--pm-border);
    border-radius: 24px;
    box-shadow: var(--pm-shadow-soft);
}

.tiles .tile {
    min-height: 180px;
}

.tiles .tile .stat,
.action-icon-btns a,
.tile .title {
    color: var(--pm-text);
}

.action-icon-btns a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    min-height: 190px;
    padding: 1.25rem;
    color: var(--pm-text);
    text-align: center;
}

.action-icon-btns .ico-container {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    border-radius: 18px;
    background: var(--pm-accent-soft);
    color: var(--pm-accent);
    font-size: 1.4rem;
}

.domain-checker-container,
.domain-search-form-wrapper {
    border-radius: 30px;
    overflow: hidden;
}

.pm-footer {
    padding: 1.5rem 0 2rem;
}

.pm-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    padding: 1.5rem;
    background: var(--pm-panel);
    border: 1px solid var(--pm-border);
    border-radius: 30px;
    box-shadow: var(--pm-shadow-soft);
}

.pm-footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 0.8rem;
    font-family: var(--pm-font-display);
    font-weight: 700;
}

.pm-footer-heading {
    margin-bottom: 0.75rem;
    color: var(--pm-muted);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.pm-footer-copy {
    max-width: 480px;
    margin-bottom: 0;
}

.pm-footer-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pm-footer-links li + li {
    margin-top: 0.55rem;
}

.pm-footer-links a {
    color: var(--pm-text-soft);
}

.pm-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: 0 0.4rem;
}

.pm-footer-bottom .btn {
    min-height: 42px;
}

.modal-localisation .item,
.item-selector .item {
    display: block;
    padding: 0.85rem 1rem;
    background: var(--pm-panel-soft);
    border: 1px solid var(--pm-border);
    border-radius: 18px;
    color: var(--pm-text);
}

.modal-localisation .item.active,
.item-selector .item.active {
    background: var(--pm-accent-soft);
    border-color: var(--pm-border-strong);
}

.client-alerts li a {
    color: var(--pm-text);
}

.popover {
    background: var(--pm-panel);
    border: 1px solid var(--pm-border);
    border-radius: 22px;
    box-shadow: var(--pm-shadow-soft);
}

.popover .popover-body,
.popover .list-group-item {
    color: var(--pm-text);
}

.btn-return-to-admin {
    background: linear-gradient(135deg, var(--pm-warning) 0%, #ffd68c 100%);
    border-color: transparent;
    color: #271200;
}

@media (max-width: 1399.98px) {
    .pm-dashboard-sidebar {
        width: 280px;
    }

    .pm-dashboard-main {
        margin-left: 314px;
    }

    .pm-dashboard-header__right {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
}

@media (max-width: 1199.98px) {
    .pm-dashboard-sidebar {
        transform: translateX(calc(-100% - 1rem));
        transition: transform var(--pm-transition);
    }

    body.pm-sidebar-open .pm-dashboard-sidebar {
        transform: translateX(0);
    }

    .pm-dashboard-main {
        margin-left: 0;
    }

    body.pm-sidebar-open .pm-dashboard-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .pm-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pm-landing-hero,
    .pm-login-layout,
    .pm-register-layout,
    .pm-store-order-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .pm-dashboard-hero,
    .pm-footer-bottom,
    .pm-dashboard-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .pm-dashboard-header__left,
    .pm-dashboard-header__right {
        width: 100%;
    }

    .pm-dashboard-header__right {
        justify-content: flex-start;
    }

    .pm-search-form {
        width: 100%;
        min-width: 0;
    }

    .pm-account-chip {
        width: 100%;
        justify-content: space-between;
    }

    .pm-section-heading,
    .pm-cta-banner,
    .pm-login-actions,
    .pm-login-card .card-footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .pm-landing-mini-grid,
    .pm-login-mini-grid,
    .pm-register-mini-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .pm-public-navbar .container,
    .pm-public-menu .container,
    .pm-sidebar-panel,
    .pm-dashboard-hero,
    .pm-footer-grid,
    .card,
    .modal-content {
        border-radius: 24px;
    }

    .pm-dashboard-main {
        padding: 0.85rem;
    }

    .pm-footer-grid {
        grid-template-columns: 1fr;
    }

    .pm-landing-hero,
    .pm-login-spotlight,
    .pm-login-card .card-body,
    .pm-register-spotlight,
    .pm-store-order-hero {
        padding: 1.5rem;
    }

    .pm-dashboard-hero {
        padding: 1.5rem;
    }

    .pm-dashboard-hero h2 {
        font-size: 2rem;
    }

    .pm-stat-card {
        padding: 1.2rem;
    }

    .pm-landing-kpis {
        flex-direction: column;
    }

    .pm-store-order-actions {
        row-gap: 0.9rem;
    }
}
