:root {
    --papiw-radius: 14px;
    --papiw-radius-sm: 10px;
    --papiw-border: rgba(148, 163, 184, .16);
}

body {
    min-height: 100vh;
}

.papiw-sidebar {
    min-height: calc(100vh - 130px);
}

.papiw-sidebar .offcanvas-body {
    min-height: calc(100vh - 150px);
}

.papiw-console-label {
    padding: 14px 14px 4px;
}

.papiw-sidebar .nav-link {
    border-radius: var(--papiw-radius-sm);
    padding: 10px 13px;
    font-weight: 500;
    transition: all .18s ease;
}

.papiw-sidebar .nav-link:hover {
    background: rgba(99, 102, 241, .08);
}

.papiw-sidebar .nav-link.active {
    background: rgba(59, 130, 246, .14);
    font-weight: 600;
}

.papiw-sidebar .icon {
    width: 19px;
    height: 19px;
}

.papiw-sidebar-footer {
    margin: 0 12px;
    padding-left: 4px;
    padding-right: 4px;
    border-top: 1px solid var(--papiw-border);
}

.card {
    border-radius: var(--papiw-radius);
    overflow: hidden;
}

.btn {
    border-radius: 9px;
}

.table {
    vertical-align: middle;
}

.content-block {
    padding-bottom: 24px;
}

@media (max-width: 767.98px) {
    .papiw-sidebar {
        min-height: auto;
    }

    .papiw-console-label,
    .papiw-sidebar-footer {
        display: none;
    }
}

/* =========================================
   Papiw Cloud Dashboard
   ========================================= */

.papiw-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 8px 2px 4px;
}

.papiw-hero h1 {
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    font-weight: 700;
    letter-spacing: -.035em;
}

.papiw-stat-card .display-6 {
    line-height: 1;
}

.papiw-service-row {
    text-decoration: none;
    transition: background-color .16s ease;
}

.papiw-service-row:hover {
    background: rgba(59, 130, 246, .05);
}

@media (max-width: 767.98px) {
    .papiw-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .papiw-hero .btn {
        width: 100%;
    }
}

/* =========================================
   Papiw Cloud Services
   ========================================= */

.papiw-page-header h1 {
    font-weight: 700;
    letter-spacing: -.035em;
}

.papiw-cloud-card {
    transition:
        transform .16s ease,
        border-color .16s ease;
}

.papiw-cloud-card:hover {
    transform: translateY(-1px);
}

.papiw-resource-mini {
    padding: 14px 16px;
    border: 1px solid var(--papiw-border);
    border-radius: 12px;
    height: 100%;
}

.papiw-service-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    font-size: .88rem;
    color: var(--bs-secondary-color);
}

.papiw-provisioning-placeholder {
    padding: 16px;
    border: 1px dashed var(--papiw-border);
    border-radius: 12px;
}

.papiw-cloud-actions {
    width: 190px;
    flex: 0 0 190px;
    padding-left: 22px;
    border-left: 1px solid var(--papiw-border);
}

.papiw-cloud-actions .btn {
    width: 100%;
}

@media (max-width: 991.98px) {
    .papiw-cloud-actions {
        width: 100%;
        flex-basis: auto;
        padding-left: 0;
        padding-top: 18px;
        border-left: 0;
        border-top: 1px solid var(--papiw-border);
    }
}

@media (max-width: 575.98px) {
    .papiw-resource-mini {
        padding: 12px;
    }

    .papiw-resource-mini .fs-5 {
        font-size: 1rem !important;
    }
}

/* =========================================
   Papiw Cloud Billing
   ========================================= */

.papiw-billing-tabs {
    gap: 6px;
}

.papiw-billing-tabs .nav-link {
    border-radius: 9px;
}

.papiw-invoice-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px 150px;
    align-items: center;
    gap: 24px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--papiw-border);
}

.papiw-invoice-row:last-child {
    border-bottom: 0;
}

.papiw-invoice-main {
    min-width: 0;
}

.papiw-invoice-total {
    text-align: right;
}

.papiw-invoice-action .btn {
    width: 100%;
}

.papiw-empty-state {
    padding: 56px 24px;
    text-align: center;
}

@media (max-width: 767.98px) {

    .papiw-invoice-row {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .papiw-invoice-total {
        text-align: left;
    }

}

/* =========================================
   Papiw Cloud Support Center
   ========================================= */

.papiw-ticket-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px;
    align-items: center;
    gap: 24px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--papiw-border);
}

.papiw-ticket-row:last-child {
    border-bottom: 0;
}

.papiw-ticket-main {
    min-width: 0;
}

.papiw-ticket-action .btn {
    width: 100%;
}

@media (max-width: 767.98px) {

    .papiw-ticket-row {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .papiw-ticket-action .btn {
        width: auto;
    }

}

/* =========================================
   Papiw Cloud Ticket Detail
   ========================================= */

.papiw-message-card {
    overflow: hidden;
}

.papiw-message-staff {
    border-color: rgba(59, 130, 246, .35);
}

.papiw-message-staff .card-header {
    background: rgba(59, 130, 246, .06);
}

.papiw-ticket-closed {
    border-style: dashed;
}

.papiw-ticket-detail .markdown-body {
    font-size: .95rem;
    line-height: 1.65;
}

.papiw-ticket-detail .ck-editor__editable {
    min-height: 170px;
}

/* =========================================
   Papiw Cloud Account
   ========================================= */

.papiw-account-tabs {
    gap: 6px;
}

.papiw-account-tabs .nav-link {
    border-radius: 9px;
}

.papiw-account-identity {
    display: flex;
    align-items: center;
    gap: 18px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--papiw-border);
}

.papiw-form-section {
    padding: 24px 0;
    border-bottom: 1px solid var(--papiw-border);
}

.papiw-form-section:last-of-type {
    border-bottom: 0;
}

.papiw-account-panel {
    max-width: 720px;
}

.papiw-account-page .form-control,
.papiw-account-page .form-select {
    min-height: 42px;
}

@media (max-width: 575.98px) {
    .papiw-account-identity {
        align-items: flex-start;
    }
}

/* ============================================================
   PAPIW CLOUD CONSOLE — MATERIAL 3 FOUNDATION v1
   ============================================================ */

:root {
    /* Papiw Cloud M3 Color System */
    --pc-primary: #4f7cff;
    --pc-on-primary: #ffffff;
    --pc-primary-container: #dce5ff;
    --pc-on-primary-container: #001a43;

    --pc-secondary: #526078;
    --pc-on-secondary: #ffffff;
    --pc-secondary-container: #d9e2f9;
    --pc-on-secondary-container: #0e1b2f;

    --pc-tertiary: #006879;
    --pc-on-tertiary: #ffffff;
    --pc-tertiary-container: #a8edff;
    --pc-on-tertiary-container: #001f26;

    --pc-surface: #f8f9ff;
    --pc-surface-dim: #d9dae0;
    --pc-surface-bright: #f8f9ff;

    --pc-surface-container-lowest: #ffffff;
    --pc-surface-container-low: #f2f3f9;
    --pc-surface-container: #eceef4;
    --pc-surface-container-high: #e6e8ee;
    --pc-surface-container-highest: #e1e2e8;

    --pc-on-surface: #191c20;
    --pc-on-surface-variant: #43474e;

    --pc-outline: #74777f;
    --pc-outline-variant: #c4c6d0;

    --pc-error: #ba1a1a;
    --pc-error-container: #ffdad6;

    --pc-success: #146c43;
    --pc-success-container: #b9f4d1;

    /* M3 Shape */
    --pc-radius-xs: 8px;
    --pc-radius-sm: 12px;
    --pc-radius-md: 16px;
    --pc-radius-lg: 20px;
    --pc-radius-xl: 28px;
    --pc-radius-full: 999px;

    /* M3 Elevation */
    --pc-elevation-1:
        0 1px 2px rgba(0, 0, 0, .06),
        0 1px 3px rgba(0, 0, 0, .04);

    --pc-elevation-2:
        0 2px 6px rgba(0, 0, 0, .07),
        0 1px 2px rgba(0, 0, 0, .05);

    --pc-elevation-3:
        0 6px 18px rgba(0, 0, 0, .09);

    /* Compatibility with old Papiw components */
    --papiw-radius: var(--pc-radius-lg);
    --papiw-radius-sm: var(--pc-radius-sm);
    --papiw-border: var(--pc-outline-variant);
}


/* ============================================================
   DARK MATERIAL 3
   ============================================================ */

[data-bs-theme="dark"] {
    --pc-primary: #adc6ff;
    --pc-on-primary: #002e69;
    --pc-primary-container: #17458f;
    --pc-on-primary-container: #d9e5ff;

    --pc-secondary: #bbc6dc;
    --pc-on-secondary: #253044;
    --pc-secondary-container: #3b475c;
    --pc-on-secondary-container: #d7e2f9;

    --pc-tertiary: #84d2e4;
    --pc-on-tertiary: #00363f;
    --pc-tertiary-container: #004e5b;
    --pc-on-tertiary-container: #a7edff;

    --pc-surface: #101318;
    --pc-surface-dim: #101318;
    --pc-surface-bright: #36393e;

    --pc-surface-container-lowest: #0b0e13;
    --pc-surface-container-low: #191c21;
    --pc-surface-container: #1d2025;
    --pc-surface-container-high: #272a2f;
    --pc-surface-container-highest: #32353a;

    --pc-on-surface: #e2e2e9;
    --pc-on-surface-variant: #c4c6d0;

    --pc-outline: #8e9099;
    --pc-outline-variant: #44474f;

    --pc-error: #ffb4ab;
    --pc-error-container: #93000a;

    --pc-success: #84d5a5;
    --pc-success-container: #155b38;

    --papiw-border: var(--pc-outline-variant);
}


/* ============================================================
   GLOBAL APP SURFACE
   ============================================================ */

body {
    background: var(--pc-surface) !important;
    color: var(--pc-on-surface);
    letter-spacing: .005em;
}

main,
.content-block {
    color: var(--pc-on-surface);
}

.text-secondary,
.text-muted,
.form-text {
    color: var(--pc-on-surface-variant) !important;
}


/* ============================================================
   M3 TYPOGRAPHY
   ============================================================ */

h1,
.h1 {
    font-size: clamp(2rem, 3vw, 2.75rem);
    line-height: 1.12;
    font-weight: 600;
    letter-spacing: -.035em;
}

h2,
.h2 {
    font-weight: 600;
    letter-spacing: -.025em;
}

h3,
h4,
h5,
h6 {
    letter-spacing: -.015em;
}

.papiw-page-header {
    padding: 10px 2px 4px;
}

.papiw-page-header h1,
.papiw-hero h1 {
    font-weight: 600;
    letter-spacing: -.04em;
}


/* ============================================================
   M3 SURFACE / CARDS
   ============================================================ */

.card {
    background: var(--pc-surface-container-low) !important;
    color: var(--pc-on-surface);
    border: 1px solid transparent !important;
    border-radius: var(--pc-radius-lg) !important;
    box-shadow: none;
}

.card-header,
.card-footer {
    background: transparent !important;
    border-color: var(--pc-outline-variant) !important;
}

.card-header:first-child {
    border-radius:
        var(--pc-radius-lg)
        var(--pc-radius-lg)
        0 0 !important;
}

.papiw-stat-card {
    background: var(--pc-surface-container) !important;
    min-height: 128px;
    transition:
        background-color .2s ease,
        transform .2s ease;
}

.papiw-stat-card:hover {
    background: var(--pc-surface-container-high) !important;
}

.papiw-stat-card .display-6 {
    font-size: 2.35rem;
    font-weight: 500 !important;
    letter-spacing: -.04em;
}


/* ============================================================
   M3 BUTTONS
   ============================================================ */

.btn {
    min-height: 40px;
    padding: 8px 20px;
    border-radius: var(--pc-radius-full) !important;
    font-weight: 600;
    letter-spacing: .01em;
    border-width: 1px;
    transition:
        background-color .18s ease,
        box-shadow .18s ease,
        transform .12s ease;
}

.btn:active {
    transform: scale(.98);
}

.btn-primary {
    background: var(--pc-primary) !important;
    border-color: var(--pc-primary) !important;
    color: var(--pc-on-primary) !important;
}

.btn-primary:hover {
    box-shadow: var(--pc-elevation-1);
    filter: brightness(.96);
}

.btn-outline-primary {
    background: transparent !important;
    border-color: var(--pc-outline) !important;
    color: var(--pc-primary) !important;
}

.btn-outline-primary:hover {
    background: color-mix(
        in srgb,
        var(--pc-primary) 9%,
        transparent
    ) !important;
}

.btn-outline-secondary,
.btn-secondary {
    border-color: var(--pc-outline) !important;
    border-radius: var(--pc-radius-full) !important;
}


/* ============================================================
   M3 CHIPS / BADGES
   ============================================================ */

.badge {
    padding: 6px 10px;
    border-radius: var(--pc-radius-full);
    font-weight: 600;
    letter-spacing: .015em;
}

.text-bg-success,
.bg-success {
    background: var(--pc-success-container) !important;
    color: var(--pc-success) !important;
}

.text-bg-danger,
.bg-danger {
    background: var(--pc-error-container) !important;
    color: var(--pc-error) !important;
}

.text-bg-primary,
.bg-primary {
    background: var(--pc-primary-container) !important;
    color: var(--pc-on-primary-container) !important;
}

.text-bg-secondary,
.bg-secondary {
    background: var(--pc-secondary-container) !important;
    color: var(--pc-on-secondary-container) !important;
}


/* ============================================================
   M3 NAVIGATION RAIL / SIDEBAR
   ============================================================ */

.papiw-sidebar {
    background: var(--pc-surface-container-low) !important;
    border-radius: var(--pc-radius-xl);
    padding: 8px;
}

.papiw-sidebar .nav {
    gap: 4px;
}

.papiw-sidebar .nav-link {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    border-radius: var(--pc-radius-full);
    color: var(--pc-on-surface-variant);
    font-weight: 500;
}

.papiw-sidebar .nav-link:hover {
    background: var(--pc-surface-container-high) !important;
    color: var(--pc-on-surface);
}

.papiw-sidebar .nav-link.active {
    background: var(--pc-secondary-container) !important;
    color: var(--pc-on-secondary-container) !important;
    font-weight: 600;
}

.papiw-sidebar .nav-link.active .icon {
    color: var(--pc-on-secondary-container);
}

.papiw-console-label {
    padding: 18px 16px 10px;
}

.papiw-sidebar-footer {
    border-color: var(--pc-outline-variant);
}


/* ============================================================
   M3 TABS
   ============================================================ */

.nav-pills {
    gap: 6px;
}

.nav-pills .nav-link {
    min-height: 40px;
    padding: 8px 18px;
    border-radius: var(--pc-radius-full) !important;
    color: var(--pc-on-surface-variant);
    font-weight: 600;
}

.nav-pills .nav-link.active {
    background: var(--pc-secondary-container) !important;
    color: var(--pc-on-secondary-container) !important;
}


/* ============================================================
   M3 FORM CONTROLS
   ============================================================ */

.form-control,
.form-select {
    min-height: 48px !important;
    padding: 11px 14px;
    background-color: transparent !important;
    color: var(--pc-on-surface) !important;
    border: 1px solid var(--pc-outline) !important;
    border-radius: var(--pc-radius-sm) !important;
    box-shadow: none !important;
}

.form-control:hover,
.form-select:hover {
    border-color: var(--pc-on-surface) !important;
}

.form-control:focus,
.form-select:focus {
    border: 2px solid var(--pc-primary) !important;
    padding: 10px 13px;
    box-shadow: none !important;
}

.form-label {
    color: var(--pc-on-surface);
    font-weight: 500;
    margin-bottom: 7px;
}

.form-control::placeholder {
    color: var(--pc-on-surface-variant);
    opacity: .72;
}


/* ============================================================
   M3 RESOURCE CONTAINERS
   ============================================================ */

.papiw-resource-mini {
    background: var(--pc-surface-container) !important;
    border: 0 !important;
    border-radius: var(--pc-radius-md) !important;
    padding: 16px 18px;
}

.papiw-provisioning-placeholder {
    background: var(--pc-surface-container);
    border: 1px dashed var(--pc-outline) !important;
    border-radius: var(--pc-radius-md) !important;
}


/* ============================================================
   M3 LIST ROWS
   ============================================================ */

.papiw-service-row,
.papiw-invoice-row,
.papiw-ticket-row {
    border-color: var(--pc-outline-variant) !important;
    transition: background-color .16s ease;
}

.papiw-service-row:hover,
.papiw-invoice-row:hover,
.papiw-ticket-row:hover {
    background: var(--pc-surface-container-high) !important;
}


/* ============================================================
   M3 CLOUD SERVICE CARDS
   ============================================================ */

.papiw-cloud-card {
    background: var(--pc-surface-container-low) !important;
    border-radius: var(--pc-radius-xl) !important;
    transition:
        background-color .2s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.papiw-cloud-card:hover {
    background: var(--pc-surface-container) !important;
    transform: translateY(-2px);
    box-shadow: var(--pc-elevation-1);
}

.papiw-cloud-actions {
    border-color: var(--pc-outline-variant);
}


/* ============================================================
   M3 SUPPORT CONVERSATION
   ============================================================ */

.papiw-message-card {
    border-radius: var(--pc-radius-lg) !important;
    background: var(--pc-surface-container-low) !important;
}

.papiw-message-staff {
    background: color-mix(
        in srgb,
        var(--pc-primary-container) 35%,
        var(--pc-surface-container-low)
    ) !important;
}

.papiw-message-staff .card-header {
    background: transparent !important;
}


/* ============================================================
   M3 ACCOUNT
   ============================================================ */

.papiw-account-identity {
    border-color: var(--pc-outline-variant);
}

.papiw-form-section {
    border-color: var(--pc-outline-variant);
    padding: 30px 0;
}


/* ============================================================
   M3 TABLES
   ============================================================ */

.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--pc-on-surface);
    --bs-table-border-color: var(--pc-outline-variant);
}

.table > :not(caption) > * > * {
    padding: 14px 16px;
}

.table-hover > tbody > tr:hover > * {
    --bs-table-bg-state:
        var(--pc-surface-container-high);
}


/* ============================================================
   M3 MODALS
   ============================================================ */

.modal-content {
    background: var(--pc-surface-container-high) !important;
    color: var(--pc-on-surface);
    border: 0 !important;
    border-radius: var(--pc-radius-xl) !important;
    box-shadow: var(--pc-elevation-3);
}

.modal-header,
.modal-footer {
    border-color: var(--pc-outline-variant);
}


/* ============================================================
   M3 ALERTS
   ============================================================ */

.alert {
    border: 0;
    border-radius: var(--pc-radius-md);
}


/* ============================================================
   M3 MOBILE
   ============================================================ */

@media (max-width: 991.98px) {

    .papiw-sidebar {
        border-radius: 0;
    }

    .card,
    .papiw-cloud-card {
        border-radius: var(--pc-radius-lg) !important;
    }
}

@media (max-width: 575.98px) {

    h1,
    .h1 {
        font-size: 2rem;
    }

    .papiw-page-header {
        padding-top: 2px;
    }

    .papiw-stat-card {
        min-height: 112px;
    }

    .papiw-stat-card .display-6 {
        font-size: 2rem;
    }

    .btn {
        min-height: 42px;
    }

    .papiw-form-section {
        padding: 24px 0;
    }
}



/* ============================================================
   PAPIW CLOUD — MATERIAL 3 APPLICATION SHELL v2
   ============================================================ */


/* APP ROOT */

.pc-app-shell {
    width: 100%;
    min-height: 100vh;

    display: grid;

    grid-template-columns:
        276px
        minmax(0, 1fr);

    background:
        var(--pc-surface);
}


/* ============================================================
   SIDEBAR COLUMN
   ============================================================ */

.pc-app-sidebar {
    position: sticky;

    top: 0;

    height: 100vh;

    padding: 12px 0 12px 12px;

    z-index: 20;
}


.pc-app-sidebar .papiw-sidebar {
    width: 100%;
    height: calc(100vh - 24px);

    min-height: 0;

    border-radius: 28px;

    background:
        var(--pc-surface-container-low) !important;

    overflow: hidden;
}


.pc-app-sidebar
.papiw-sidebar
.offcanvas-body {

    min-height: 0;

    height: 100%;

    padding: 18px 14px;
}



/* ============================================================
   SIDEBAR BRAND
   ============================================================ */

.pc-sidebar-brand {
    padding:
        10px
        10px
        24px;
}


.pc-sidebar-logo-link {
    display: inline-flex;

    align-items: center;

    text-decoration: none;
}


.pc-sidebar-logo {
    display: block;

    width: auto;

    max-width: 128px;

    max-height: 40px;

    object-fit: contain;
}


.pc-sidebar-product {
    margin-top: 12px;

    color:
        var(--pc-on-surface-variant);

    font-size: .78rem;

    font-weight: 600;

    letter-spacing: .06em;

    text-transform: uppercase;
}



/* ============================================================
   SIDEBAR NAV
   ============================================================ */

.pc-sidebar-navigation {
    flex: 1;
}


.pc-sidebar-navigation .nav {
    gap: 4px;
}


.pc-sidebar-navigation .nav-link {
    min-height: 50px;

    padding: 0 16px;

    display: flex;

    align-items: center;

    gap: 14px;

    border-radius:
        var(--pc-radius-full);

    color:
        var(--pc-on-surface-variant);

    font-size: .94rem;

    font-weight: 550;
}


.pc-sidebar-navigation .nav-link .icon {
    width: 20px;

    height: 20px;

    flex: 0 0 20px;
}


.pc-sidebar-navigation .nav-link:hover {
    background:
        var(--pc-surface-container-high) !important;

    color:
        var(--pc-on-surface);
}


.pc-sidebar-navigation .nav-link.active {

    background:
        var(--pc-secondary-container) !important;

    color:
        var(--pc-on-secondary-container) !important;

    font-weight: 650;
}



/* ============================================================
   SIDEBAR ACCOUNT
   ============================================================ */

.pc-app-sidebar
.papiw-sidebar-footer {

    margin: 18px 4px 0;

    padding:
        18px
        12px
        4px;

    border-top:
        1px solid
        var(--pc-outline-variant);
}


.pc-account-caption {

    color:
        var(--pc-on-surface-variant);

    font-size: .75rem;

    margin-bottom: 3px;
}


.pc-account-name {

    color:
        var(--pc-on-surface);

    font-weight: 600;

    font-size: .9rem;
}


.pc-account-company {

    color:
        var(--pc-on-surface-variant);

    font-size: .78rem;

    margin-top: 2px;
}


.pc-sidebar-footer-actions {

    margin-top: 14px;

    display: flex;

    flex-direction: column;

    gap: 2px;
}


.pc-sidebar-action {

    display: flex;

    align-items: center;

    gap: 10px;

    min-height: 38px;

    padding: 6px 10px;

    border-radius:
        var(--pc-radius-full);

    text-decoration: none;

    color:
        var(--pc-on-surface-variant);

    font-size: .82rem;

    font-weight: 500;
}


.pc-sidebar-action:hover {

    color:
        var(--pc-on-surface);

    background:
        var(--pc-surface-container-high);
}


.pc-sidebar-action .icon {

    width: 17px;

    height: 17px;
}



/* ============================================================
   APP MAIN
   ============================================================ */

.pc-app-main {

    min-width: 0;

    width: 100%;
}



/* ============================================================
   CONTENT AREA
   ============================================================ */

.pc-content-area {

    width: 100%;

    min-height: 100vh;

    padding:
        28px
        34px
        24px;
}


.pc-content-area .content-block {

    width: 100%;

    max-width: none;

    margin: 0;

    padding-bottom: 20px;
}


/* remove legacy width constraints */

.pc-content-area .container,
.pc-content-area .container-sm,
.pc-content-area .container-md,
.pc-content-area .container-lg,
.pc-content-area .container-xl,
.pc-content-area .container-xxl {

    width: 100% !important;

    max-width: none !important;

    padding-left: 0;

    padding-right: 0;
}



/* ============================================================
   BREADCRUMB
   ============================================================ */

.pc-breadcrumb {

    margin-bottom: 18px;
}


.pc-breadcrumb .breadcrumb {

    margin: 0;

    font-size: .8rem;
}


.pc-breadcrumb a {

    color:
        var(--pc-on-surface-variant);

    text-decoration: none;
}



/* ============================================================
   FOOTER
   ============================================================ */

.pc-console-footer {

    margin-top: 30px;

    padding:
        22px
        4px
        8px;

    border-top:
        1px solid
        var(--pc-outline-variant);

    color:
        var(--pc-on-surface-variant);

    font-size: .78rem;
}



/* ============================================================
   MOBILE M3 APP BAR
   ============================================================ */

.pc-mobile-appbar {

    position: sticky;

    top: 0;

    z-index: 30;

    height: 64px;

    padding:
        0
        16px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    background:
        color-mix(
            in srgb,
            var(--pc-surface) 92%,
            transparent
        );

    backdrop-filter:
        blur(14px);

    border-bottom:
        1px solid
        var(--pc-outline-variant);
}


.pc-mobile-logo {

    max-height: 34px;

    width: auto;
}


.pc-mobile-logo-link {

    display: inline-flex;

    align-items: center;
}


.pc-menu-button {

    width: 44px;

    height: 44px;

    border: 0;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        var(--pc-surface-container);

    color:
        var(--pc-on-surface);
}


.pc-menu-button .icon {

    width: 21px;

    height: 21px;
}



/* ============================================================
   LARGE DISPLAY
   ============================================================ */

@media (min-width: 1440px) {

    .pc-app-shell {

        grid-template-columns:
            292px
            minmax(0, 1fr);
    }


    .pc-content-area {

        padding:
            32px
            46px
            28px;
    }

}



/* ============================================================
   TABLET
   ============================================================ */

@media
(max-width: 1100px)
and (min-width: 768px) {

    .pc-app-shell {

        grid-template-columns:
            236px
            minmax(0, 1fr);
    }


    .pc-content-area {

        padding:
            24px
            24px;
    }

}



/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767.98px) {

    .pc-app-shell {

        display: block;

        width: 100%;
    }


    .pc-app-sidebar {

        position: static;

        height: auto;

        padding: 0;
    }


    .pc-app-sidebar
    .papiw-sidebar {

        height: 100vh;

        border-radius: 0;
    }


    .pc-app-sidebar
    .papiw-sidebar
    .offcanvas-body {

        padding:
            10px
            14px
            22px;
    }


    .pc-content-area {

        padding:
            20px
            16px
            24px;
    }


    .pc-console-footer {

        margin-top: 22px;
    }

}



/* ============================================================
   PAPIW CLOUD HUB STYLE — M3 APPLICATION SHELL v3
   ============================================================ */

:root {
    --pc-sidebar-width: 228px;
    --pc-topbar-height: 64px;

    --pc-hub-background: #f3f6f8;
    --pc-hub-sidebar: #ffffff;
    --pc-hub-card: #ffffff;
}


/* ============================================================
   MAIN APPLICATION STRUCTURE
   ============================================================ */

.pc-app-shell {
    display: grid !important;

    grid-template-columns:
        var(--pc-sidebar-width)
        minmax(0, 1fr) !important;

    width: 100%;
    min-height: 100vh;

    background:
        var(--pc-hub-background) !important;
}


/* ============================================================
   LEFT SIDEBAR — FLAT CLOUD CONSOLE STYLE
   ============================================================ */

.pc-app-sidebar {
    position: fixed !important;

    inset:
        0
        auto
        0
        0;

    width:
        var(--pc-sidebar-width);

    height: 100vh !important;

    padding: 0 !important;

    background:
        var(--pc-hub-sidebar);

    border-right:
        1px solid
        #e4e8ed;

    z-index: 40;
}


.pc-app-sidebar .papiw-sidebar {

    width: 100% !important;

    height: 100vh !important;

    min-height: 100vh !important;

    margin: 0 !important;

    padding: 0 !important;

    border-radius: 0 !important;

    background:
        var(--pc-hub-sidebar) !important;

    overflow-y: auto;

    overflow-x: hidden;
}


.pc-app-sidebar
.papiw-sidebar
.offcanvas-body {

    height: 100% !important;

    min-height: 100% !important;

    padding:
        0
        10px
        14px !important;
}



/* ============================================================
   SIDEBAR BRAND
   ============================================================ */

.pc-sidebar-brand {

    height:
        var(--pc-topbar-height);

    padding:
        0
        10px !important;

    display: flex;

    align-items: center;

    gap: 9px;

    border-bottom:
        1px solid
        #edf0f3;
}


.pc-sidebar-logo-link {

    display: flex;

    align-items: center;

    min-width: 0;
}


.pc-sidebar-logo {

    width: auto !important;

    max-width: 135px !important;

    max-height: 34px !important;

    object-fit: contain;
}


.pc-sidebar-product {

    display: none !important;
}



/* ============================================================
   SIDEBAR NAVIGATION
   ============================================================ */

.pc-sidebar-navigation {

    padding-top: 14px;
}


.pc-sidebar-navigation .nav {

    gap: 2px !important;
}


.pc-sidebar-navigation .nav-link {

    min-height: 42px !important;

    padding:
        0
        12px !important;

    border-radius:
        22px !important;

    display: flex;

    align-items: center;

    gap: 12px !important;

    color:
        #44474d !important;

    font-size:
        .875rem !important;

    font-weight:
        500 !important;

    transition:
        background-color .16s ease,
        color .16s ease;
}


.pc-sidebar-navigation
.nav-link
.icon {

    width: 18px !important;

    height: 18px !important;
}


.pc-sidebar-navigation
.nav-link:hover {

    background:
        #f0f2f5 !important;
}


.pc-sidebar-navigation
.nav-link.active {

    background:
        #d8e6ff !important;

    color:
        #14294c !important;

    font-weight:
        600 !important;
}



/* ============================================================
   ACCOUNT AREA
   ============================================================ */

.pc-app-sidebar
.papiw-sidebar-footer {

    margin:
        auto
        2px
        0 !important;

    padding:
        16px
        10px
        4px !important;

    border-top:
        1px solid
        #e6e9ed !important;
}


.pc-account-caption {

    color:
        #7b8088;

    font-size:
        .7rem;
}


.pc-account-name {

    font-size:
        .82rem;

    font-weight:
        600;
}


.pc-account-company {

    color:
        #6d727a;

    font-size:
        .72rem;
}



/* only Sign Out remains in sidebar */

.pc-sidebar-footer-actions
.js-theme-toggler {

    display: none !important;
}


.pc-sidebar-footer-actions {

    margin-top: 10px !important;
}


.pc-sidebar-action {

    padding:
        7px
        8px !important;

    min-height:
        34px !important;

    border-radius:
        8px !important;

    font-size:
        .77rem !important;
}



/* ============================================================
   RIGHT APPLICATION AREA
   ============================================================ */

.pc-app-main {

    grid-column: 2;

    min-width: 0;

    width: 100%;

    min-height: 100vh;
}



/* ============================================================
   DESKTOP TOP APP BAR
   ============================================================ */

.pc-desktop-appbar {

    position: sticky;

    top: 0;

    z-index: 35;

    height:
        var(--pc-topbar-height);

    padding:
        0
        18px;

    align-items: center;

    justify-content: space-between;

    background:
        #ffffff;

    border-bottom:
        1px solid
        #e4e8ed;
}


.pc-appbar-left,
.pc-appbar-right {

    display: flex;

    align-items: center;
}


.pc-appbar-left {

    gap: 12px;
}


.pc-appbar-right {

    gap: 5px;
}


.pc-appbar-title {

    display: flex;

    align-items: center;

    gap: 6px;

    color:
        #202124;

    font-size:
        .9rem;
}


.pc-appbar-title > span:first-child {

    color:
        #5f6368;
}


.pc-appbar-separator {

    color:
        #a4a8ae;
}


.pc-appbar-title strong {

    font-weight: 600;
}



/* ============================================================
   ICON BUTTON — M3
   ============================================================ */

.pc-icon-button {

    width: 40px;

    height: 40px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    background:
        transparent;

    color:
        #50545a;

    text-decoration: none;
}


.pc-icon-button:hover {

    background:
        #f1f3f4;

    color:
        #202124;
}


.pc-icon-button .icon {

    width: 19px;

    height: 19px;
}



/* ============================================================
   USER AVATAR
   ============================================================ */

.pc-user-avatar {

    width: 34px;

    height: 34px;

    margin-left: 7px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        #dbe7ff;

    color:
        #174ea6;

    font-size:
        .78rem;

    font-weight:
        600;

    text-decoration: none;
}



/* ============================================================
   CONTENT SURFACE
   ============================================================ */

.pc-content-area {

    width: 100% !important;

    min-height:
        calc(
            100vh -
            var(--pc-topbar-height)
        );

    padding:
        26px
        26px
        34px !important;

    background:
        var(--pc-hub-background) !important;
}


.pc-content-area
.content-block {

    width: 100% !important;

    max-width: none !important;

    padding: 0 !important;

    margin: 0 !important;
}



/* ============================================================
   DASHBOARD HEADER / HERO
   ============================================================ */

.papiw-hero {

    padding:
        25px
        26px !important;

    margin-bottom:
        20px;

    background:
        #ffffff;

    border:
        1px solid
        #e1e6ea;

    border-radius:
        22px !important;
}


.papiw-hero h1 {

    margin-bottom:
        5px;

    font-size:
        clamp(
            1.65rem,
            2.5vw,
            2.15rem
        ) !important;

    font-weight:
        600 !important;
}



/* ============================================================
   DASHBOARD STAT CARDS
   ============================================================ */

.papiw-stat-card {

    min-height:
        122px !important;

    background:
        #ffffff !important;

    border:
        1px solid
        #e7eaee !important;

    border-radius:
        20px !important;
}


.papiw-stat-card:hover {

    background:
        #ffffff !important;

    box-shadow:
        0 3px 12px
        rgba(24, 39, 75, .07);

    transform:
        translateY(-1px);
}



/* ============================================================
   NORMAL CARDS
   ============================================================ */

.pc-content-area
.card {

    background:
        #ffffff !important;

    border:
        1px solid
        #e6eaee !important;

    border-radius:
        20px !important;

    box-shadow:
        none !important;
}



/* ============================================================
   SERVICE LIST
   ============================================================ */

.papiw-service-row:hover,
.papiw-invoice-row:hover,
.papiw-ticket-row:hover {

    background:
        #f7f9fb !important;
}



/* ============================================================
   REMOVE LEGACY ELEMENTS
   ============================================================ */

.pc-breadcrumb {

    display: none !important;
}


.pc-to-top {

    display: none !important;
}



/* ============================================================
   FOOTER
   ============================================================ */

.pc-console-footer {

    border-top: 0 !important;

    padding:
        20px
        4px
        4px !important;

    color:
        #858a92 !important;

    text-align: center;

    font-size:
        .72rem !important;
}



/* ============================================================
   DARK MODE
   ============================================================ */

[data-bs-theme="dark"] {

    --pc-hub-background:
        #111318;

    --pc-hub-sidebar:
        #191c20;

    --pc-hub-card:
        #1f2227;
}


[data-bs-theme="dark"]
.pc-app-sidebar,

[data-bs-theme="dark"]
.pc-app-sidebar
.papiw-sidebar,

[data-bs-theme="dark"]
.pc-desktop-appbar {

    background:
        #191c20 !important;

    border-color:
        #30343a !important;
}


[data-bs-theme="dark"]
.pc-content-area {

    background:
        #111318 !important;
}


[data-bs-theme="dark"]
.papiw-hero,

[data-bs-theme="dark"]
.papiw-stat-card,

[data-bs-theme="dark"]
.pc-content-area
.card {

    background:
        #1f2227 !important;

    border-color:
        #30343a !important;
}



/* ============================================================
   TABLET
   ============================================================ */

@media
(max-width: 1050px)
and (min-width: 768px) {

    :root {

        --pc-sidebar-width:
            210px;
    }


    .pc-content-area {

        padding:
            20px !important;
    }

}



/* ============================================================
   MOBILE
   ============================================================ */

@media
(max-width: 767.98px) {

    .pc-app-shell {

        display: block !important;
    }


    .pc-app-main {

        width: 100%;
    }


    .pc-app-sidebar {

        position: static !important;

        width: auto !important;

        height: auto !important;

        border-right: 0;
    }


    .pc-content-area {

        padding:
            16px !important;

        min-height:
            calc(
                100vh -
                64px
            );
    }


    .papiw-hero {

        padding:
            20px !important;

        border-radius:
            18px !important;
    }

}



/* ============================================================
   PAPIW CLOUD — M3 HUB DASHBOARD v2
   ============================================================ */

.pc-dashboard-v2 {
    width: 100%;
}



/* HERO */

.pc-dashboard-hero {

    min-height: 138px;

    padding:
        26px
        28px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 28px;

    background: #fff;

    border:
        1px solid #e2e7eb;

    border-radius: 24px;

    margin-bottom: 20px;
}


.pc-dashboard-eyebrow {

    margin-bottom: 7px;

    color: #666d76;

    font-size: .78rem;

    font-weight: 600;

    letter-spacing: .03em;
}


.pc-dashboard-hero h1 {

    margin: 0;

    color: #191b1f;

    font-size:
        clamp(1.75rem, 2.5vw, 2.25rem);

    line-height: 1.12;

    font-weight: 400;

    letter-spacing: -.04em;
}


.pc-dashboard-hero h1 strong {

    font-weight: 700;
}


.pc-dashboard-hero p {

    margin:
        8px
        0
        0;

    color: #5f6368;

    font-size: .92rem;
}



/* STATUS */

.pc-console-status {

    min-height: 38px;

    padding:
        0
        15px;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    flex-shrink: 0;

    border-radius: 999px;

    border:
        1px solid #c9ead3;

    background:
        #effaf2;

    color:
        #246c39;

    font-size: .7rem;

    font-weight: 700;

    letter-spacing: .045em;
}


.pc-status-dot {

    width: 8px;

    height: 8px;

    border-radius: 50%;

    background:
        #2d944d;

    box-shadow:
        0 0 0 3px
        rgba(45, 148, 77, .12);
}



/* ============================================================
   METRIC GRID
   ============================================================ */

.pc-metric-grid {

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 14px;

    margin-bottom: 20px;
}


.pc-metric-card {

    min-height: 148px;

    padding: 18px;

    position: relative;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    background: #fff;

    border:
        1px solid #e5e9ed;

    border-radius: 22px;

    color: inherit;

    text-decoration: none;

    transition:
        transform .16s ease,
        box-shadow .16s ease,
        border-color .16s ease;
}


.pc-metric-card:hover {

    color: inherit;

    transform:
        translateY(-2px);

    border-color:
        #d8e0e8;

    box-shadow:
        0 8px 22px
        rgba(31, 45, 61, .065);
}


.pc-metric-icon {

    width: 38px;

    height: 38px;

    margin-bottom: 15px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        #d7e6ff;

    color:
        #173d72;
}


.pc-metric-icon .icon {

    width: 19px;

    height: 19px;
}


.pc-metric-label {

    color:
        #555b63;

    font-size: .78rem;

    font-weight: 500;
}


.pc-metric-value {

    margin-top: 4px;

    color:
        #202124;

    font-size: 1.65rem;

    line-height: 1;

    font-weight: 700;

    letter-spacing: -.035em;
}


.pc-metric-caption {

    margin-top: 8px;

    color:
        #81868d;

    font-size: .7rem;
}



/* ============================================================
   DASHBOARD MAIN GRID
   ============================================================ */

.pc-dashboard-grid {

    display: grid;

    grid-template-columns:
        minmax(0, 1.85fr)
        minmax(300px, .85fr);

    gap: 18px;

    align-items: start;
}



/* ============================================================
   PANEL
   ============================================================ */

.pc-panel {

    background: #fff;

    border:
        1px solid #e5e9ed;

    border-radius: 24px;

    overflow: hidden;
}


.pc-panel-header {

    min-height: 78px;

    padding:
        20px
        22px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    border-bottom:
        1px solid #eef0f2;
}


.pc-panel-header h2 {

    margin: 0;

    color: #202124;

    font-size: 1rem;

    line-height: 1.25;

    font-weight: 650;

    letter-spacing: -.02em;
}


.pc-panel-header p {

    margin:
        5px
        0
        0;

    color: #7b8087;

    font-size: .74rem;
}


.pc-text-action {

    flex-shrink: 0;

    display: inline-flex;

    align-items: center;

    gap: 7px;

    color:
        #2864e8;

    text-decoration: none;

    font-size: .78rem;

    font-weight: 600;
}


.pc-text-action:hover {

    color:
        #164ec5;
}



/* ============================================================
   SERVICE LIST
   ============================================================ */

.pc-service-item {

    min-height: 78px;

    padding:
        13px
        20px;

    display: grid;

    grid-template-columns:
        42px
        minmax(0, 1fr)
        28px;

    align-items: center;

    gap: 13px;

    color: inherit;

    text-decoration: none;

    border-bottom:
        1px solid #eef0f2;

    transition:
        background-color .15s ease;
}


.pc-service-item:last-child {

    border-bottom: 0;
}


.pc-service-item:hover {

    color: inherit;

    background:
        #f7f9fb;
}


.pc-service-icon {

    width: 40px;

    height: 40px;

    border-radius: 13px;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        #edf3ff;

    color:
        #2459a6;
}


.pc-service-icon .icon {

    width: 19px;

    height: 19px;
}


.pc-service-main {

    min-width: 0;
}


.pc-service-title-row {

    display: flex;

    align-items: center;

    gap: 9px;

    min-width: 0;
}


.pc-service-title-row strong {

    overflow: hidden;

    color:
        #292c30;

    font-size: .84rem;

    font-weight: 650;

    white-space: nowrap;

    text-overflow: ellipsis;
}


.pc-service-meta {

    margin-top: 5px;

    display: flex;

    align-items: center;

    gap: 7px;

    color:
        #7d8289;

    font-size: .7rem;
}


.pc-meta-separator {

    color:
        #adb1b7;
}


.pc-service-arrow {

    color:
        #92979e;

    font-size: 1.05rem;

    text-align: center;

    transition:
        transform .15s ease;
}


.pc-service-item:hover
.pc-service-arrow {

    transform:
        translateX(3px);

    color:
        #2864e8;
}



/* ============================================================
   SIDE
   ============================================================ */

.pc-dashboard-side {

    display: grid;

    gap: 18px;
}


.pc-small-panel {

    min-width: 0;
}


.pc-panel-icon-button {

    width: 38px;

    height: 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    background:
        #edf3ff;

    color:
        #2358a1;

    text-decoration: none;
}


.pc-panel-icon-button:hover {

    background:
        #dce8ff;

    color:
        #173f7b;
}


.pc-panel-icon-button .icon {

    width: 18px;

    height: 18px;
}



/* ============================================================
   BILLING SUMMARY
   ============================================================ */

.pc-billing-summary {

    padding:
        9px
        20px
        3px;
}


.pc-summary-row {

    min-height: 43px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    border-bottom:
        1px solid #f0f1f3;

    color:
        #666c73;

    font-size: .78rem;
}


.pc-summary-row:last-child {

    border-bottom: 0;
}


.pc-summary-row strong {

    color:
        #25272b;

    font-size: .9rem;
}


.pc-summary-warning strong {

    color:
        #a95a00;
}



/* ============================================================
   PANEL ACTION
   ============================================================ */

.pc-panel-primary-action {

    height: 42px;

    margin:
        12px
        18px
        18px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 999px;

    background:
        #e5edff;

    color:
        #174ea6;

    text-decoration: none;

    font-size: .78rem;

    font-weight: 650;
}


.pc-panel-primary-action:hover {

    background:
        #d7e4ff;

    color:
        #113f89;
}



/* ============================================================
   SUPPORT
   ============================================================ */

.pc-support-healthy {

    min-height: 96px;

    padding:
        18px
        20px;

    display: flex;

    align-items: center;

    gap: 14px;
}


.pc-support-check {

    width: 38px;

    height: 38px;

    flex-shrink: 0;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        #dff5e5;

    color:
        #26763d;

    font-weight: 800;
}


.pc-support-healthy strong {

    color:
        #292c30;

    font-size: .8rem;
}


.pc-support-healthy p {

    margin:
        3px
        0
        0;

    color:
        #858a90;

    font-size: .7rem;
}


.pc-ticket-preview {

    padding:
        7px
        18px;
}


.pc-ticket-preview-item {

    min-height: 48px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

    border-bottom:
        1px solid #f0f1f3;

    color: inherit;

    text-decoration: none;

    font-size: .72rem;
}



/* ============================================================
   EMPTY STATE
   ============================================================ */

.pc-dashboard-empty {

    min-height: 230px;

    padding: 40px 20px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;
}


.pc-empty-icon {

    width: 48px;

    height: 48px;

    margin-bottom: 13px;

    border-radius: 16px;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        #edf3ff;

    color:
        #2b5da4;
}


.pc-dashboard-empty p {

    margin:
        5px
        0
        0;

    color:
        #858a91;

    font-size: .72rem;
}



/* ============================================================
   DARK
   ============================================================ */

[data-bs-theme="dark"]
.pc-dashboard-hero,

[data-bs-theme="dark"]
.pc-metric-card,

[data-bs-theme="dark"]
.pc-panel {

    background:
        #1f2227;

    border-color:
        #30343a;
}


[data-bs-theme="dark"]
.pc-dashboard-hero h1,

[data-bs-theme="dark"]
.pc-metric-value,

[data-bs-theme="dark"]
.pc-panel-header h2,

[data-bs-theme="dark"]
.pc-service-title-row strong {

    color:
        #e4e6eb;
}


[data-bs-theme="dark"]
.pc-service-item {

    border-color:
        #30343a;
}


[data-bs-theme="dark"]
.pc-service-item:hover {

    background:
        #292d33;
}



/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199px) {

    .pc-dashboard-grid {

        grid-template-columns:
            minmax(0, 1.5fr)
            minmax(280px, .8fr);
    }

}


@media (max-width: 991.98px) {

    .pc-metric-grid {

        grid-template-columns:
            repeat(2, 1fr);
    }


    .pc-dashboard-grid {

        grid-template-columns:
            1fr;
    }


    .pc-dashboard-side {

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

}


@media (max-width: 767.98px) {

    .pc-dashboard-hero {

        min-height: auto;

        padding:
            21px;

        align-items: flex-start;

        flex-direction: column;
    }


    .pc-console-status {

        min-height: 34px;
    }


    .pc-dashboard-side {

        grid-template-columns: 1fr;
    }

}


@media (max-width: 520px) {

    .pc-metric-grid {

        grid-template-columns:
            1fr;
    }


    .pc-metric-card {

        min-height: 130px;
    }


    .pc-service-item {

        grid-template-columns:
            38px
            minmax(0, 1fr)
            20px;

        padding:
            13px
            14px;
    }

}



/* ============================================================
   PAPIW CLOUD — M3 POLISH v3.1
   Sidebar + Dark Mode
   ============================================================ */

:root {
    --pc-sidebar-width: 244px;
}


/* SIDEBAR NAV — prevent stacking */

.pc-sidebar-navigation .nav-link {
    white-space: nowrap !important;
}

.pc-sidebar-navigation .nav-link span {
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pc-sidebar-navigation .nav-link .icon {
    flex: 0 0 18px !important;
}


/* Slightly better spacing */

.pc-sidebar-navigation {
    padding:
        14px
        8px
        0 !important;
}

.pc-sidebar-navigation .nav-link {
    padding:
        0
        14px !important;
}


/* ============================================================
   LIGHT MODE
   ============================================================ */

.pc-appbar-title,
.pc-dashboard-hero h1,
.pc-metric-value,
.pc-panel-header h2,
.pc-service-title-row strong,
.pc-account-name {
    color:
        var(--pc-on-surface) !important;
}

.pc-dashboard-eyebrow,
.pc-dashboard-hero p,
.pc-metric-label,
.pc-metric-caption,
.pc-panel-header p,
.pc-service-meta,
.pc-account-caption,
.pc-account-company {
    color:
        var(--pc-on-surface-variant) !important;
}


/* ============================================================
   DARK MODE — COMPLETE M3
   ============================================================ */

[data-bs-theme="dark"] body,
[data-bs-theme="dark"] .pc-app-shell {
    background:
        #101318 !important;

    color:
        #e2e2e9 !important;
}


[data-bs-theme="dark"] .pc-app-sidebar,
[data-bs-theme="dark"] .pc-app-sidebar .papiw-sidebar,
[data-bs-theme="dark"] .pc-desktop-appbar {
    background:
        #181b20 !important;

    border-color:
        #30343a !important;
}


/* Sidebar text */

[data-bs-theme="dark"]
.pc-sidebar-navigation .nav-link {
    color:
        #c4c6d0 !important;
}


[data-bs-theme="dark"]
.pc-sidebar-navigation .nav-link:hover {
    background:
        #272a30 !important;

    color:
        #ffffff !important;
}


[data-bs-theme="dark"]
.pc-sidebar-navigation .nav-link.active {
    background:
        #344765 !important;

    color:
        #e1eaff !important;
}


[data-bs-theme="dark"]
.pc-sidebar-navigation .nav-link.active .icon {
    color:
        #e1eaff !important;
}


/* Sidebar account */

[data-bs-theme="dark"]
.pc-account-caption,
[data-bs-theme="dark"]
.pc-account-company {
    color:
        #aeb3bd !important;
}


[data-bs-theme="dark"]
.pc-account-name {
    color:
        #ffffff !important;
}


[data-bs-theme="dark"]
.pc-sidebar-action {
    color:
        #c4c6d0 !important;
}


[data-bs-theme="dark"]
.pc-sidebar-action:hover {
    background:
        #292c32 !important;

    color:
        #ffffff !important;
}


/* Top bar */

[data-bs-theme="dark"]
.pc-appbar-title,
[data-bs-theme="dark"]
.pc-appbar-title strong {
    color:
        #ffffff !important;
}


[data-bs-theme="dark"]
.pc-appbar-title > span:first-child,
[data-bs-theme="dark"]
.pc-appbar-separator {
    color:
        #aeb3bd !important;
}


[data-bs-theme="dark"]
.pc-icon-button {
    color:
        #d8dbe2 !important;
}


[data-bs-theme="dark"]
.pc-icon-button:hover {
    background:
        #292c32 !important;

    color:
        #ffffff !important;
}


/* Main surfaces */

[data-bs-theme="dark"]
.pc-content-area {
    background:
        #101318 !important;
}


[data-bs-theme="dark"]
.pc-dashboard-hero,
[data-bs-theme="dark"]
.pc-metric-card,
[data-bs-theme="dark"]
.pc-panel,
[data-bs-theme="dark"]
.pc-content-area .card {
    background:
        #1c1f24 !important;

    border-color:
        #30343a !important;
}


/* Main text */

[data-bs-theme="dark"]
.pc-dashboard-hero h1,
[data-bs-theme="dark"]
.pc-dashboard-hero h1 strong,
[data-bs-theme="dark"]
.pc-metric-value,
[data-bs-theme="dark"]
.pc-panel-header h2,
[data-bs-theme="dark"]
.pc-service-title-row strong,
[data-bs-theme="dark"]
.pc-summary-row strong {
    color:
        #ffffff !important;
}


[data-bs-theme="dark"]
.pc-dashboard-eyebrow,
[data-bs-theme="dark"]
.pc-dashboard-hero p,
[data-bs-theme="dark"]
.pc-metric-label,
[data-bs-theme="dark"]
.pc-metric-caption,
[data-bs-theme="dark"]
.pc-panel-header p,
[data-bs-theme="dark"]
.pc-service-meta,
[data-bs-theme="dark"]
.pc-summary-row {
    color:
        #b8bdc7 !important;
}


/* Service rows */

[data-bs-theme="dark"]
.pc-service-item {
    border-color:
        #30343a !important;
}


[data-bs-theme="dark"]
.pc-service-item:hover {
    background:
        #25282e !important;
}


[data-bs-theme="dark"]
.pc-service-icon,
[data-bs-theme="dark"]
.pc-metric-icon,
[data-bs-theme="dark"]
.pc-panel-icon-button {
    background:
        #263b5c !important;

    color:
        #c5d9ff !important;
}


/* Tonal action */

[data-bs-theme="dark"]
.pc-panel-primary-action {
    background:
        #263b5c !important;

    color:
        #d5e3ff !important;
}


[data-bs-theme="dark"]
.pc-panel-primary-action:hover {
    background:
        #30486d !important;
}


/* Borders */

[data-bs-theme="dark"]
.pc-panel-header,
[data-bs-theme="dark"]
.pc-summary-row,
[data-bs-theme="dark"]
.pc-ticket-preview-item,
[data-bs-theme="dark"]
.pc-app-sidebar .papiw-sidebar-footer {
    border-color:
        #30343a !important;
}


/* Generic Bootstrap leftovers */

[data-bs-theme="dark"] .text-dark {
    color:
        #ffffff !important;
}

[data-bs-theme="dark"] .text-secondary,
[data-bs-theme="dark"] .text-muted {
    color:
        #b8bdc7 !important;
}


/* ============================================================
   PAPIW CLOUD FOOTER
   ============================================================ */

.pc-console-footer {
    width: 100%;
    margin-top: 28px !important;
    padding: 18px 4px 8px !important;

    color: var(--pc-on-surface-variant) !important;
    text-align: center;

    font-size: .72rem !important;
}

.pc-footer-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex-wrap: wrap;
}

.pc-footer-dot {
    opacity: .55;
}

[data-bs-theme="dark"] .pc-console-footer {
    color: #9297a1 !important;
}



/* ============================================================
   PAPIW CLOUD — CLOUD SERVICES M3 HUB v2
   ============================================================ */

.pc-services-v2 {
    width: 100%;
}


/* ============================================================
   PAGE HERO
   ============================================================ */

.pc-page-hero {

    min-height: 136px;

    margin-bottom: 18px;

    padding: 25px 28px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    background:
        var(--pc-surface-container-lowest);

    border:
        1px solid
        var(--pc-outline-variant);

    border-radius: 24px;
}


.pc-page-eyebrow {

    margin-bottom: 6px;

    color:
        var(--pc-on-surface-variant);

    font-size: .76rem;

    font-weight: 600;

    letter-spacing: .03em;
}


.pc-page-hero h1 {

    margin: 0;

    color:
        var(--pc-on-surface);

    font-size:
        clamp(1.75rem, 2.4vw, 2.2rem);

    line-height: 1.12;

    font-weight: 650;

    letter-spacing: -.04em;
}


.pc-page-hero p {

    margin:
        8px
        0
        0;

    max-width: 720px;

    color:
        var(--pc-on-surface-variant);

    font-size: .88rem;
}


.pc-page-primary-action {

    min-height: 44px;

    padding:
        0
        18px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    flex-shrink: 0;

    border-radius: 999px;

    background:
        var(--pc-primary);

    color:
        var(--pc-on-primary);

    text-decoration: none;

    font-size: .8rem;

    font-weight: 650;
}


.pc-page-primary-action:hover {

    color:
        var(--pc-on-primary);

    filter:
        brightness(.96);
}


.pc-action-plus {

    font-size: 1rem;

    font-weight: 500;
}



/* ============================================================
   SUMMARY
   ============================================================ */

.pc-service-summary-grid {

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 13px;

    margin-bottom: 18px;
}


.pc-service-summary-card {

    min-height: 94px;

    padding: 17px 18px;

    display: flex;

    align-items: center;

    gap: 14px;

    background:
        var(--pc-surface-container-lowest);

    border:
        1px solid
        var(--pc-outline-variant);

    border-radius: 20px;
}


.pc-service-summary-icon {

    width: 38px;

    height: 38px;

    flex: 0 0 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        #dce8ff;

    color:
        #174d91;
}


.pc-service-summary-icon .icon {

    width: 18px;

    height: 18px;
}


.pc-summary-active {

    background:
        #dff5e5;

    color:
        #277240;
}


.pc-summary-provision {

    background:
        #e6ebff;

    color:
        #4256a7;
}


.pc-summary-attention {

    background:
        #fff0d8;

    color:
        #955400;
}


.pc-service-summary-card span {

    display: block;

    color:
        var(--pc-on-surface-variant);

    font-size: .72rem;
}


.pc-service-summary-card strong {

    display: block;

    margin-top: 2px;

    color:
        var(--pc-on-surface);

    font-size: 1.38rem;

    line-height: 1;

    font-weight: 700;

    letter-spacing: -.03em;
}



/* ============================================================
   STACK
   ============================================================ */

.pc-cloud-service-stack {

    display: grid;

    gap: 16px;
}



/* ============================================================
   SERVICE CARD
   ============================================================ */

.pc-cloud-service-card {

    overflow: hidden;

    background:
        var(--pc-surface-container-lowest);

    border:
        1px solid
        var(--pc-outline-variant);

    border-radius: 24px;

    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}


.pc-cloud-service-card:hover {

    border-color:
        color-mix(
            in srgb,
            var(--pc-primary) 35%,
            var(--pc-outline-variant)
        );

    box-shadow:
        0 7px 20px
        rgba(24, 39, 75, .055);
}



/* TOP */

.pc-cloud-service-top {

    min-height: 88px;

    padding:
        18px
        22px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 24px;

    border-bottom:
        1px solid
        var(--pc-outline-variant);
}


.pc-cloud-service-heading {

    min-width: 0;

    display: flex;

    align-items: center;

    gap: 14px;
}


.pc-cloud-service-product-icon {

    width: 44px;

    height: 44px;

    flex: 0 0 44px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 14px;

    background:
        color-mix(
            in srgb,
            var(--pc-primary-container) 65%,
            var(--pc-surface-container-lowest)
        );

    color:
        var(--pc-on-primary-container);
}


.pc-cloud-service-product-icon .icon {

    width: 20px;

    height: 20px;
}


.pc-cloud-service-title {

    min-width: 0;
}


.pc-cloud-service-title-line {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 9px;
}


.pc-cloud-service-title h2 {

    margin: 0;

    color:
        var(--pc-on-surface);

    font-size: .98rem;

    font-weight: 680;

    letter-spacing: -.02em;
}


.pc-cloud-service-identifiers {

    margin-top: 6px;

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 7px;

    color:
        var(--pc-on-surface-variant);

    font-size: .7rem;
}


.pc-service-manage-button {

    min-height: 40px;

    padding:
        0
        15px;

    flex-shrink: 0;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    border-radius: 999px;

    background:
        var(--pc-secondary-container);

    color:
        var(--pc-on-secondary-container);

    text-decoration: none;

    font-size: .76rem;

    font-weight: 650;
}


.pc-service-manage-button:hover {

    color:
        var(--pc-on-secondary-container);

    filter:
        brightness(.97);
}



/* ============================================================
   RESOURCE TILES
   ============================================================ */

.pc-service-resource-grid {

    padding:
        18px
        22px
        0;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 12px;
}


.pc-resource-tile {

    min-height: 84px;

    padding: 15px 16px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    background:
        var(--pc-surface-container-low);

    border-radius: 16px;
}


.pc-resource-tile > span {

    color:
        var(--pc-on-surface-variant);

    font-size: .68rem;
}


.pc-resource-tile strong {

    margin-top: 5px;

    color:
        var(--pc-on-surface);

    font-size: 1.08rem;

    line-height: 1.25;

    font-weight: 680;

    letter-spacing: -.02em;
}


.pc-resource-tile small {

    color:
        var(--pc-on-surface-variant);

    font-size: .72rem;

    font-weight: 500;
}



/* ============================================================
   INFRASTRUCTURE INFO
   ============================================================ */

.pc-service-info-grid {

    padding:
        18px
        22px
        20px;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        18px
        24px;
}


.pc-service-info-item {

    min-width: 0;
}


.pc-service-info-item span {

    display: block;

    margin-bottom: 4px;

    color:
        var(--pc-on-surface-variant);

    font-size: .67rem;
}


.pc-service-info-item strong {

    display: block;

    min-width: 0;

    overflow: hidden;

    color:
        var(--pc-on-surface);

    font-size: .77rem;

    font-weight: 600;

    white-space: nowrap;

    text-overflow: ellipsis;
}


.pc-mono-value {

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: .72rem !important;
}



/* ============================================================
   PROVISIONING
   ============================================================ */

.pc-service-provisioning {

    margin:
        18px
        22px
        20px;

    min-height: 90px;

    padding:
        17px
        18px;

    display: flex;

    align-items: center;

    gap: 14px;

    border-radius: 18px;

    background:
        var(--pc-surface-container-low);
}


.pc-provisioning-icon {

    width: 40px;

    height: 40px;

    flex: 0 0 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        var(--pc-primary-container);

    color:
        var(--pc-on-primary-container);
}


.pc-provisioning-icon .icon {

    width: 18px;

    height: 18px;
}


.pc-service-provisioning strong {

    color:
        var(--pc-on-surface);

    font-size: .8rem;

    font-weight: 650;
}


.pc-service-provisioning p {

    margin:
        4px
        0
        0;

    max-width: 700px;

    color:
        var(--pc-on-surface-variant);

    font-size: .72rem;
}



/* ============================================================
   SERVICE FOOTER
   ============================================================ */

.pc-cloud-service-footer {

    min-height: 72px;

    padding:
        14px
        22px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 24px;

    background:
        color-mix(
            in srgb,
            var(--pc-surface-container-low) 65%,
            transparent
        );

    border-top:
        1px solid
        var(--pc-outline-variant);
}


.pc-service-billing-meta {

    display: flex;

    align-items: center;

    gap: 32px;
}


.pc-service-billing-meta span {

    display: block;

    margin-bottom: 3px;

    color:
        var(--pc-on-surface-variant);

    font-size: .64rem;
}


.pc-service-billing-meta strong {

    display: block;

    color:
        var(--pc-on-surface);

    font-size: .75rem;

    font-weight: 650;
}


.pc-service-support-link {

    display: inline-flex;

    align-items: center;

    gap: 5px;

    color:
        var(--pc-on-surface-variant);

    text-decoration: none;

    font-size: .69rem;
}


.pc-service-support-link span {

    color:
        var(--pc-primary);

    font-weight: 650;
}



/* ============================================================
   EMPTY
   ============================================================ */

.pc-services-empty {

    min-height: 330px;

    padding: 45px 24px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;
}


.pc-services-empty-icon {

    width: 54px;

    height: 54px;

    margin-bottom: 14px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 18px;

    background:
        var(--pc-primary-container);

    color:
        var(--pc-on-primary-container);
}


.pc-services-empty h2 {

    margin: 0;

    color:
        var(--pc-on-surface);

    font-size: 1rem;
}


.pc-services-empty p {

    margin:
        7px
        0
        20px;

    color:
        var(--pc-on-surface-variant);

    font-size: .76rem;
}



/* ============================================================
   DARK MODE
   ============================================================ */

[data-bs-theme="dark"]
.pc-page-hero,

[data-bs-theme="dark"]
.pc-service-summary-card,

[data-bs-theme="dark"]
.pc-cloud-service-card {

    background:
        #1c1f24;

    border-color:
        #30343a;
}


[data-bs-theme="dark"]
.pc-cloud-service-top,

[data-bs-theme="dark"]
.pc-cloud-service-footer {

    border-color:
        #30343a;
}


[data-bs-theme="dark"]
.pc-resource-tile,

[data-bs-theme="dark"]
.pc-service-provisioning {

    background:
        #25282e;
}


[data-bs-theme="dark"]
.pc-cloud-service-footer {

    background:
        #202328;
}



/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 991.98px) {

    .pc-service-summary-grid {

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


    .pc-service-info-grid {

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

}


@media (max-width: 767.98px) {

    .pc-page-hero {

        min-height: auto;

        padding: 21px;

        align-items: flex-start;

        flex-direction: column;
    }


    .pc-cloud-service-top {

        align-items: flex-start;

        flex-direction: column;
    }


    .pc-service-manage-button {

        width: 100%;
    }


    .pc-service-resource-grid {

        grid-template-columns: 1fr;
    }


    .pc-service-info-grid {

        grid-template-columns: 1fr;
    }


    .pc-cloud-service-footer {

        align-items: flex-start;

        flex-direction: column;
    }


    .pc-service-billing-meta {

        width: 100%;

        justify-content: space-between;
    }

}


@media (max-width: 520px) {

    .pc-service-summary-grid {

        grid-template-columns: 1fr;
    }


    .pc-cloud-service-heading {

        align-items: flex-start;
    }

}



/* ============================================================
   PAPIW CLOUD — CLOUD SERVICES M3 HUB v3
   ============================================================ */

.pcsv3 {
    width: 100%;
}


/* HERO */

.pcsv3-hero {
    min-height: 128px;
    padding: 24px 26px;
    margin-bottom: 16px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    background: var(--pc-surface-container-lowest);
    border: 1px solid var(--pc-outline-variant);
    border-radius: 24px;
}

.pcsv3-eyebrow {
    display: block;
    margin-bottom: 6px;

    color: var(--pc-on-surface-variant);

    font-size: .72rem;
    font-weight: 600;
}

.pcsv3-hero h1 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: 1.95rem;
    font-weight: 680;
    letter-spacing: -.045em;
}

.pcsv3-hero p {
    margin: 7px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .82rem;
}

.pcsv3-deploy {
    min-height: 42px;
    padding: 0 17px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    flex-shrink: 0;

    border-radius: 999px;

    background: var(--pc-primary);
    color: var(--pc-on-primary);

    text-decoration: none;

    font-size: .76rem;
    font-weight: 650;
}

.pcsv3-deploy:hover {
    color: var(--pc-on-primary);
    filter: brightness(.96);
}


/* SUMMARY */

.pcsv3-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 12px;

    margin-bottom: 25px;
}

.pcsv3-summary-card {
    min-height: 82px;
    padding: 14px 16px;

    display: flex;
    align-items: center;
    gap: 12px;

    background: var(--pc-surface-container-lowest);
    border: 1px solid var(--pc-outline-variant);
    border-radius: 19px;
}

.pcsv3-summary-icon {
    width: 38px;
    height: 38px;

    flex: 0 0 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #dce8ff;
    color: #28558e;
}

.pcsv3-summary-icon .icon {
    width: 17px;
    height: 17px;
}

.pcsv3-green {
    background: #def4e5;
    color: #28723f;
}

.pcsv3-purple {
    background: #e4e8ff;
    color: #4c59a4;
}

.pcsv3-orange {
    background: #fff0d5;
    color: #945800;
}

.pcsv3-summary-card > div:last-child > span {
    display: block;

    color: var(--pc-on-surface-variant);

    font-size: .68rem;
}

.pcsv3-summary-card strong {
    display: block;

    margin-top: 2px;

    color: var(--pc-on-surface);

    font-size: 1.28rem;
    line-height: 1;
    font-weight: 700;
}


/* SECTION HEADER */

.pcsv3-section-head {
    margin: 0 2px 12px;
}

.pcsv3-section-head h2 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: 1rem;
    font-weight: 680;
}

.pcsv3-section-head p {
    margin: 4px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .7rem;
}


/* GRID */

.pcsv3-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 15px;
}


/* SERVICE CARD */

.pcsv3-card {
    min-width: 0;

    overflow: hidden;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid
        var(--pc-outline-variant);

    border-radius: 22px;

    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}

.pcsv3-card:hover {
    transform: translateY(-1px);

    border-color:
        color-mix(
            in srgb,
            var(--pc-primary) 28%,
            var(--pc-outline-variant)
        );

    box-shadow:
        0 6px 20px
        rgba(33, 43, 54, .05);
}


/* HEADER */

.pcsv3-card-head {
    min-height: 76px;

    padding: 15px 17px;

    display: flex;
    align-items: center;
    gap: 12px;

    border-bottom:
        1px solid
        var(--pc-outline-variant);
}

.pcsv3-product-icon {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background:
        var(--pc-primary-container);

    color:
        var(--pc-on-primary-container);
}

.pcsv3-product-icon .icon {
    width: 19px;
    height: 19px;
}

.pcsv3-card-title {
    min-width: 0;
    flex: 1;
}

.pcsv3-card-title-top {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.pcsv3-card-title h3 {
    min-width: 0;
    margin: 0;

    overflow: hidden;

    color: var(--pc-on-surface);

    font-size: .86rem;
    font-weight: 680;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.pcsv3-service-id {
    margin-top: 5px;

    display: flex;
    align-items: center;
    gap: 5px;

    color: var(--pc-on-surface-variant);

    font-size: .64rem;
}


/* SERVER BLOCK */

.pcsv3-server-block {
    padding: 16px 17px 12px;
}

.pcsv3-server-block > span {
    display: block;

    margin-bottom: 3px;

    color: var(--pc-on-surface-variant);

    font-size: .62rem;
}

.pcsv3-server-block > strong {
    display: block;

    overflow: hidden;

    color: var(--pc-on-surface);

    font-size: .8rem;
    font-weight: 650;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.pcsv3-server-block > small {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;

    margin-top: 4px;

    color: var(--pc-on-surface-variant);

    font-size: .62rem;
}


/* RESOURCES */

.pcsv3-resources {
    padding: 0 17px 14px;

    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 8px;
}

.pcsv3-resources > div {
    min-width: 0;

    padding: 11px 12px;

    background:
        var(--pc-surface-container-low);

    border-radius: 14px;
}

.pcsv3-resources span {
    display: block;

    margin-bottom: 4px;

    color: var(--pc-on-surface-variant);

    font-size: .59rem;
}

.pcsv3-resources strong {
    display: block;

    overflow: hidden;

    color: var(--pc-on-surface);

    font-size: .77rem;
    font-weight: 680;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.pcsv3-resources small {
    color: var(--pc-on-surface-variant);

    font-size: .59rem;
    font-weight: 500;
}


/* DETAILS */

.pcsv3-details {
    padding: 0 17px 16px;

    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px;
}

.pcsv3-details span {
    display: block;

    margin-bottom: 3px;

    color: var(--pc-on-surface-variant);

    font-size: .59rem;
}

.pcsv3-details strong {
    display: block;

    overflow: hidden;

    color: var(--pc-on-surface);

    font-size: .7rem;
    font-weight: 600;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.pcsv3-mono {
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Consolas,
        monospace;
}


/* PENDING */

.pcsv3-pending {
    min-height: 142px;

    margin: 14px 17px;

    padding: 18px;

    display: flex;
    align-items: center;
    gap: 13px;

    background:
        var(--pc-surface-container-low);

    border-radius: 17px;
}

.pcsv3-pending-icon {
    width: 40px;
    height: 40px;

    flex: 0 0 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        var(--pc-primary-container);

    color:
        var(--pc-on-primary-container);
}

.pcsv3-pending-icon .icon {
    width: 17px;
    height: 17px;
}

.pcsv3-pending strong {
    display: block;

    color: var(--pc-on-surface);

    font-size: .76rem;
    font-weight: 650;
}

.pcsv3-pending p {
    margin: 4px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .65rem;
    line-height: 1.45;
}


/* FOOTER */

.pcsv3-card-footer {
    min-height: 66px;

    padding: 11px 16px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;

    background:
        color-mix(
            in srgb,
            var(--pc-surface-container-low) 70%,
            transparent
        );

    border-top:
        1px solid
        var(--pc-outline-variant);
}

.pcsv3-billing {
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 20px;
}

.pcsv3-billing span {
    display: block;

    margin-bottom: 2px;

    color: var(--pc-on-surface-variant);

    font-size: .56rem;
}

.pcsv3-billing strong {
    display: block;

    color: var(--pc-on-surface);

    font-size: .66rem;
    font-weight: 650;
}

.pcsv3-manage {
    min-height: 36px;

    padding: 0 13px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    flex-shrink: 0;

    border-radius: 999px;

    background:
        var(--pc-secondary-container);

    color:
        var(--pc-on-secondary-container);

    text-decoration: none;

    font-size: .68rem;
    font-weight: 650;
}

.pcsv3-manage:hover {
    color:
        var(--pc-on-secondary-container);
}


/* EMPTY */

.pcsv3-empty {
    min-height: 300px;

    margin-top: 14px;
    padding: 40px 20px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    background:
        var(--pc-surface-container-lowest);

    border:
        1px solid
        var(--pc-outline-variant);

    border-radius: 22px;
}

.pcsv3-empty-icon {
    width: 50px;
    height: 50px;

    margin-bottom: 13px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 17px;

    background:
        var(--pc-primary-container);

    color:
        var(--pc-on-primary-container);
}

.pcsv3-empty h2 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: 1rem;
}

.pcsv3-empty p {
    margin: 6px 0 18px;

    color: var(--pc-on-surface-variant);

    font-size: .72rem;
}


/* DARK MODE */

[data-bs-theme="dark"] .pcsv3-hero,
[data-bs-theme="dark"] .pcsv3-summary-card,
[data-bs-theme="dark"] .pcsv3-card,
[data-bs-theme="dark"] .pcsv3-empty {
    background: #1c1f24;
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcsv3-card-head,
[data-bs-theme="dark"] .pcsv3-card-footer {
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcsv3-resources > div,
[data-bs-theme="dark"] .pcsv3-pending {
    background: #25282e;
}

[data-bs-theme="dark"] .pcsv3-card-footer {
    background: #202328;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

    .pcsv3-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 850px) {

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

}

@media (max-width: 767.98px) {

    .pcsv3-hero {
        min-height: auto;
        padding: 20px;

        align-items: flex-start;
        flex-direction: column;
    }

    .pcsv3-deploy {
        width: 100%;
    }

}

@media (max-width: 520px) {

    .pcsv3-summary {
        grid-template-columns: 1fr;
    }

    .pcsv3-resources {
        grid-template-columns: 1fr;
    }

    .pcsv3-details {
        grid-template-columns: 1fr;
    }

    .pcsv3-card-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .pcsv3-manage {
        width: 100%;
    }

}



/* ============================================================
   CLOUD SERVICE ICON POLISH v3.1
   ============================================================ */

.pcsv3-summary-icon svg,
.pcsv3-product-icon svg,
.pcsv3-pending-icon svg,
.pcsv3-empty-icon svg {
    display: block;
}

.pcsv3-product-icon {
    background: #dce8ff;
    color: #174d91;
}

.pcsv3-pending-icon {
    background: #e4e8ff;
    color: #4c59a4;
}


/* Product/server icon slightly stronger */

.pcsv3-product-icon .icon {
    width: 21px;
    height: 21px;
}


/* Dark */

[data-bs-theme="dark"] .pcsv3-product-icon {
    background: #263b5c;
    color: #c7dcff;
}

[data-bs-theme="dark"] .pcsv3-summary-icon {
    background: #263b5c;
    color: #c7dcff;
}

[data-bs-theme="dark"] .pcsv3-summary-icon.pcsv3-green {
    background: #203b2b;
    color: #a9e6bb;
}

[data-bs-theme="dark"] .pcsv3-summary-icon.pcsv3-purple {
    background: #303553;
    color: #ccd3ff;
}

[data-bs-theme="dark"] .pcsv3-summary-icon.pcsv3-orange {
    background: #493514;
    color: #ffd99a;
}



/* ============================================================
   PAPIW CLOUD — SERVICE DETAIL M3 HUB
   ============================================================ */

.pcsd {
    width: 100%;
}


/* HERO */

.pcsd-hero {
    min-height: 128px;
    padding: 22px 24px;
    margin-bottom: 14px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    background: var(--pc-surface-container-lowest);
    border: 1px solid var(--pc-outline-variant);
    border-radius: 24px;
}

.pcsd-hero-main {
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 16px;
}

.pcsd-service-icon {
    width: 52px;
    height: 52px;

    flex: 0 0 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 17px;

    background: #dce8ff;
    color: #174d91;
}

.pcsd-service-icon svg {
    width: 24px;
    height: 24px;
}

.pcsd-hero-copy {
    min-width: 0;
}

.pcsd-eyebrow {
    margin-bottom: 5px;

    color: var(--pc-on-surface-variant);

    font-size: .67rem;
    font-weight: 600;
}

.pcsd-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.pcsd-title-row h1 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: 1.55rem;
    line-height: 1.15;

    font-weight: 680;
    letter-spacing: -.035em;
}

.pcsd-identifiers {
    margin-top: 7px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;

    color: var(--pc-on-surface-variant);

    font-size: .65rem;
}


/* STATUS */

.pcsd-status {
    min-height: 27px;

    padding: 0 10px;

    display: inline-flex;
    align-items: center;
    gap: 6px;

    border-radius: 999px;

    background: var(--pc-surface-container);
    color: var(--pc-on-surface-variant);

    font-size: .62rem;
    font-weight: 700;
}

.pcsd-status i {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: currentColor;
}

.pcsd-status-active {
    background: #dff5e5;
    color: #28723f;
}

.pcsd-status-provisioning {
    background: #e4e8ff;
    color: #4b59a3;
}

.pcsd-status-warning {
    background: #fff0d5;
    color: #945800;
}

.pcsd-status-danger {
    background: #ffe2e0;
    color: #a33a32;
}


/* SUPPORT BUTTON */

.pcsd-support-button {
    min-height: 40px;
    padding: 0 15px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    flex-shrink: 0;

    border-radius: 999px;

    background: var(--pc-secondary-container);
    color: var(--pc-on-secondary-container);

    text-decoration: none;

    font-size: .7rem;
    font-weight: 650;
}

.pcsd-support-button svg {
    width: 16px;
    height: 16px;
}

.pcsd-support-button:hover {
    color: var(--pc-on-secondary-container);
}


/* RESOURCE CARDS */

.pcsd-resources {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 12px;

    margin-bottom: 14px;
}

.pcsd-resource-card {
    min-height: 92px;

    padding: 16px;

    display: flex;
    align-items: center;
    gap: 13px;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid
        var(--pc-outline-variant);

    border-radius: 20px;
}

.pcsd-resource-icon {
    width: 40px;
    height: 40px;

    flex: 0 0 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background: #dce8ff;
    color: #28558e;
}

.pcsd-resource-memory {
    background: #e4e8ff;
    color: #505da5;
}

.pcsd-resource-storage {
    background: #def4e5;
    color: #28723f;
}

.pcsd-resource-icon svg {
    width: 19px;
    height: 19px;
}

.pcsd-resource-card span {
    display: block;

    color: var(--pc-on-surface-variant);

    font-size: .63rem;
}

.pcsd-resource-card strong {
    display: block;

    margin-top: 3px;

    color: var(--pc-on-surface);

    font-size: 1rem;
    line-height: 1.15;

    font-weight: 700;
}

.pcsd-resource-card small {
    color: var(--pc-on-surface-variant);

    font-size: .62rem;
    font-weight: 500;
}


/* MAIN */

.pcsd-main-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.5fr)
        minmax(290px, .8fr);

    gap: 14px;

    align-items: start;

    margin-bottom: 14px;
}

.pcsd-side-stack {
    display: grid;
    gap: 14px;
}


/* PANEL */

.pcsd-panel {
    overflow: hidden;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid
        var(--pc-outline-variant);

    border-radius: 22px;
}

.pcsd-panel-head {
    min-height: 74px;

    padding: 16px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    border-bottom:
        1px solid
        var(--pc-outline-variant);
}

.pcsd-panel-head h2 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: .86rem;
    font-weight: 680;
}

.pcsd-panel-head p {
    margin: 4px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .62rem;
}

.pcsd-panel-head-icon {
    width: 36px;
    height: 36px;

    flex: 0 0 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #e7efff;
    color: #28558e;
}

.pcsd-panel-head-icon svg {
    width: 17px;
    height: 17px;
}


/* INFRASTRUCTURE */

.pcsd-info-list {
    display: grid;

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

.pcsd-info-row {
    min-height: 91px;

    padding: 18px;

    display: flex;
    align-items: center;

    border-bottom:
        1px solid
        var(--pc-outline-variant);
}

.pcsd-info-row:nth-child(odd) {
    border-right:
        1px solid
        var(--pc-outline-variant);
}

.pcsd-info-row:nth-last-child(-n+2) {
    border-bottom: 0;
}

.pcsd-info-row span {
    display: block;

    margin-bottom: 5px;

    color: var(--pc-on-surface-variant);

    font-size: .61rem;
}

.pcsd-info-row strong {
    display: block;

    overflow: hidden;

    color: var(--pc-on-surface);

    font-size: .76rem;
    font-weight: 650;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.pcsd-mono {
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: .7rem !important;
}


/* COMPACT LIST */

.pcsd-compact-list {
    padding: 6px 17px;
}

.pcsd-compact-list > div {
    min-height: 42px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    border-bottom:
        1px solid
        var(--pc-outline-variant);
}

.pcsd-compact-list > div:last-child {
    border-bottom: 0;
}

.pcsd-compact-list span {
    color: var(--pc-on-surface-variant);

    font-size: .62rem;
}

.pcsd-compact-list strong {
    color: var(--pc-on-surface);

    text-align: right;

    font-size: .68rem;
    font-weight: 650;
}


/* HELP */

.pcsd-help {
    min-height: 86px;

    padding: 16px 18px;

    display: grid;

    grid-template-columns:
        40px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 14px;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid
        var(--pc-outline-variant);

    border-radius: 20px;
}

.pcsd-help-icon {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #e7efff;
    color: #28558e;
}

.pcsd-help-icon svg {
    width: 18px;
    height: 18px;
}

.pcsd-help strong {
    display: block;

    color: var(--pc-on-surface);

    font-size: .73rem;
}

.pcsd-help p {
    margin: 3px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .62rem;
}

.pcsd-help > a {
    min-height: 37px;

    padding: 0 13px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    background: var(--pc-secondary-container);
    color: var(--pc-on-secondary-container);

    text-decoration: none;

    font-size: .66rem;
    font-weight: 650;
}


/* DARK */

[data-bs-theme="dark"] .pcsd-hero,
[data-bs-theme="dark"] .pcsd-resource-card,
[data-bs-theme="dark"] .pcsd-panel,
[data-bs-theme="dark"] .pcsd-help {
    background: #1c1f24;
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcsd-panel-head,
[data-bs-theme="dark"] .pcsd-info-row,
[data-bs-theme="dark"] .pcsd-compact-list > div {
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcsd-service-icon,
[data-bs-theme="dark"] .pcsd-resource-icon,
[data-bs-theme="dark"] .pcsd-panel-head-icon,
[data-bs-theme="dark"] .pcsd-help-icon {
    background: #263b5c;
    color: #c7dcff;
}


/* RESPONSIVE */

@media (max-width: 991.98px) {

    .pcsd-main-grid {
        grid-template-columns: 1fr;
    }

    .pcsd-side-stack {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 767.98px) {

    .pcsd-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .pcsd-support-button {
        width: 100%;
    }

    .pcsd-resources {
        grid-template-columns: 1fr;
    }

    .pcsd-side-stack {
        grid-template-columns: 1fr;
    }

    .pcsd-help {
        grid-template-columns:
            40px
            minmax(0, 1fr);
    }

    .pcsd-help > a {
        grid-column: 1 / -1;
    }

}

@media (max-width: 520px) {

    .pcsd-info-list {
        grid-template-columns: 1fr;
    }

    .pcsd-info-row,
    .pcsd-info-row:nth-child(odd) {
        border-right: 0;
        border-bottom:
            1px solid
            var(--pc-outline-variant);
    }

    .pcsd-info-row:last-child {
        border-bottom: 0;
    }

}



/* ============================================================
   PAPIW CLOUD — BILLING M3 HUB
   ============================================================ */

.pcbill {
    width: 100%;
}


/* HERO */

.pcbill-hero {
    min-height: 128px;

    padding: 24px 26px;
    margin-bottom: 14px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    background: var(--pc-surface-container-lowest);

    border: 1px solid var(--pc-outline-variant);
    border-radius: 24px;
}

.pcbill-eyebrow {
    display: block;

    margin-bottom: 6px;

    color: var(--pc-on-surface-variant);

    font-size: .7rem;
    font-weight: 600;
}

.pcbill-hero h1 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: 1.95rem;
    font-weight: 680;
    letter-spacing: -.045em;
}

.pcbill-hero p {
    margin: 7px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .8rem;
}


/* HERO STATUS */

.pcbill-attention,
.pcbill-clear {
    min-height: 36px;

    padding: 0 13px;

    display: inline-flex;
    align-items: center;
    gap: 7px;

    flex-shrink: 0;

    border-radius: 999px;

    font-size: .66rem;
    font-weight: 700;
}

.pcbill-attention {
    background: #fff0d5;
    color: #945800;
}

.pcbill-clear {
    background: #dff5e5;
    color: #28723f;
}

.pcbill-attention-dot,
.pcbill-clear > span {
    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: currentColor;
}


/* SUMMARY */

.pcbill-summary {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 12px;

    margin-bottom: 16px;
}

.pcbill-summary-card {
    min-height: 104px;

    padding: 17px;

    display: flex;
    align-items: center;
    gap: 14px;

    background: var(--pc-surface-container-lowest);

    border: 1px solid var(--pc-outline-variant);
    border-radius: 20px;
}

.pcbill-summary-icon {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background: #dce8ff;
    color: #28558e;
}

.pcbill-summary-icon svg {
    width: 19px;
    height: 19px;
}

.pcbill-summary-paid {
    background: #def4e5;
    color: #28723f;
}

.pcbill-summary-unpaid {
    background: #fff0d5;
    color: #945800;
}

.pcbill-summary-card > div:last-child > span {
    display: block;

    color: var(--pc-on-surface-variant);

    font-size: .64rem;
}

.pcbill-summary-card strong {
    display: block;

    margin-top: 2px;

    color: var(--pc-on-surface);

    font-size: 1.4rem;
    line-height: 1;

    font-weight: 700;
}

.pcbill-summary-card small {
    display: block;

    margin-top: 6px;

    color: var(--pc-on-surface-variant);

    font-size: .59rem;
}


/* MAIN PANEL */

.pcbill-panel {
    overflow: hidden;

    background: var(--pc-surface-container-lowest);

    border: 1px solid var(--pc-outline-variant);
    border-radius: 22px;
}

.pcbill-panel-head {
    min-height: 80px;

    padding: 16px 19px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    border-bottom:
        1px solid var(--pc-outline-variant);
}

.pcbill-panel-head h2 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: .92rem;
    font-weight: 680;
}

.pcbill-panel-head p {
    margin: 4px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .63rem;
}


/* TABS */

.pcbill-tabs {
    padding: 4px;

    display: flex;
    gap: 3px;

    background: var(--pc-surface-container-low);

    border-radius: 999px;
}

.pcbill-tab {
    min-height: 34px;

    padding: 0 13px;

    display: inline-flex;
    align-items: center;
    gap: 6px;

    border: 0;
    border-radius: 999px;

    background: transparent;

    color: var(--pc-on-surface-variant);

    font-size: .66rem;
    font-weight: 650;
}

.pcbill-tab.active {
    background: var(--pc-surface-container-lowest);
    color: var(--pc-on-surface);

    box-shadow:
        0 1px 3px rgba(20, 30, 50, .08);
}

.pcbill-tab-count {
    min-width: 20px;
    height: 20px;

    padding: 0 6px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    background: var(--pc-surface-container);
    color: var(--pc-on-surface-variant);

    font-size: .58rem;
}

.pcbill-tab-danger {
    background: #ffe1dd;
    color: #9b342c;
}


/* INVOICE ROW */

.pcbill-row {
    min-height: 82px;

    padding: 13px 17px;

    display: grid;

    grid-template-columns:
        42px
        minmax(0, 1fr)
        minmax(130px, auto)
        auto;

    align-items: center;

    gap: 14px;

    color: inherit;
    text-decoration: none;

    border-bottom:
        1px solid var(--pc-outline-variant);

    transition:
        background-color .14s ease;
}

.pcbill-row:last-child {
    border-bottom: 0;
}

.pcbill-row:hover {
    background: var(--pc-surface-container-low);
    color: inherit;
}


/* ICON */

.pcbill-invoice-icon {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background: #dce8ff;
    color: #28558e;
}

.pcbill-invoice-icon svg {
    width: 18px;
    height: 18px;
}

.pcbill-invoice-paid {
    background: #def4e5;
    color: #28723f;
}

.pcbill-invoice-unpaid {
    background: #fff0d5;
    color: #945800;
}


/* MAIN */

.pcbill-main {
    min-width: 0;
}

.pcbill-title-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 7px;
}

.pcbill-title-line strong {
    color: var(--pc-on-surface);

    font-size: .75rem;
    font-weight: 680;
}

.pcbill-meta {
    margin-top: 5px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 5px;

    color: var(--pc-on-surface-variant);

    font-size: .6rem;
}


/* STATUS */

.pcbill-status {
    min-height: 23px;

    padding: 0 8px;

    display: inline-flex;
    align-items: center;

    border-radius: 999px;

    font-size: .57rem;
    font-weight: 700;
}

.pcbill-status-unpaid {
    background: #fff0d5;
    color: #945800;
}

.pcbill-status-paid {
    background: #def4e5;
    color: #28723f;
}


/* AMOUNT */

.pcbill-amount {
    min-width: 0;
}

.pcbill-amount span {
    display: block;

    color: var(--pc-on-surface-variant);

    font-size: .58rem;
}

.pcbill-amount strong {
    display: block;

    margin-top: 3px;

    color: var(--pc-on-surface);

    font-size: .72rem;
    font-weight: 680;
}


/* ACTION */

.pcbill-row-action {
    min-height: 34px;

    padding: 0 12px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    border-radius: 999px;

    background: var(--pc-secondary-container);
    color: var(--pc-on-secondary-container);

    font-size: .64rem;
    font-weight: 650;
}


/* EMPTY */

.pcbill-empty {
    min-height: 240px;

    padding: 35px 20px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;
}

.pcbill-empty-icon {
    width: 46px;
    height: 46px;

    margin-bottom: 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 15px;

    background: #def4e5;
    color: #28723f;
}

.pcbill-empty-icon svg {
    width: 20px;
    height: 20px;
}

.pcbill-empty strong {
    color: var(--pc-on-surface);

    font-size: .78rem;
}

.pcbill-empty p {
    margin: 5px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .64rem;
}


/* PAGINATION */

.pcbill-pagination {
    padding: 14px 16px;

    border-top:
        1px solid var(--pc-outline-variant);
}


/* DARK */

[data-bs-theme="dark"] .pcbill-hero,
[data-bs-theme="dark"] .pcbill-summary-card,
[data-bs-theme="dark"] .pcbill-panel {
    background: #1c1f24;
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcbill-panel-head,
[data-bs-theme="dark"] .pcbill-row,
[data-bs-theme="dark"] .pcbill-pagination {
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcbill-tabs {
    background: #25282e;
}

[data-bs-theme="dark"] .pcbill-tab.active {
    background: #32363d;
}

[data-bs-theme="dark"] .pcbill-row:hover {
    background: #25282e;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .pcbill-row {
        grid-template-columns:
            40px
            minmax(0, 1fr)
            auto;
    }

    .pcbill-amount {
        display: none;
    }

}

@media (max-width: 767.98px) {

    .pcbill-hero {
        min-height: auto;

        padding: 20px;

        align-items: flex-start;
        flex-direction: column;
    }

    .pcbill-summary {
        grid-template-columns: 1fr;
    }

    .pcbill-panel-head {
        align-items: flex-start;
        flex-direction: column;
    }

}

@media (max-width: 520px) {

    .pcbill-row {
        grid-template-columns:
            38px
            minmax(0, 1fr);

        padding: 13px;
    }

    .pcbill-row-action {
        grid-column: 1 / -1;

        width: 100%;
    }

}



/* ============================================================
   PAPIW CLOUD — INVOICE DETAIL M3
   ============================================================ */

.pcinv {
    width: 100%;
}


/* HERO */

.pcinv-hero {
    min-height: 126px;

    padding: 22px 24px;
    margin-bottom: 14px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid
        var(--pc-outline-variant);

    border-radius: 24px;
}

.pcinv-back {
    display: inline-block;

    margin-bottom: 7px;

    color: var(--pc-primary);

    text-decoration: none;

    font-size: .66rem;
    font-weight: 650;
}

.pcinv-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

.pcinv-title-row h1 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: 1.55rem;
    font-weight: 680;
    letter-spacing: -.035em;
}

.pcinv-meta {
    margin-top: 7px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;

    color: var(--pc-on-surface-variant);

    font-size: .63rem;
}


/* STATUS */

.pcinv-status {
    min-height: 26px;

    padding: 0 9px;

    display: inline-flex;
    align-items: center;
    gap: 6px;

    border-radius: 999px;

    font-size: .59rem;
    font-weight: 700;
}

.pcinv-status i {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: currentColor;
}

.pcinv-status-paid {
    background: #def4e5;
    color: #28723f;
}

.pcinv-status-unpaid {
    background: #fff0d5;
    color: #945800;
}


/* ACTIONS */

.pcinv-hero-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pcinv-action-button {
    min-height: 38px;
    padding: 0 12px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    border-radius: 999px;

    background:
        var(--pc-secondary-container);

    color:
        var(--pc-on-secondary-container);

    text-decoration: none;

    font-size: .64rem;
    font-weight: 650;
}

.pcinv-action-button svg {
    width: 15px;
    height: 15px;
}


/* TOP GRID */

.pcinv-top-grid {
    display: grid;

    grid-template-columns:
        minmax(250px, .68fr)
        minmax(0, 1.32fr);

    gap: 14px;

    margin-bottom: 14px;
}


/* AMOUNT */

.pcinv-amount-card {
    min-height: 165px;

    padding: 22px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    background:
        linear-gradient(
            145deg,
            var(--pc-primary-container),
            var(--pc-surface-container-lowest)
        );

    border:
        1px solid
        var(--pc-outline-variant);

    border-radius: 22px;
}

.pcinv-card-label {
    color: var(--pc-on-surface-variant);

    font-size: .66rem;
    font-weight: 600;
}

.pcinv-amount-card strong {
    margin-top: 8px;

    color: var(--pc-on-surface);

    font-size: 1.75rem;
    line-height: 1;

    font-weight: 720;
    letter-spacing: -.04em;
}

.pcinv-amount-card p {
    margin: 9px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .65rem;
}


/* PAYMENT */

.pcinv-payment-card,
.pcinv-paid-card,
.pcinv-panel {
    overflow: hidden;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid
        var(--pc-outline-variant);

    border-radius: 22px;
}

.pcinv-section-head {
    min-height: 72px;

    padding: 15px 17px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    border-bottom:
        1px solid
        var(--pc-outline-variant);
}

.pcinv-section-head h2 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: .84rem;
    font-weight: 680;
}

.pcinv-section-head p {
    margin: 4px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .6rem;
}

.pcinv-head-icon {
    width: 36px;
    height: 36px;

    flex: 0 0 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #e7efff;
    color: #28558e;
}

.pcinv-head-icon svg {
    width: 17px;
    height: 17px;
}


/* GATEWAYS */

.pcinv-gateway-list {
    padding: 12px;
}

.pcinv-gateway {
    margin-bottom: 8px;
}

.pcinv-gateway:last-child {
    margin-bottom: 0;
}

.pcinv-gateway-label {
    min-height: 60px;

    padding: 10px 12px;

    display: grid;

    grid-template-columns:
        54px
        minmax(0, 1fr)
        20px;

    align-items: center;

    gap: 12px;

    cursor: pointer;

    border:
        1px solid
        var(--pc-outline-variant);

    border-radius: 16px;

    transition:
        background-color .14s ease,
        border-color .14s ease;
}

.pcinv-gateway-label:hover {
    background:
        var(--pc-surface-container-low);
}

.pcinv-gateway-logo {
    width: 52px;
    height: 34px;

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.pcinv-gateway-label strong {
    display: block;

    color: var(--pc-on-surface);

    font-size: .7rem;
}

.pcinv-gateway-label span {
    display: block;

    margin-top: 2px;

    color: var(--pc-on-surface-variant);

    font-size: .57rem;
}

.pcinv-gateway-arrow {
    color: var(--pc-primary) !important;

    font-size: .9rem !important;
}


/* PAID */

.pcinv-paid-card {
    min-height: 165px;

    padding: 22px;

    display: flex;
    align-items: center;
    gap: 14px;
}

.pcinv-paid-icon {
    width: 46px;
    height: 46px;

    flex: 0 0 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #def4e5;
    color: #28723f;
}

.pcinv-paid-icon svg {
    width: 21px;
    height: 21px;
}

.pcinv-paid-card strong {
    color: var(--pc-on-surface);

    font-size: .76rem;
}

.pcinv-paid-card p {
    margin: 4px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .62rem;
}


/* MAIN */

.pcinv-main-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(290px, .72fr);

    gap: 14px;

    align-items: start;
}

.pcinv-side {
    display: grid;
    gap: 14px;
}


/* ITEMS */

.pcinv-items {
    display: grid;
}

.pcinv-item-row {
    min-height: 76px;

    padding: 13px 16px;

    display: grid;

    grid-template-columns:
        30px
        minmax(0, 1fr)
        minmax(115px, auto)
        minmax(115px, auto);

    align-items: center;

    gap: 13px;

    border-bottom:
        1px solid
        var(--pc-outline-variant);
}

.pcinv-item-number {
    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background:
        var(--pc-surface-container-low);

    color:
        var(--pc-on-surface-variant);

    font-size: .6rem;
    font-weight: 700;
}

.pcinv-item-main {
    min-width: 0;
}

.pcinv-item-main a,
.pcinv-item-main strong {
    display: block;

    overflow: hidden;

    color: var(--pc-on-surface);

    text-decoration: none;

    font-size: .69rem;
    font-weight: 650;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.pcinv-item-main span {
    display: block;

    margin-top: 4px;

    color: var(--pc-on-surface-variant);

    font-size: .57rem;
}

.pcinv-item-price span,
.pcinv-item-total span {
    display: block;

    color: var(--pc-on-surface-variant);

    font-size: .55rem;
}

.pcinv-item-price strong,
.pcinv-item-total strong {
    display: block;

    margin-top: 3px;

    color: var(--pc-on-surface);

    font-size: .66rem;
    font-weight: 650;
}


/* TOTAL */

.pcinv-total-block {
    margin-left: auto;

    width: min(380px, 100%);

    padding: 13px 16px;
}

.pcinv-total-block > div {
    min-height: 38px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    color: var(--pc-on-surface-variant);

    font-size: .64rem;
}

.pcinv-total-block strong {
    color: var(--pc-on-surface);
}

.pcinv-grand-total {
    margin-top: 4px;
    padding-top: 10px;

    border-top:
        1px solid
        var(--pc-outline-variant);

    font-size: .72rem !important;
}

.pcinv-grand-total strong {
    font-size: .84rem;
}


/* INFO */

.pcinv-info-list {
    padding: 7px 16px;
}

.pcinv-info-list > div {
    padding: 10px 0;

    border-bottom:
        1px solid
        var(--pc-outline-variant);
}

.pcinv-info-list > div:last-child {
    border-bottom: 0;
}

.pcinv-info-list span {
    display: block;

    margin-bottom: 4px;

    color: var(--pc-on-surface-variant);

    font-size: .56rem;
}

.pcinv-info-list strong {
    display: block;

    color: var(--pc-on-surface);

    font-size: .65rem;
    font-weight: 650;
    line-height: 1.45;
}


/* NOTES */

.pcinv-note {
    margin: 12px 16px 0;
    padding: 12px;

    background:
        var(--pc-surface-container-low);

    border-radius: 14px;

    color: var(--pc-on-surface-variant);

    font-size: .62rem;
}

.pcinv-note-bottom {
    margin-bottom: 14px;
}


/* MODAL */

.pcinv-payment-modal {
    border: 0;
    border-radius: 24px;

    overflow: hidden;
}

.pcinv-modal-eyebrow {
    margin-bottom: 3px;

    color: var(--pc-on-surface-variant);

    font-size: .58rem;
    font-weight: 600;
}

.pcinv-modal-text {
    color: var(--pc-on-surface-variant);

    font-size: .7rem;
}

.pcinv-modal-actions {
    display: grid;
    gap: 8px;

    margin-top: 16px;
}

.pcinv-pay-primary {
    min-height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    background: var(--pc-primary);
    color: var(--pc-on-primary);

    text-decoration: none;

    font-size: .7rem;
    font-weight: 650;
}

.pcinv-pay-primary:hover {
    color: var(--pc-on-primary);
}

.pcinv-modal-cancel {
    min-height: 38px;

    padding: 0 14px;

    border: 0;
    border-radius: 999px;

    background:
        var(--pc-secondary-container);

    color:
        var(--pc-on-secondary-container);

    font-size: .66rem;
    font-weight: 650;
}


/* DARK */

[data-bs-theme="dark"] .pcinv-hero,
[data-bs-theme="dark"] .pcinv-payment-card,
[data-bs-theme="dark"] .pcinv-paid-card,
[data-bs-theme="dark"] .pcinv-panel {
    background: #1c1f24;
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcinv-amount-card {
    background:
        linear-gradient(
            145deg,
            #263b5c,
            #1c1f24
        );

    border-color: #30343a;
}

[data-bs-theme="dark"] .pcinv-section-head,
[data-bs-theme="dark"] .pcinv-item-row,
[data-bs-theme="dark"] .pcinv-info-list > div,
[data-bs-theme="dark"] .pcinv-grand-total {
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcinv-gateway-label:hover,
[data-bs-theme="dark"] .pcinv-note,
[data-bs-theme="dark"] .pcinv-item-number {
    background: #25282e;
}

[data-bs-theme="dark"] .pcinv-head-icon {
    background: #263b5c;
    color: #c7dcff;
}


/* RESPONSIVE */

@media (max-width: 991.98px) {

    .pcinv-main-grid {
        grid-template-columns: 1fr;
    }

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

}

@media (max-width: 767.98px) {

    .pcinv-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .pcinv-hero-actions {
        width: 100%;
    }

    .pcinv-action-button {
        flex: 1;
    }

    .pcinv-top-grid {
        grid-template-columns: 1fr;
    }

    .pcinv-side {
        grid-template-columns: 1fr;
    }

    .pcinv-item-row {
        grid-template-columns:
            30px
            minmax(0, 1fr)
            auto;
    }

    .pcinv-item-price {
        display: none;
    }

}

@media (max-width: 520px) {

    .pcinv-title-row h1 {
        font-size: 1.25rem;
    }

    .pcinv-item-row {
        grid-template-columns:
            28px
            minmax(0, 1fr);
    }

    .pcinv-item-total {
        grid-column: 2;
    }

}



/* ============================================================
   PAPIW CLOUD — SUPPORT CENTER M3
   ============================================================ */

.pcsup {
    width: 100%;
}


/* HERO */

.pcsup-hero {
    min-height: 128px;
    padding: 24px 26px;
    margin-bottom: 14px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    background: var(--pc-surface-container-lowest);
    border: 1px solid var(--pc-outline-variant);
    border-radius: 24px;
}

.pcsup-eyebrow {
    display: block;
    margin-bottom: 6px;

    color: var(--pc-on-surface-variant);

    font-size: .7rem;
    font-weight: 600;
}

.pcsup-hero h1 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: 1.95rem;
    font-weight: 680;
    letter-spacing: -.045em;
}

.pcsup-hero p {
    margin: 7px 0 0;

    color: var(--pc-on-surface-variant);
    font-size: .8rem;
}


/* BUTTONS */

.pcsup-primary,
.pcsup-secondary {
    min-height: 40px;
    padding: 0 15px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    border: 0;
    border-radius: 999px;

    text-decoration: none;

    font-size: .66rem;
    font-weight: 680;
}

.pcsup-primary {
    background: var(--pc-primary);
    color: var(--pc-on-primary);
}

.pcsup-primary:hover {
    color: var(--pc-on-primary);
}

.pcsup-secondary {
    background: var(--pc-secondary-container);
    color: var(--pc-on-secondary-container);
}


/* SUMMARY */

.pcsup-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));

    gap: 12px;
    margin-bottom: 16px;
}

.pcsup-stat {
    min-height: 100px;
    padding: 16px;

    display: flex;
    align-items: center;
    gap: 13px;

    background: var(--pc-surface-container-lowest);

    border: 1px solid var(--pc-outline-variant);
    border-radius: 20px;
}

.pcsup-stat-icon {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
}

.pcsup-stat-icon svg {
    width: 19px;
    height: 19px;
}

.pcsup-icon-blue {
    background: #dce8ff;
    color: #28558e;
}

.pcsup-icon-green {
    background: #def4e5;
    color: #28723f;
}

.pcsup-icon-amber {
    background: #fff0d5;
    color: #945800;
}

.pcsup-icon-purple {
    background: #ece6ff;
    color: #65558f;
}

.pcsup-stat > div:last-child > span {
    display: block;

    color: var(--pc-on-surface-variant);
    font-size: .62rem;
}

.pcsup-stat strong {
    display: block;
    margin-top: 2px;

    color: var(--pc-on-surface);

    font-size: 1.35rem;
    line-height: 1;

    font-weight: 700;
}

.pcsup-stat small {
    display: block;
    margin-top: 6px;

    color: var(--pc-on-surface-variant);
    font-size: .57rem;
}


/* PANEL */

.pcsup-panel {
    overflow: hidden;

    background: var(--pc-surface-container-lowest);

    border: 1px solid var(--pc-outline-variant);
    border-radius: 22px;
}

.pcsup-panel-head {
    min-height: 76px;
    padding: 15px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    border-bottom: 1px solid var(--pc-outline-variant);
}

.pcsup-panel-head h2 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: .88rem;
    font-weight: 680;
}

.pcsup-panel-head p {
    margin: 4px 0 0;

    color: var(--pc-on-surface-variant);
    font-size: .61rem;
}

.pcsup-count {
    min-height: 30px;
    padding: 0 11px;

    display: inline-flex;
    align-items: center;

    border-radius: 999px;

    background: var(--pc-secondary-container);
    color: var(--pc-on-secondary-container);

    font-size: .6rem;
    font-weight: 650;
}


/* TICKET */

.pcsup-ticket {
    min-height: 78px;
    padding: 13px 17px;

    display: grid;

    grid-template-columns:
        42px
        minmax(0,1fr)
        auto;

    align-items: center;
    gap: 14px;

    color: inherit;
    text-decoration: none;

    border-bottom: 1px solid var(--pc-outline-variant);

    transition: background-color .14s ease;
}

.pcsup-ticket:last-child {
    border-bottom: 0;
}

.pcsup-ticket:hover {
    background: var(--pc-surface-container-low);
    color: inherit;
}

.pcsup-ticket-icon {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background: #dce8ff;
    color: #28558e;
}

.pcsup-ticket-icon svg {
    width: 18px;
    height: 18px;
}

.pcsup-ticket-main {
    min-width: 0;
}

.pcsup-ticket-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.pcsup-ticket-title strong {
    color: var(--pc-on-surface);

    font-size: .72rem;
    font-weight: 680;
}

.pcsup-ticket-meta {
    margin-top: 5px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;

    color: var(--pc-on-surface-variant);

    font-size: .58rem;
}


/* STATUS */

.pcsup-status {
    min-height: 23px;
    padding: 0 8px;

    display: inline-flex;
    align-items: center;

    border-radius: 999px;

    font-size: .55rem;
    font-weight: 700;
}

.pcsup-status-open {
    background: #def4e5;
    color: #28723f;
}

.pcsup-status-hold {
    background: #fff0d5;
    color: #945800;
}

.pcsup-status-closed {
    background: #e9edf4;
    color: #596273;
}


/* ROW ACTION */

.pcsup-ticket-action {
    min-height: 34px;
    padding: 0 12px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    border-radius: 999px;

    background: var(--pc-secondary-container);
    color: var(--pc-on-secondary-container);

    font-size: .62rem;
    font-weight: 650;
}


/* EMPTY */

.pcsup-empty {
    min-height: 280px;
    padding: 35px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;
}

.pcsup-empty-icon {
    width: 50px;
    height: 50px;

    margin-bottom: 13px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 16px;

    background: #dce8ff;
    color: #28558e;
}

.pcsup-empty-icon svg {
    width: 22px;
    height: 22px;
}

.pcsup-empty strong {
    color: var(--pc-on-surface);

    font-size: .78rem;
}

.pcsup-empty p {
    max-width: 360px;

    margin: 6px 0 16px;

    color: var(--pc-on-surface-variant);

    font-size: .62rem;
}


/* PAGINATION */

.pcsup-pagination {
    padding: 14px 16px;

    border-top: 1px solid var(--pc-outline-variant);
}


/* MODAL */

.pcsup-modal {
    overflow: hidden;

    border: 0;
    border-radius: 24px;
}

.pcsup-modal .modal-header {
    padding: 20px 22px;
}

.pcsup-modal-eyebrow {
    display: block;

    margin-bottom: 4px;

    color: var(--pc-on-surface-variant);

    font-size: .57rem;
    font-weight: 600;
}

.pcsup-modal .modal-title {
    color: var(--pc-on-surface);

    font-size: 1rem;
    font-weight: 680;
}

.pcsup-modal .modal-header p {
    margin: 4px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .62rem;
}

.pcsup-modal-body {
    padding: 20px 22px;
}

.pcsup-field {
    margin-bottom: 17px;
}

.pcsup-field:last-child {
    margin-bottom: 0;
}

.pcsup-field label {
    display: block;

    margin-bottom: 7px;

    color: var(--pc-on-surface);

    font-size: .64rem;
    font-weight: 650;
}

.pcsup-field small {
    display: block;

    margin-top: 6px;

    color: var(--pc-on-surface-variant);

    font-size: .56rem;
}


/* DARK */

[data-bs-theme="dark"] .pcsup-hero,
[data-bs-theme="dark"] .pcsup-stat,
[data-bs-theme="dark"] .pcsup-panel,
[data-bs-theme="dark"] .pcsup-modal {
    background: #1c1f24;
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcsup-panel-head,
[data-bs-theme="dark"] .pcsup-ticket,
[data-bs-theme="dark"] .pcsup-pagination {
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcsup-ticket:hover {
    background: #25282e;
}

[data-bs-theme="dark"] .pcsup-status-closed {
    background: #34383f;
    color: #d8dde6;
}


/* RESPONSIVE */

@media (max-width: 991.98px) {

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

}

@media (max-width: 767.98px) {

    .pcsup-hero {
        min-height: auto;
        padding: 20px;

        align-items: flex-start;
        flex-direction: column;
    }

    .pcsup-primary {
        width: 100%;
    }

}

@media (max-width: 560px) {

    .pcsup-summary {
        grid-template-columns: 1fr;
    }

    .pcsup-ticket {
        grid-template-columns:
            40px
            minmax(0,1fr);
    }

    .pcsup-ticket-action {
        grid-column: 1 / -1;
        width: 100%;
    }

}



/* ============================================================
   PAPIW CLOUD — SUPPORT TICKET DETAIL M3
   ============================================================ */

.pcticket {
    width: 100%;
}


/* HERO */

.pcticket-hero {
    min-height: 128px;

    padding: 22px 24px;
    margin-bottom: 14px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid var(--pc-outline-variant);

    border-radius: 24px;
}

.pcticket-back {
    display: inline-block;
    margin-bottom: 7px;

    color: var(--pc-primary);

    text-decoration: none;

    font-size: .64rem;
    font-weight: 650;
}

.pcticket-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

.pcticket-title-row h1 {
    margin: 0;

    max-width: 760px;

    color: var(--pc-on-surface);

    font-size: 1.5rem;
    line-height: 1.15;

    font-weight: 680;
    letter-spacing: -.035em;
}

.pcticket-meta {
    margin-top: 7px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;

    color: var(--pc-on-surface-variant);

    font-size: .62rem;
}


/* STATUS */

.pcticket-status {
    min-height: 26px;
    padding: 0 9px;

    display: inline-flex;
    align-items: center;
    gap: 6px;

    border-radius: 999px;

    font-size: .58rem;
    font-weight: 700;
}

.pcticket-status i {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: currentColor;
}

.pcticket-status-open {
    background: #def4e5;
    color: #28723f;
}

.pcticket-status-hold {
    background: #fff0d5;
    color: #945800;
}

.pcticket-status-closed {
    background: #e9edf4;
    color: #596273;
}


/* BUTTONS */

.pcticket-actions {
    display: flex;
    align-items: center;
    gap: 8px;

    flex-shrink: 0;
}

.pcticket-primary,
.pcticket-secondary {
    min-height: 38px;
    padding: 0 13px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    border: 0;
    border-radius: 999px;

    font-size: .64rem;
    font-weight: 680;
}

.pcticket-primary {
    background: var(--pc-primary);
    color: var(--pc-on-primary);
}

.pcticket-secondary {
    background: var(--pc-secondary-container);
    color: var(--pc-on-secondary-container);
}

.pcticket-primary svg,
.pcticket-secondary svg {
    width: 15px;
    height: 15px;
}


/* SUMMARY */

.pcticket-summary {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 12px;

    margin-bottom: 14px;
}

.pcticket-summary-item {
    min-height: 82px;
    padding: 14px;

    display: flex;
    align-items: center;
    gap: 12px;

    min-width: 0;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid var(--pc-outline-variant);

    border-radius: 18px;

    color: inherit;
    text-decoration: none;
}

.pcticket-summary-icon {
    width: 38px;
    height: 38px;

    flex: 0 0 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background: #dce8ff;
    color: #28558e;
}

.pcticket-summary-icon svg {
    width: 17px;
    height: 17px;
}

.pcticket-icon-status {
    background: #def4e5;
    color: #28723f;
}

.pcticket-icon-date {
    background: #ece6ff;
    color: #65558f;
}

.pcticket-icon-service {
    background: #fff0d5;
    color: #945800;
}

.pcticket-summary-item span {
    display: block;

    color: var(--pc-on-surface-variant);

    font-size: .58rem;
}

.pcticket-summary-item strong {
    display: block;

    margin-top: 3px;

    overflow: hidden;

    color: var(--pc-on-surface);

    font-size: .68rem;
    font-weight: 650;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.pcticket-related {
    display: grid;

    grid-template-columns:
        38px minmax(0,1fr) auto;
}

.pcticket-related-arrow {
    color: var(--pc-primary);
}


/* CONVERSATION */

.pcticket-conversation {
    overflow: hidden;

    margin-bottom: 14px;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid var(--pc-outline-variant);

    border-radius: 22px;
}

.pcticket-section-head {
    min-height: 72px;

    padding: 15px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    border-bottom:
        1px solid var(--pc-outline-variant);
}

.pcticket-section-head h2 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: .86rem;
    font-weight: 680;
}

.pcticket-section-head p {
    margin: 4px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .6rem;
}

.pcticket-message-count {
    min-height: 28px;
    padding: 0 10px;

    display: inline-flex;
    align-items: center;

    border-radius: 999px;

    background: var(--pc-secondary-container);
    color: var(--pc-on-secondary-container);

    font-size: .58rem;
    font-weight: 650;
}


/* THREAD */

.pcticket-thread {
    padding: 14px;

    display: grid;
    gap: 12px;

    background:
        color-mix(
            in srgb,
            var(--pc-surface-container-low) 75%,
            transparent
        );
}

.pcticket-message {
    overflow: hidden;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid var(--pc-outline-variant);

    border-radius: 18px;
}

.pcticket-message-support {
    border-left:
        3px solid var(--pc-primary);
}

.pcticket-message-client {
    border-left:
        3px solid #8792a5;
}

.pcticket-message-head {
    min-height: 66px;

    padding: 12px 14px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;

    border-bottom:
        1px solid var(--pc-outline-variant);
}

.pcticket-author {
    display: flex;
    align-items: center;
    gap: 11px;

    min-width: 0;
}

.pcticket-avatar {
    width: 38px;
    height: 38px;

    flex: 0 0 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #edf0f5;
    color: #596273;
}

.pcticket-avatar-support {
    background: #dce8ff;
    color: #28558e;
}

.pcticket-avatar svg {
    width: 17px;
    height: 17px;
}

.pcticket-author-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.pcticket-author-name strong {
    color: var(--pc-on-surface);

    font-size: .68rem;
    font-weight: 680;
}

.pcticket-author-badge {
    min-height: 22px;
    padding: 0 7px;

    display: inline-flex;
    align-items: center;

    border-radius: 999px;

    background: #edf0f5;
    color: #596273;

    font-size: .52rem;
    font-weight: 700;
}

.pcticket-badge-support {
    background: #dce8ff;
    color: #28558e;
}

.pcticket-message-date {
    display: block;

    margin-top: 3px;

    color: var(--pc-on-surface-variant);

    font-size: .55rem;
}

.pcticket-message-tools {
    display: flex;
    align-items: center;
    gap: 8px;

    color: var(--pc-on-surface-variant);

    font-size: .55rem;
}

.pcticket-quote {
    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    background: var(--pc-secondary-container);
    color: var(--pc-on-secondary-container);
}

.pcticket-quote svg {
    width: 14px;
    height: 14px;
}


/* MESSAGE BODY */

.pcticket-message-body {
    padding: 16px;
}

.pcticket-message-body .markdown-body {
    color: var(--pc-on-surface) !important;

    font-size: .69rem;
    line-height: 1.65;
}

.pcticket-message-body .markdown-body p:last-child {
    margin-bottom: 0;
}


/* REPLY */

.pcticket-reply {
    overflow: hidden;

    margin-bottom: 14px;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid var(--pc-outline-variant);

    border-radius: 22px;
}

.pcticket-reply-icon {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #dce8ff;
    color: #28558e;
}

.pcticket-reply-icon svg {
    width: 16px;
    height: 16px;
}

.pcticket-reply-body {
    padding: 16px 18px;
}

.pcticket-reply-footer {
    margin-top: 12px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.pcticket-reply-footer > span {
    color: var(--pc-on-surface-variant);

    font-size: .56rem;
}


/* CLOSED */

.pcticket-closed-state {
    min-height: 90px;
    padding: 16px 18px;

    display: flex;
    align-items: center;
    gap: 13px;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid var(--pc-outline-variant);

    border-radius: 20px;
}

.pcticket-closed-icon {
    width: 40px;
    height: 40px;

    flex: 0 0 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #e9edf4;
    color: #596273;
}

.pcticket-closed-icon svg {
    width: 18px;
    height: 18px;
}

.pcticket-closed-state strong {
    display: block;

    color: var(--pc-on-surface);

    font-size: .7rem;
}

.pcticket-closed-state p {
    margin: 4px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .59rem;
}

.pcticket-reopen-note {
    margin-bottom: 12px;
    padding: 11px 14px;

    border-radius: 14px;

    background: #fff0d5;
    color: #795000;

    font-size: .62rem;
}


/* DARK */

[data-bs-theme="dark"] .pcticket-hero,
[data-bs-theme="dark"] .pcticket-summary-item,
[data-bs-theme="dark"] .pcticket-conversation,
[data-bs-theme="dark"] .pcticket-message,
[data-bs-theme="dark"] .pcticket-reply,
[data-bs-theme="dark"] .pcticket-closed-state {
    background: #1c1f24;
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcticket-section-head,
[data-bs-theme="dark"] .pcticket-message-head {
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcticket-thread {
    background: #15181c;
}

[data-bs-theme="dark"] .pcticket-avatar {
    background: #34383f;
    color: #d8dde6;
}

[data-bs-theme="dark"] .pcticket-avatar-support,
[data-bs-theme="dark"] .pcticket-reply-icon {
    background: #263b5c;
    color: #c7dcff;
}

[data-bs-theme="dark"] .pcticket-author-badge {
    background: #34383f;
    color: #d8dde6;
}

[data-bs-theme="dark"] .pcticket-badge-support {
    background: #263b5c;
    color: #c7dcff;
}


/* RESPONSIVE */

@media (max-width: 991.98px) {

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

}

@media (max-width: 767.98px) {

    .pcticket-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .pcticket-actions {
        width: 100%;
    }

    .pcticket-actions button {
        flex: 1;
    }

    .pcticket-reply-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .pcticket-reply-footer .pcticket-primary {
        width: 100%;
    }

}

@media (max-width: 520px) {

    .pcticket-summary {
        grid-template-columns: 1fr;
    }

    .pcticket-message-head {
        align-items: flex-start;
    }

}



/* ============================================================
   PAPIW CLOUD — ACCOUNT M3 HUB
   ============================================================ */

.pcaccount {
    width: 100%;
}


/* VERIFICATION */

.pcaccount-verification {
    min-height: 76px;

    margin-bottom: 14px;
    padding: 13px 16px;

    display: grid;
    grid-template-columns:
        40px
        minmax(0,1fr)
        auto;

    align-items: center;
    gap: 13px;

    background: #fff0d5;
    border: 1px solid #f2d79f;
    border-radius: 18px;

    color: #795000;
}

.pcaccount-verification-icon {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ffe6b5;
}

.pcaccount-verification-icon svg {
    width: 17px;
    height: 17px;
}

.pcaccount-verification strong {
    display: block;

    font-size: .69rem;
}

.pcaccount-verification p {
    margin: 3px 0 0;

    font-size: .59rem;
}


/* HERO */

.pcaccount-hero {
    min-height: 128px;

    padding: 24px 26px;
    margin-bottom: 14px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid var(--pc-outline-variant);

    border-radius: 24px;
}

.pcaccount-eyebrow {
    display: block;
    margin-bottom: 6px;

    color: var(--pc-on-surface-variant);

    font-size: .7rem;
    font-weight: 600;
}

.pcaccount-hero h1 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: 1.95rem;
    font-weight: 680;

    letter-spacing: -.045em;
}

.pcaccount-hero p {
    margin: 7px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .8rem;
}

.pcaccount-security-state {
    min-height: 35px;
    padding: 0 12px;

    display: inline-flex;
    align-items: center;
    gap: 7px;

    flex-shrink: 0;

    border-radius: 999px;

    background: #def4e5;
    color: #28723f;

    font-size: .61rem;
    font-weight: 700;
}

.pcaccount-security-state span {
    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: currentColor;
}


/* IDENTITY */

.pcaccount-identity {
    min-height: 104px;

    margin-bottom: 14px;
    padding: 15px 18px;

    display: grid;

    grid-template-columns:
        auto
        minmax(0,1fr)
        auto;

    align-items: center;
    gap: 15px;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid var(--pc-outline-variant);

    border-radius: 22px;
}

.pcaccount-avatar > * {
    width: 58px !important;
    height: 58px !important;
}

.pcaccount-identity-main h2 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: .9rem;
    font-weight: 680;
}

.pcaccount-identity-main > span {
    display: block;

    margin-top: 3px;

    color: var(--pc-on-surface-variant);

    font-size: .62rem;
}

.pcaccount-identity-main p {
    margin: 3px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .6rem;
}

.pcaccount-identity-meta {
    display: flex;
    align-items: center;
    gap: 25px;
}

.pcaccount-identity-meta span {
    display: block;

    color: var(--pc-on-surface-variant);

    font-size: .55rem;
}

.pcaccount-identity-meta strong {
    display: block;

    margin-top: 3px;

    color: var(--pc-on-surface);

    font-size: .64rem;
    font-weight: 650;
}


/* WORKSPACE */

.pcaccount-workspace {
    overflow: hidden;

    background: transparent;
}


/* TABS */

.pcaccount-tabs {
    width: fit-content;

    margin-bottom: 14px;
    padding: 4px;

    display: flex;
    align-items: center;
    gap: 3px;

    border-radius: 999px;

    background: var(--pc-surface-container-low);
}

.pcaccount-tab {
    min-height: 38px;
    padding: 0 14px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    border: 0;
    border-radius: 999px;

    background: transparent;
    color: var(--pc-on-surface-variant);

    font-size: .65rem;
    font-weight: 650;
}

.pcaccount-tab svg {
    width: 15px;
    height: 15px;
}

.pcaccount-tab.active {
    background: var(--pc-surface-container-lowest);
    color: var(--pc-on-surface);

    box-shadow:
        0 1px 3px rgba(20,30,50,.08);
}


/* FORM LAYOUT */

.pcaccount-form-layout {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0,1fr));

    gap: 14px;
}

.pcaccount-panel-wide {
    grid-column: 1 / -1;
}


/* PANEL */

.pcaccount-panel {
    overflow: hidden;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid var(--pc-outline-variant);

    border-radius: 22px;
}

.pcaccount-panel-head {
    min-height: 72px;
    padding: 15px 17px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    border-bottom:
        1px solid var(--pc-outline-variant);
}

.pcaccount-panel-head h2 {
    margin: 0;

    color: var(--pc-on-surface);

    font-size: .84rem;
    font-weight: 680;
}

.pcaccount-panel-head p {
    margin: 4px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .59rem;
}

.pcaccount-panel-icon {
    width: 36px;
    height: 36px;

    flex: 0 0 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #dce8ff;
    color: #28558e;
}

.pcaccount-company-icon {
    background: #ece6ff;
    color: #65558f;
}

.pcaccount-billing-icon {
    background: #def4e5;
    color: #28723f;
}

.pcaccount-panel-icon svg {
    width: 17px;
    height: 17px;
}


/* FORM */

.pcaccount-form-grid {
    padding: 17px;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0,1fr));

    gap: 14px;
}

.pcaccount-field-full {
    grid-column: 1 / -1;
}

.pcaccount-field label {
    display: block;

    margin-bottom: 6px;

    color: var(--pc-on-surface);

    font-size: .61rem;
    font-weight: 650;
}

.pcaccount-field small {
    display: block;

    margin-top: 6px;

    color: var(--pc-on-surface-variant);

    font-size: .54rem;
}


/* INPUTS */

.pcaccount .form-control,
.pcaccount .form-select {
    min-height: 43px;

    padding-left: 12px;
    padding-right: 12px;

    background:
        var(--pc-surface-container-lowest);

    border:
        1px solid var(--pc-outline);

    border-radius: 12px;

    color:
        var(--pc-on-surface);

    font-size: .68rem;

    box-shadow: none !important;
}

.pcaccount .form-control:focus,
.pcaccount .form-select:focus {
    border-color: var(--pc-primary);

    box-shadow:
        0 0 0 2px
        color-mix(
            in srgb,
            var(--pc-primary) 15%,
            transparent
        ) !important;
}


/* SAVE BAR */

.pcaccount-savebar {
    min-height: 82px;

    margin-top: 14px;
    padding: 15px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    background: var(--pc-surface-container-lowest);

    border:
        1px solid var(--pc-outline-variant);

    border-radius: 20px;
}

.pcaccount-savebar strong {
    display: block;

    color: var(--pc-on-surface);

    font-size: .68rem;
}

.pcaccount-savebar span {
    display: block;

    margin-top: 3px;

    color: var(--pc-on-surface-variant);

    font-size: .56rem;
}


/* BUTTONS */

.pcaccount-primary,
.pcaccount-tonal {
    min-height: 40px;
    padding: 0 15px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 999px;

    text-decoration: none;

    font-size: .65rem;
    font-weight: 680;
}

.pcaccount-primary {
    background: var(--pc-primary);
    color: var(--pc-on-primary);
}

.pcaccount-primary:hover {
    color: var(--pc-on-primary);
}

.pcaccount-tonal {
    background: var(--pc-secondary-container);
    color: var(--pc-on-secondary-container);
}


/* SECURITY */

.pcaccount-security-layout {
    display: grid;

    grid-template-columns:
        minmax(280px,.72fr)
        minmax(0,1.28fr);

    gap: 14px;

    align-items: start;
}

.pcaccount-security-intro {
    min-height: 330px;

    padding: 24px;

    display: flex;
    flex-direction: column;

    background:
        linear-gradient(
            145deg,
            var(--pc-primary-container),
            var(--pc-surface-container-lowest)
        );

    border:
        1px solid var(--pc-outline-variant);

    border-radius: 22px;
}

.pcaccount-security-icon {
    width: 48px;
    height: 48px;

    margin-bottom: 22px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 16px;

    background: var(--pc-surface-container-lowest);
    color: var(--pc-primary);
}

.pcaccount-security-icon svg {
    width: 22px;
    height: 22px;
}

.pcaccount-security-intro > div:nth-child(2) > span {
    display: block;

    margin-bottom: 7px;

    color: var(--pc-on-surface-variant);

    font-size: .59rem;
    font-weight: 650;
}

.pcaccount-security-intro h2 {
    margin: 0;

    max-width: 300px;

    color: var(--pc-on-surface);

    font-size: 1.25rem;
    line-height: 1.25;

    font-weight: 680;
    letter-spacing: -.025em;
}

.pcaccount-security-intro p {
    margin: 9px 0 0;

    color: var(--pc-on-surface-variant);

    font-size: .64rem;
    line-height: 1.5;
}

.pcaccount-security-tip {
    margin-top: auto;
    padding: 12px;

    display: flex;
    align-items: flex-start;
    gap: 9px;

    border-radius: 14px;

    background:
        color-mix(
            in srgb,
            var(--pc-surface-container-lowest) 70%,
            transparent
        );

    color: var(--pc-on-surface-variant);

    font-size: .57rem;
}

.pcaccount-security-tip svg {
    width: 15px;
    height: 15px;

    flex: 0 0 15px;
}


/* PASSWORD */

.pcaccount-password-body {
    padding: 17px;

    display: grid;
    gap: 14px;
}

.pcaccount-password-footer {
    min-height: 72px;
    padding: 13px 17px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    border-top:
        1px solid var(--pc-outline-variant);
}

.pcaccount-password-footer > span {
    color: var(--pc-on-surface-variant);

    font-size: .55rem;
}


/* DARK */

[data-bs-theme="dark"] .pcaccount-hero,
[data-bs-theme="dark"] .pcaccount-identity,
[data-bs-theme="dark"] .pcaccount-panel,
[data-bs-theme="dark"] .pcaccount-savebar {
    background: #1c1f24;
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcaccount-panel-head,
[data-bs-theme="dark"] .pcaccount-password-footer {
    border-color: #30343a;
}

[data-bs-theme="dark"] .pcaccount-tabs {
    background: #25282e;
}

[data-bs-theme="dark"] .pcaccount-tab.active {
    background: #32363d;
}

[data-bs-theme="dark"] .pcaccount .form-control,
[data-bs-theme="dark"] .pcaccount .form-select {
    background: #202328;

    border-color: #444950;

    color: #f1f3f7;
}

[data-bs-theme="dark"] .pcaccount-security-intro {
    background:
        linear-gradient(
            145deg,
            #263b5c,
            #1c1f24
        );

    border-color: #30343a;
}

[data-bs-theme="dark"] .pcaccount-security-icon {
    background: #1c1f24;
    color: #c7dcff;
}


/* RESPONSIVE */

@media (max-width: 991.98px) {

    .pcaccount-form-layout {
        grid-template-columns: 1fr;
    }

    .pcaccount-panel-wide {
        grid-column: auto;
    }

    .pcaccount-security-layout {
        grid-template-columns: 1fr;
    }

    .pcaccount-security-intro {
        min-height: 250px;
    }

}

@media (max-width: 767.98px) {

    .pcaccount-hero {
        min-height: auto;

        align-items: flex-start;
        flex-direction: column;
    }

    .pcaccount-identity {
        grid-template-columns:
            auto minmax(0,1fr);
    }

    .pcaccount-identity-meta {
        grid-column: 1 / -1;
    }

    .pcaccount-savebar {
        align-items: stretch;
        flex-direction: column;
    }

    .pcaccount-primary {
        width: 100%;
    }

}

@media (max-width: 560px) {

    .pcaccount-form-grid {
        grid-template-columns: 1fr;
    }

    .pcaccount-field-full {
        grid-column: auto;
    }

    .pcaccount-identity-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .pcaccount-tabs {
        width: 100%;
    }

    .pcaccount-tab {
        flex: 1;
    }

}



/* ============================================================
   PAPIW CLOUD — GLOBAL UX POLISH v1
   Logo + Motion + Interaction
   ============================================================ */


/* ============================================================
   SIDEBAR LOGO
   ============================================================ */

.pc-app-sidebar .papiw-brand,
.pc-app-sidebar .pc-sidebar-brand {
    min-height: 72px !important;
    padding: 12px 17px !important;
}

.pc-app-sidebar .papiw-brand img,
.pc-app-sidebar .pc-sidebar-brand img,
.pc-app-sidebar img[alt*="Papiw"],
.pc-app-sidebar img[alt*="papiw"] {
    width: auto !important;
    height: 34px !important;
    max-width: 155px !important;
    object-fit: contain !important;
}


/* On wider desktop make branding slightly stronger */

@media (min-width: 1200px) {

    .pc-app-sidebar .papiw-brand img,
    .pc-app-sidebar .pc-sidebar-brand img,
    .pc-app-sidebar img[alt*="Papiw"],
    .pc-app-sidebar img[alt*="papiw"] {
        height: 37px !important;
        max-width: 165px !important;
    }

}


/* ============================================================
   PAGE ENTRANCE MOTION
   ============================================================ */

@keyframes pcFadeUp {

    from {
        opacity: 0;
        transform: translateY(9px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


@keyframes pcFadeIn {

    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }

}


@keyframes pcScaleIn {

    from {
        opacity: 0;
        transform: scale(.985);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }

}


/* Main page */

.pc-content-area > *,
.pc-dashboard-v2,
.pcsv3,
.pcsd,
.pcbill,
.pcinv,
.pcsup,
.pcticket,
.pcaccount {
    animation:
        pcFadeIn .26s ease-out both;
}


/* Hero */

.pc-dashboard-hero,
.pcsv3-hero,
.pcsd-hero,
.pcbill-hero,
.pcinv-hero,
.pcsup-hero,
.pcticket-hero,
.pcaccount-hero {
    animation:
        pcFadeUp .34s cubic-bezier(.2,.8,.2,1) both;
}


/* Summary cards */

.pc-metric-card,
.pcsv3-summary-card,
.pcsd-resource-card,
.pcbill-summary-card,
.pcsup-stat,
.pcticket-summary-item {
    animation:
        pcFadeUp .34s cubic-bezier(.2,.8,.2,1) both;
}


/* stagger cards */

.pc-metric-card:nth-child(1),
.pcsv3-summary-card:nth-child(1),
.pcsd-resource-card:nth-child(1),
.pcbill-summary-card:nth-child(1),
.pcsup-stat:nth-child(1),
.pcticket-summary-item:nth-child(1) {
    animation-delay: 35ms;
}

.pc-metric-card:nth-child(2),
.pcsv3-summary-card:nth-child(2),
.pcsd-resource-card:nth-child(2),
.pcbill-summary-card:nth-child(2),
.pcsup-stat:nth-child(2),
.pcticket-summary-item:nth-child(2) {
    animation-delay: 70ms;
}

.pc-metric-card:nth-child(3),
.pcsv3-summary-card:nth-child(3),
.pcsd-resource-card:nth-child(3),
.pcbill-summary-card:nth-child(3),
.pcsup-stat:nth-child(3),
.pcticket-summary-item:nth-child(3) {
    animation-delay: 105ms;
}

.pc-metric-card:nth-child(4),
.pcsv3-summary-card:nth-child(4),
.pcsup-stat:nth-child(4),
.pcticket-summary-item:nth-child(4) {
    animation-delay: 140ms;
}


/* Main content panels */

.pc-panel,
.pcsv3-card,
.pcsd-panel,
.pcbill-panel,
.pcinv-panel,
.pcinv-payment-card,
.pcinv-paid-card,
.pcsup-panel,
.pcticket-conversation,
.pcticket-reply,
.pcaccount-panel,
.pcaccount-identity {
    animation:
        pcScaleIn .34s cubic-bezier(.2,.8,.2,1) both;
}


/* ============================================================
   INTERACTION MOTION
   ============================================================ */

.pc-sidebar-navigation .nav-link,
.pc-icon-button,
.pc-metric-card,
.pcsv3-card,
.pcsv3-manage,
.pcsd-support-button,
.pcbill-row,
.pcbill-row-action,
.pcsup-ticket,
.pcsup-ticket-action,
.pcticket-primary,
.pcticket-secondary,
.pcaccount-primary,
.pcaccount-tonal,
.pcaccount-tab,
.pcinv-action-button,
.pcinv-gateway-label {
    transition:
        background-color .18s ease,
        color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease !important;
}


/* button press */

.pcsv3-manage:active,
.pcsd-support-button:active,
.pcbill-row-action:active,
.pcsup-primary:active,
.pcsup-ticket-action:active,
.pcticket-primary:active,
.pcticket-secondary:active,
.pcaccount-primary:active,
.pcaccount-tonal:active,
.pcinv-action-button:active {
    transform: scale(.97);
}


/* hover elevation */

@media (hover: hover) {

    .pc-metric-card:hover,
    .pcsv3-card:hover,
    .pcbill-row:hover,
    .pcsup-ticket:hover {
        transform: translateY(-2px);
    }

    .pcaccount-tab:hover,
    .pc-sidebar-navigation .nav-link:hover {
        transform: translateX(2px);
    }

}


/* ============================================================
   MODAL MOTION
   ============================================================ */

.modal.show .modal-dialog {
    animation:
        pcScaleIn .22s cubic-bezier(.2,.8,.2,1);
}


/* ============================================================
   MOBILE MOTION
   ============================================================ */

@media (max-width: 767.98px) {

    .pc-dashboard-hero,
    .pcsv3-hero,
    .pcsd-hero,
    .pcbill-hero,
    .pcinv-hero,
    .pcsup-hero,
    .pcticket-hero,
    .pcaccount-hero {
        animation-duration: .28s;
    }

}


/* ============================================================
   ACCESSIBILITY — RESPECT REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }

}



/* ============================================================
   PAPIW CLOUD — MOBILE NAVIGATION & LOGO FINAL
   ============================================================ */


/* ============================================================
   DESKTOP LOGO
   ============================================================ */

.pc-sidebar-brand {
    min-height: 78px !important;
    padding: 13px 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pc-sidebar-logo-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100%;
}

.pc-sidebar-logo {
    width: auto !important;
    height: 42px !important;
    max-width: 178px !important;

    object-fit: contain !important;
}

.pc-sidebar-product {
    display: none !important;
}


/* ============================================================
   MOBILE APP BAR
   ============================================================ */

.pc-mobile-appbar {
    height: 64px;

    padding: 0 16px;

    align-items: center;
    justify-content: space-between;

    background:
        var(--pc-surface-container-lowest);

    border-bottom:
        1px solid
        var(--pc-outline-variant);

    position: sticky;

    top: 0;
    z-index: 1025;
}


.pc-mobile-brand {
    min-width: 0;

    display: flex;
    align-items: center;
}


.pc-mobile-logo-link {
    display: inline-flex;
    align-items: center;
}


.pc-mobile-logo {
    width: auto !important;
    height: 34px !important;
    max-width: 150px !important;

    object-fit: contain;
}


/* Hamburger */

.pc-menu-button {
    width: 42px !important;
    height: 42px !important;

    padding: 0 !important;

    flex: 0 0 42px;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    border: 0 !important;
    border-radius: 50% !important;

    background:
        var(--pc-secondary-container) !important;

    color:
        var(--pc-on-secondary-container) !important;

    cursor: pointer;
}


.pc-menu-button .icon {
    width: 21px !important;
    height: 21px !important;

    display: block !important;
}


.pc-menu-button:active {
    transform: scale(.94);
}


/* ============================================================
   MOBILE DRAWER
   ============================================================ */

@media (max-width: 767.98px) {

    .pc-app-shell {
        display: block !important;
    }


    /*
     * Critical:
     * desktop wrapper must not reserve sidebar space on mobile
     */

    .pc-app-sidebar {
        width: auto !important;
        min-width: 0 !important;

        position: static !important;

        border: 0 !important;
    }


    .pc-app-main {
        width: 100% !important;
        min-width: 0 !important;

        margin-left: 0 !important;
    }


    /* actual Bootstrap offcanvas */

    #sidebarMenu.papiw-sidebar {
        width: min(82vw, 300px) !important;
        max-width: 300px !important;

        height: 100dvh !important;

        background:
            var(--pc-surface-container-lowest) !important;

        border-right:
            1px solid
            var(--pc-outline-variant) !important;

        box-shadow:
            0 18px 45px
            rgba(20, 30, 50, .16) !important;
    }


    #sidebarMenu .offcanvas-header {
        min-height: 68px;

        padding: 12px 16px;

        display: flex;
        align-items: center;

        border-bottom:
            1px solid
            var(--pc-outline-variant);
    }


    #sidebarMenu .offcanvas-header .fw-semibold {
        color:
            var(--pc-on-surface);

        font-size: .86rem;
        font-weight: 680 !important;
    }


    #sidebarMenu .offcanvas-body {
        padding: 0 !important;

        display: flex !important;
        flex-direction: column !important;

        overflow-y: auto;
    }


    /* Drawer logo */

    #sidebarMenu .pc-sidebar-brand {
        min-height: 86px !important;

        padding: 16px 20px !important;

        justify-content: flex-start !important;

        border-bottom:
            1px solid
            var(--pc-outline-variant);
    }


    #sidebarMenu .pc-sidebar-logo-link {
        justify-content: flex-start !important;
    }


    #sidebarMenu .pc-sidebar-logo {
        height: 42px !important;
        max-width: 175px !important;
    }


    /* Drawer menu */

    #sidebarMenu .pc-sidebar-navigation {
        padding: 13px 10px !important;
    }


    #sidebarMenu .pc-sidebar-navigation .nav-link {
        min-height: 46px !important;

        margin-bottom: 3px;

        padding: 0 14px !important;

        display: flex;
        align-items: center;

        gap: 12px;

        border-radius: 999px;

        font-size: .78rem;
    }


    #sidebarMenu .pc-sidebar-navigation .nav-link .icon {
        width: 19px !important;
        height: 19px !important;

        flex: 0 0 19px;
    }


    /* Footer account */

    #sidebarMenu .papiw-sidebar-footer {
        margin-top: auto !important;

        padding: 16px 18px 20px !important;

        border-top:
            1px solid
            var(--pc-outline-variant);
    }


    /* Main content */

    .pc-content-area {
        width: 100% !important;

        padding:
            14px
            12px
            24px !important;
    }


    /* Prevent cards touching edge */

    .pc-dashboard-v2,
    .pcsv3,
    .pcsd,
    .pcbill,
    .pcinv,
    .pcsup,
    .pcticket,
    .pcaccount {
        max-width: 100%;
        overflow-x: clip;
    }

}


/* ============================================================
   OFFCANVAS ANIMATION
   ============================================================ */

@media (max-width: 767.98px) {

    .offcanvas-start {
        transform:
            translateX(-100%);

        transition:
            transform
            .3s
            cubic-bezier(.2,.8,.2,1) !important;
    }


    .offcanvas-start.show,
    .offcanvas-start.showing {
        transform:
            translateX(0);
    }


    .offcanvas-backdrop {
        background:
            #101318 !important;
    }


    .offcanvas-backdrop.show {
        opacity: .42 !important;

        animation:
            pcFadeIn
            .22s
            ease-out;
    }

}


/* ============================================================
   MOBILE CARD MOTION
   ============================================================ */

@media (max-width: 767.98px) {

    .pc-metric-card,
    .pcsv3-summary-card,
    .pcsv3-card,
    .pcsd-resource-card,
    .pcsd-panel,
    .pcbill-summary-card,
    .pcbill-panel,
    .pcinv-panel,
    .pcsup-stat,
    .pcsup-panel,
    .pcticket-summary-item,
    .pcticket-conversation,
    .pcaccount-identity,
    .pcaccount-panel {

        animation:
            pcFadeUp
            .3s
            cubic-bezier(.2,.8,.2,1)
            both;
    }

}


/* ============================================================
   DARK MOBILE
   ============================================================ */

[data-bs-theme="dark"] .pc-mobile-appbar,
[data-bs-theme="dark"] #sidebarMenu.papiw-sidebar {
    background:
        #181b20 !important;

    border-color:
        #30343a !important;
}


[data-bs-theme="dark"] #sidebarMenu .pc-sidebar-brand,
[data-bs-theme="dark"] #sidebarMenu .offcanvas-header,
[data-bs-theme="dark"] #sidebarMenu .papiw-sidebar-footer {
    border-color:
        #30343a !important;
}


[data-bs-theme="dark"] .pc-menu-button {
    background:
        #263b5c !important;

    color:
        #d4e3ff !important;
}



/* ============================================================
   PAPIW CLOUD — GLOBAL UX POLISH v2
   M3 Soft Color + Section Motion + Brand Scale
   ============================================================ */


/* ============================================================
   SOFT M3 COLOR SYSTEM
   ============================================================ */

:root {

    --pc-soft-blue: #e8f0ff;
    --pc-soft-blue-text: #315d98;

    --pc-soft-cyan: #e1f4f7;
    --pc-soft-cyan-text: #35656d;

    --pc-soft-mint: #e2f3e8;
    --pc-soft-mint-text: #39704d;

    --pc-soft-lavender: #eee9ff;
    --pc-soft-lavender-text: #65558f;

    --pc-soft-amber: #fff0d8;
    --pc-soft-amber-text: #865b13;

    --pc-soft-rose: #fbe8ed;
    --pc-soft-rose-text: #8a4d5d;

}


/* ============================================================
   DESKTOP BRAND
   ============================================================ */

@media (min-width: 768px) {

    .pc-sidebar-brand {
        min-height: 104px !important;

        padding:
            20px
            20px
            15px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }


    .pc-sidebar-logo-link {
        width: 100% !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }


    .pc-sidebar-logo {
        width: 100% !important;
        height: auto !important;

        max-width: 180px !important;
        max-height: 54px !important;

        object-fit: contain !important;
        object-position: left center !important;
    }


    /*
     * Align brand visually with navigation text/icon area
     */

    .pc-sidebar-navigation {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

}


/* ============================================================
   MOBILE APP BAR v2
   ============================================================ */

@media (max-width: 767.98px) {

    .pc-mobile-appbar {
        height: 68px !important;

        padding:
            0
            14px !important;

        display: flex !important;

        align-items: center !important;
        justify-content: space-between !important;

        gap: 12px;
    }


    .pc-mobile-left {
        min-width: 0;

        display: flex;
        align-items: center;

        gap: 11px;
    }


    /* Hamburger on LEFT */

    .pc-menu-button {
        width: 40px !important;
        height: 40px !important;

        flex: 0 0 40px;

        background:
            var(--pc-soft-blue) !important;

        color:
            var(--pc-soft-blue-text) !important;

        box-shadow: none !important;
    }


    .pc-menu-button .icon {
        width: 20px !important;
        height: 20px !important;
    }


    /* Larger mobile logo */

    .pc-mobile-brand {
        min-width: 0;

        display: flex;
        align-items: center;
    }


    .pc-mobile-logo-link {
        display: flex !important;
        align-items: center !important;
    }


    .pc-mobile-logo {
        width: auto !important;
        height: 38px !important;

        max-width: 158px !important;

        object-fit: contain !important;
        object-position: left center !important;
    }


    /* Account avatar */

    .pc-mobile-avatar {
        width: 38px;
        height: 38px;

        flex: 0 0 38px;

        display: flex;
        align-items: center;
        justify-content: center;

        border-radius: 50%;

        background:
            var(--pc-soft-blue);

        color:
            var(--pc-soft-blue-text);

        text-decoration: none;

        font-size: .75rem;
        font-weight: 720;

        transition:
            transform .18s ease,
            background-color .18s ease;
    }


    .pc-mobile-avatar:active {
        transform: scale(.94);
    }

}


/* ============================================================
   SECTION MOTION SYSTEM
   ============================================================ */

@keyframes pcSectionReveal {

    0% {
        opacity: 0;
        transform:
            translate3d(0, 14px, 0)
            scale(.992);
    }

    100% {
        opacity: 1;
        transform:
            translate3d(0,0,0)
            scale(1);
    }

}


@keyframes pcCardReveal {

    0% {
        opacity: 0;
        transform:
            translate3d(0, 10px, 0);
    }

    100% {
        opacity: 1;
        transform:
            translate3d(0,0,0);
    }

}


@keyframes pcSoftPop {

    0% {
        opacity: 0;
        transform: scale(.94);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }

}


/*
 * Page sections reveal individually rather than
 * moving the entire page as one block.
 */

.pc-content-area main > section,
.pc-content-area > section,

.pc-dashboard-v2 > section,

.pcsv3 > section,
.pcsd > section,
.pcbill > section,
.pcinv > section,
.pcsup > section,
.pcticket > section,
.pcaccount > section {

    animation:
        pcSectionReveal
        .46s
        cubic-bezier(.16,1,.3,1)
        both;

    will-change:
        transform,
        opacity;
}


/* Section stagger */

.pc-dashboard-v2 > section:nth-child(1),
.pcsv3 > section:nth-child(1),
.pcsd > section:nth-child(1),
.pcbill > section:nth-child(1),
.pcinv > section:nth-child(1),
.pcsup > section:nth-child(1),
.pcticket > section:nth-child(1),
.pcaccount > section:nth-child(1) {

    animation-delay: 20ms;
}


.pc-dashboard-v2 > section:nth-child(2),
.pcsv3 > section:nth-child(2),
.pcsd > section:nth-child(2),
.pcbill > section:nth-child(2),
.pcinv > section:nth-child(2),
.pcsup > section:nth-child(2),
.pcticket > section:nth-child(2),
.pcaccount > section:nth-child(2) {

    animation-delay: 75ms;
}


.pc-dashboard-v2 > section:nth-child(3),
.pcsv3 > section:nth-child(3),
.pcsd > section:nth-child(3),
.pcbill > section:nth-child(3),
.pcinv > section:nth-child(3),
.pcsup > section:nth-child(3),
.pcticket > section:nth-child(3),
.pcaccount > section:nth-child(3) {

    animation-delay: 125ms;
}


.pc-dashboard-v2 > section:nth-child(4),
.pcsv3 > section:nth-child(4),
.pcsd > section:nth-child(4),
.pcbill > section:nth-child(4),
.pcinv > section:nth-child(4),
.pcsup > section:nth-child(4),
.pcticket > section:nth-child(4),
.pcaccount > section:nth-child(4) {

    animation-delay: 175ms;
}


.pc-dashboard-v2 > section:nth-child(n+5),
.pcsv3 > section:nth-child(n+5),
.pcsd > section:nth-child(n+5),
.pcbill > section:nth-child(n+5),
.pcinv > section:nth-child(n+5),
.pcsup > section:nth-child(n+5),
.pcticket > section:nth-child(n+5),
.pcaccount > section:nth-child(n+5) {

    animation-delay: 215ms;
}


/* ============================================================
   INTERNAL CARD STAGGER
   ============================================================ */

.pc-metric-card,
.pcsv3-summary-card,
.pcsd-resource-card,
.pcbill-summary-card,
.pcsup-stat,
.pcticket-summary-item {

    animation:
        pcCardReveal
        .42s
        cubic-bezier(.16,1,.3,1)
        both;
}


.pc-metric-card:nth-child(1),
.pcsv3-summary-card:nth-child(1),
.pcsd-resource-card:nth-child(1),
.pcbill-summary-card:nth-child(1),
.pcsup-stat:nth-child(1),
.pcticket-summary-item:nth-child(1) {
    animation-delay: 100ms;
}


.pc-metric-card:nth-child(2),
.pcsv3-summary-card:nth-child(2),
.pcsd-resource-card:nth-child(2),
.pcbill-summary-card:nth-child(2),
.pcsup-stat:nth-child(2),
.pcticket-summary-item:nth-child(2) {
    animation-delay: 145ms;
}


.pc-metric-card:nth-child(3),
.pcsv3-summary-card:nth-child(3),
.pcsd-resource-card:nth-child(3),
.pcbill-summary-card:nth-child(3),
.pcsup-stat:nth-child(3),
.pcticket-summary-item:nth-child(3) {
    animation-delay: 190ms;
}


.pc-metric-card:nth-child(4),
.pcsv3-summary-card:nth-child(4),
.pcsup-stat:nth-child(4),
.pcticket-summary-item:nth-child(4) {
    animation-delay: 235ms;
}


/* ============================================================
   ICON MOTION
   ============================================================ */

.pc-metric-icon,
.pcsv3-summary-icon,
.pcsd-resource-icon,
.pcbill-summary-icon,
.pcsup-stat-icon,
.pcticket-summary-icon,
.pcaccount-panel-icon {

    animation:
        pcSoftPop
        .38s
        cubic-bezier(.16,1,.3,1)
        both;

    transition:
        transform .22s cubic-bezier(.16,1,.3,1),
        box-shadow .22s ease;
}


@media (hover:hover) {

    .pc-metric-card:hover .pc-metric-icon,
    .pcsv3-summary-card:hover .pcsv3-summary-icon,
    .pcsd-resource-card:hover .pcsd-resource-icon,
    .pcbill-summary-card:hover .pcbill-summary-icon,
    .pcsup-stat:hover .pcsup-stat-icon,
    .pcticket-summary-item:hover .pcticket-summary-icon {

        transform:
            translateY(-2px)
            scale(1.06);
    }

}


/* ============================================================
   SOFT COLOR ROTATION
   ============================================================ */


/* Dashboard metric cards */

.pc-metric-card:nth-child(6n+1) .pc-metric-icon {
    background: var(--pc-soft-blue) !important;
    color: var(--pc-soft-blue-text) !important;
}

.pc-metric-card:nth-child(6n+2) .pc-metric-icon {
    background: var(--pc-soft-mint) !important;
    color: var(--pc-soft-mint-text) !important;
}

.pc-metric-card:nth-child(6n+3) .pc-metric-icon {
    background: var(--pc-soft-lavender) !important;
    color: var(--pc-soft-lavender-text) !important;
}

.pc-metric-card:nth-child(6n+4) .pc-metric-icon {
    background: var(--pc-soft-amber) !important;
    color: var(--pc-soft-amber-text) !important;
}

.pc-metric-card:nth-child(6n+5) .pc-metric-icon {
    background: var(--pc-soft-cyan) !important;
    color: var(--pc-soft-cyan-text) !important;
}

.pc-metric-card:nth-child(6n+6) .pc-metric-icon {
    background: var(--pc-soft-rose) !important;
    color: var(--pc-soft-rose-text) !important;
}


/* Cloud/service resource cards */

.pcsv3-summary-card:nth-child(4n+1) .pcsv3-summary-icon,
.pcsd-resource-card:nth-child(4n+1) .pcsd-resource-icon {
    background: var(--pc-soft-blue) !important;
    color: var(--pc-soft-blue-text) !important;
}

.pcsv3-summary-card:nth-child(4n+2) .pcsv3-summary-icon,
.pcsd-resource-card:nth-child(4n+2) .pcsd-resource-icon {
    background: var(--pc-soft-mint) !important;
    color: var(--pc-soft-mint-text) !important;
}

.pcsv3-summary-card:nth-child(4n+3) .pcsv3-summary-icon,
.pcsd-resource-card:nth-child(4n+3) .pcsd-resource-icon {
    background: var(--pc-soft-lavender) !important;
    color: var(--pc-soft-lavender-text) !important;
}

.pcsv3-summary-card:nth-child(4n+4) .pcsv3-summary-icon,
.pcsd-resource-card:nth-child(4n+4) .pcsd-resource-icon {
    background: var(--pc-soft-amber) !important;
    color: var(--pc-soft-amber-text) !important;
}


/* ============================================================
   CARD HOVER — MORE SEAMLESS
   ============================================================ */

@media (hover:hover) {

    .pc-metric-card,
    .pcsv3-summary-card,
    .pcsv3-card,
    .pcsd-resource-card,
    .pcbill-summary-card,
    .pcsup-stat,
    .pcaccount-panel {

        transition:
            transform .24s cubic-bezier(.16,1,.3,1),
            box-shadow .24s ease,
            border-color .24s ease,
            background-color .24s ease !important;
    }


    .pc-metric-card:hover,
    .pcsv3-summary-card:hover,
    .pcsv3-card:hover,
    .pcsd-resource-card:hover,
    .pcbill-summary-card:hover,
    .pcsup-stat:hover {

        transform:
            translateY(-3px);

        box-shadow:
            0 8px 24px
            rgba(35, 48, 75, .075);
    }

}


/* ============================================================
   SMOOTH NAVIGATION FEEL
   ============================================================ */

html {
    scroll-behavior: smooth;
}


.pc-sidebar-navigation .nav-link {

    transition:
        background-color .22s ease,
        color .22s ease,
        transform .22s cubic-bezier(.16,1,.3,1) !important;
}


@media (hover:hover) {

    .pc-sidebar-navigation .nav-link:not(.active):hover {
        transform:
            translateX(3px);
    }

}


/* ============================================================
   MOBILE SECTION MOTION
   Slightly faster to keep UI responsive
   ============================================================ */

@media (max-width: 767.98px) {

    .pc-dashboard-v2 > section,
    .pcsv3 > section,
    .pcsd > section,
    .pcbill > section,
    .pcinv > section,
    .pcsup > section,
    .pcticket > section,
    .pcaccount > section {

        animation-duration:
            .38s;
    }


    /*
     * Drawer brand
     */

    #sidebarMenu .pc-sidebar-brand {
        min-height:
            96px !important;

        padding:
            19px
            20px !important;
    }


    #sidebarMenu .pc-sidebar-logo {
        width: auto !important;
        height: 47px !important;

        max-width: 190px !important;
        max-height: 47px !important;

        object-fit: contain !important;
        object-position: left center !important;
    }

}


/* ============================================================
   DARK MODE SOFT COLORS
   ============================================================ */

[data-bs-theme="dark"] {

    --pc-soft-blue: #263b5c;
    --pc-soft-blue-text: #c9ddff;

    --pc-soft-cyan: #203b40;
    --pc-soft-cyan-text: #bcebf1;

    --pc-soft-mint: #243d2d;
    --pc-soft-mint-text: #c1e9cc;

    --pc-soft-lavender: #383150;
    --pc-soft-lavender-text: #ded4ff;

    --pc-soft-amber: #46371f;
    --pc-soft-amber-text: #ffdfa4;

    --pc-soft-rose: #493039;
    --pc-soft-rose-text: #ffd9e2;

}


[data-bs-theme="dark"] .pc-mobile-avatar {
    background:
        var(--pc-soft-blue);

    color:
        var(--pc-soft-blue-text);
}


/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto !important;
    }


    .pc-dashboard-v2 > section,
    .pcsv3 > section,
    .pcsd > section,
    .pcbill > section,
    .pcinv > section,
    .pcsup > section,
    .pcticket > section,
    .pcaccount > section,

    .pc-metric-card,
    .pcsv3-summary-card,
    .pcsd-resource-card,
    .pcbill-summary-card,
    .pcsup-stat,
    .pcticket-summary-item {

        animation:
            none !important;
    }

}


@media (min-width:768px) {

    .papiw-sidebar > .offcanvas-body {
        padding-top: 0 !important;
    }

    .pc-sidebar-brand + .pc-sidebar-navigation {
        margin-top: 4px !important;
    }

}



/* ============================================================
   PAPIW CLOUD — MOBILE CONSOLE v3
   ============================================================ */

@media (max-width:767.98px) {

    /* ----------------------------------------
       TOP APP BAR
       ---------------------------------------- */

    .pc-mobile-appbar {
        height: 64px !important;
        padding: 0 18px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        background: var(--pc-surface-container-lowest) !important;

        border-bottom:
            1px solid var(--pc-outline-variant) !important;
    }


    .pc-mobile-left {
        display: flex !important;
        align-items: center !important;
    }


    .pc-menu-button {
        width: 40px !important;
        height: 40px !important;

        padding: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        background: transparent !important;
        color: var(--pc-on-surface) !important;

        border-radius: 12px !important;
    }


    .pc-menu-button .icon {
        width: 24px !important;
        height: 24px !important;
    }


    .pc-mobile-brand {
        display: none !important;
    }


    .pc-mobile-avatar {
        width: 38px !important;
        height: 38px !important;

        background: var(--pc-soft-blue) !important;
        color: var(--pc-soft-blue-text) !important;

        font-size: .8rem !important;
    }


    /* ----------------------------------------
       PAGE SPACING
       ---------------------------------------- */

    .pc-content-area {
        padding:
            26px
            14px
            30px !important;

        background:
            #f4f6f8;
    }


    /* ----------------------------------------
       HOME HERO
       ---------------------------------------- */

    .pc-dashboard-hero {
        padding:
            30px
            24px !important;

        border-radius:
            28px !important;

        box-shadow:
            0 2px 5px rgba(20,30,50,.08) !important;
    }


    .pc-dashboard-hero h1 {
        font-size:
            clamp(1.65rem, 7vw, 2rem) !important;

        line-height:
            1.08 !important;

        letter-spacing:
            -.035em !important;

        margin-bottom:
            12px !important;
    }


    .pc-dashboard-hero p {
        font-size:
            .95rem !important;

        line-height:
            1.45 !important;

        margin-bottom:
            20px !important;
    }


    /* operational chip becomes wide */

    .pc-dashboard-hero .badge,
    .pc-dashboard-hero .pc-status-chip {
        width: 100% !important;

        min-height: 48px;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        border-radius:
            999px !important;

        font-size:
            .75rem !important;

        letter-spacing:
            .035em;
    }


    /* ----------------------------------------
       HOME METRICS — 2 COLUMN
       ---------------------------------------- */

    .pc-dashboard-metrics {
        display: grid !important;

        grid-template-columns:
            repeat(2, minmax(0,1fr)) !important;

        gap:
            12px !important;

        margin-top:
            20px !important;
    }


    .pc-metric-card {
        min-width: 0 !important;
        min-height: 170px !important;

        padding:
            20px
            18px !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;

        border-radius:
            26px !important;

        background:
            var(--pc-surface-container-lowest) !important;
    }


    .pc-metric-icon {
        width:
            48px !important;

        height:
            48px !important;

        margin-bottom:
            24px !important;

        border-radius:
            16px !important;
    }


    .pc-metric-label {
        font-size:
            .8rem !important;

        line-height:
            1.3 !important;
    }


    .pc-metric-value {
        margin-top:
            7px !important;

        font-size:
            1.45rem !important;

        line-height:
            1.1 !important;

        letter-spacing:
            -.025em;
    }


    /* ----------------------------------------
       LOWER HOME SECTIONS
       ---------------------------------------- */

    .pc-dashboard-v2 .pc-panel {
        border-radius:
            26px !important;

        overflow:
            hidden;
    }


    .pc-dashboard-v2 .pc-panel + .pc-panel {
        margin-top:
            14px;
    }

}


/* Small phones */

@media (max-width:359px) {

    .pc-dashboard-metrics {
        grid-template-columns:
            1fr !important;
    }

    .pc-metric-card {
        min-height:
            145px !important;
    }

}


@media (max-width:767.98px) {

    .pc-dashboard-metrics .pc-metric-card:nth-child(1) .pc-metric-icon {
        background: #dceaff !important;
        color: #315d98 !important;
    }

    .pc-dashboard-metrics .pc-metric-card:nth-child(2) .pc-metric-icon {
        background: #e1f3e8 !important;
        color: #39704d !important;
    }

    .pc-dashboard-metrics .pc-metric-card:nth-child(3) .pc-metric-icon {
        background: #eee8ff !important;
        color: #65558f !important;
    }

    .pc-dashboard-metrics .pc-metric-card:nth-child(4) .pc-metric-icon {
        background: #fff0d8 !important;
        color: #865b13 !important;
    }

}

[data-bs-theme="dark"] .pc-content-area {
    background: #111318 !important;
}


/* ============================================================
   MOBILE HEADER HOTFIX
   ============================================================ */

@media (max-width:767.98px) {

    .pc-menu-button {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        padding: 0 !important;
        margin: 0 !important;

        background: transparent !important;
        background-color: transparent !important;

        color: var(--pc-on-surface) !important;

        border: 0 !important;
        border-radius: 10px !important;

        box-shadow: none !important;
        outline: none !important;
    }

    .pc-menu-button:hover,
    .pc-menu-button:focus,
    .pc-menu-button:active {
        background: rgba(120,120,120,.08) !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .pc-menu-button .icon {
        width: 25px !important;
        height: 25px !important;

        stroke-width: 1.8 !important;
    }

    [data-bs-theme="dark"] .pc-menu-button {
        background: transparent !important;
        color: #e7e9ef !important;
    }

}



/* ============================================================
   PAPIW CLOUD — MOBILE HOME FINAL GRID
   Correct wrapper: .pc-metric-grid
   ============================================================ */

@media (max-width: 767.98px) {

    /* ----------------------------------------
       HOME PAGE SPACING
       ---------------------------------------- */

    .pc-dashboard-v2 {
        width: 100% !important;
    }


    /* ----------------------------------------
       HERO
       ---------------------------------------- */

    .pc-dashboard-hero {
        padding: 26px 22px !important;

        border-radius: 28px !important;

        margin-bottom: 16px !important;
    }


    .pc-dashboard-hero h1 {
        font-size: clamp(1.75rem, 7.5vw, 2.15rem) !important;
        line-height: 1.08 !important;
        letter-spacing: -.04em !important;
    }


    .pc-dashboard-hero p {
        font-size: .92rem !important;
        line-height: 1.5 !important;

        margin-top: 10px !important;
        margin-bottom: 20px !important;
    }


    /* ----------------------------------------
       ACTUAL METRIC WRAPPER
       ---------------------------------------- */

    .pc-metric-grid {
        display: grid !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 12px !important;

        width: 100% !important;

        margin-bottom: 18px !important;
    }


    /* ----------------------------------------
       METRIC CARDS
       ---------------------------------------- */

    .pc-metric-grid .pc-metric-card {
        min-width: 0 !important;
        width: 100% !important;

        min-height: 158px !important;

        padding: 18px 16px !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;

        border-radius: 26px !important;

        overflow: hidden !important;
    }


    .pc-metric-grid .pc-metric-icon {
        width: 46px !important;
        height: 46px !important;

        flex: 0 0 46px !important;

        margin-bottom: 20px !important;

        border-radius: 15px !important;
    }


    .pc-metric-grid .pc-metric-icon .icon {
        width: 22px !important;
        height: 22px !important;
    }


    .pc-metric-grid .pc-metric-label {
        margin-top: auto !important;

        font-size: .78rem !important;
        line-height: 1.25 !important;

        white-space: normal !important;
    }


    .pc-metric-grid .pc-metric-value {
        margin-top: 5px !important;

        font-size: 1.45rem !important;
        line-height: 1 !important;

        letter-spacing: -.035em !important;
    }


    /*
     * Caption is useful on desktop, but in a 2-column
     * mobile dashboard it wastes vertical space.
     */

    .pc-metric-grid .pc-metric-caption {
        display: none !important;
    }


    /* ----------------------------------------
       MAIN DASHBOARD BELOW METRICS
       ---------------------------------------- */

    .pc-dashboard-grid {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 14px !important;
    }


    .pc-dashboard-grid .pc-panel {
        width: 100% !important;

        border-radius: 26px !important;
    }

}


/* Very narrow phones */

@media (max-width: 340px) {

    .pc-metric-grid {
        gap: 9px !important;
    }

    .pc-metric-grid .pc-metric-card {
        min-height: 148px !important;

        padding:
            16px
            13px !important;
    }

}



/* ============================================================
   MOBILE HAMBURGER — CLEAN
   ============================================================ */

@media (max-width:767.98px) {

    .pc-menu-button,
    [data-bs-theme="dark"] .pc-menu-button {

        width: 38px !important;
        height: 38px !important;

        min-width: 38px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        background: transparent !important;
        background-color: transparent !important;

        border: 0 !important;
        border-radius: 10px !important;

        box-shadow: none !important;

        color: inherit !important;
    }


    .pc-menu-button .icon {
        width: 25px !important;
        height: 25px !important;

        stroke-width: 1.7 !important;
    }


    .pc-menu-button:hover,
    .pc-menu-button:focus,
    .pc-menu-button:active {

        background: transparent !important;
        box-shadow: none !important;

        transform: none !important;
    }

}



/* ============================================================
   PAPIW CLOUD — CLOUD SERVICES MOBILE FINAL
   ============================================================ */

@media (max-width:767.98px) {

    /* ========================================================
       SUMMARY — 2 x 2
       ======================================================== */

    .pcsv3-summary {
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;

        margin:
            14px
            0
            22px !important;
    }

    .pcsv3-summary-card {
        min-width:0 !important;
        width:100% !important;
        height:138px !important;
        min-height:138px !important;

        padding:
            16px
            15px !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;

        gap:0 !important;

        border-radius:24px !important;

        transition:
            transform .22s cubic-bezier(.16,1,.3,1),
            box-shadow .22s ease !important;
    }

    .pcsv3-summary-card:active {
        transform:scale(.975);
    }

    .pcsv3-summary-icon {
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
        flex:0 0 42px !important;

        margin:
            0
            0
            15px !important;

        border-radius:14px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .pcsv3-summary-icon .icon {
        width:20px !important;
        height:20px !important;
    }

    .pcsv3-summary-card > div:last-child {
        margin-top:auto !important;
        min-width:0 !important;
    }

    .pcsv3-summary-card span {
        display:block !important;

        font-size:.75rem !important;
        line-height:1.2 !important;
    }

    .pcsv3-summary-card strong {
        display:block !important;

        margin-top:4px !important;

        font-size:1.35rem !important;
        line-height:1 !important;

        letter-spacing:-.035em !important;
    }


    /* ========================================================
       SECTION HEADER
       ======================================================== */

    .pcsv3-section-head {
        margin:
            0
            2px
            12px !important;

        padding:0 !important;
    }

    .pcsv3-section-head h2 {
        margin:
            0
            0
            4px !important;

        font-size:1.05rem !important;
        line-height:1.2 !important;
    }

    .pcsv3-section-head p {
        margin:0 !important;

        font-size:.76rem !important;
        line-height:1.4 !important;
    }


    /* ========================================================
       SERVICE GRID
       ======================================================== */

    .pcsv3-grid {
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
    }

    .pcsv3-card {
        width:100% !important;
        min-width:0 !important;

        border-radius:24px !important;

        overflow:hidden !important;

        transition:
            transform .22s cubic-bezier(.16,1,.3,1),
            box-shadow .22s ease !important;
    }

    .pcsv3-card:active {
        transform:scale(.99);
    }


    /* ========================================================
       SERVICE CARD HEADER
       ======================================================== */

    .pcsv3-card-head {
        padding:
            16px
            16px
            14px !important;

        gap:12px !important;

        align-items:flex-start !important;
    }

    .pcsv3-product-icon {
        width:44px !important;
        height:44px !important;
        min-width:44px !important;

        border-radius:14px !important;
    }

    .pcsv3-product-icon .icon {
        width:21px !important;
        height:21px !important;
    }

    .pcsv3-card-title {
        min-width:0 !important;
        flex:1 1 auto !important;
    }

    .pcsv3-card-title-top {
        display:flex !important;
        align-items:flex-start !important;
        justify-content:space-between !important;

        gap:8px !important;
    }

    .pcsv3-card-title-top h3 {
        min-width:0 !important;

        margin:1px 0 5px !important;

        font-size:.91rem !important;
        line-height:1.25 !important;

        overflow-wrap:anywhere !important;
    }

    .pcsv3-service-id {
        font-size:.69rem !important;
        line-height:1.35 !important;
    }


    /* ========================================================
       SERVER
       ======================================================== */

    .pcsv3-server-block {
        padding:
            14px
            16px !important;
    }

    .pcsv3-server-block > span {
        font-size:.67rem !important;
    }

    .pcsv3-server-block > strong {
        display:block !important;

        margin-top:5px !important;

        font-size:.83rem !important;
        line-height:1.3 !important;

        overflow-wrap:anywhere !important;
        word-break:break-word !important;
    }

    .pcsv3-server-block small {
        display:block !important;

        margin-top:5px !important;

        font-size:.68rem !important;
        line-height:1.4 !important;
    }


    /* ========================================================
       CPU / RAM / STORAGE
       ======================================================== */

    .pcsv3-resources {
        display:grid !important;
        grid-template-columns:
            repeat(3,minmax(0,1fr)) !important;

        gap:0 !important;
    }

    .pcsv3-resources > div {
        min-width:0 !important;

        padding:
            13px
            10px !important;
    }

    .pcsv3-resources span {
        font-size:.63rem !important;
    }

    .pcsv3-resources strong {
        margin-top:4px !important;

        font-size:.79rem !important;
        line-height:1.25 !important;

        overflow-wrap:anywhere !important;
    }

    .pcsv3-resources strong small {
        font-size:.6rem !important;
    }


    /* ========================================================
       TECHNICAL DETAILS
       ======================================================== */

    .pcsv3-details {
        display:grid !important;
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;

        gap:0 !important;
    }

    .pcsv3-details > div {
        min-width:0 !important;

        padding:
            13px
            14px !important;
    }

    .pcsv3-details span {
        font-size:.63rem !important;
    }

    .pcsv3-details strong {
        display:block !important;

        margin-top:4px !important;

        font-size:.74rem !important;
        line-height:1.3 !important;

        overflow-wrap:anywhere !important;
    }


    /* ========================================================
       TONAL SUMMARY CARDS
       ======================================================== */

    .pcsv3-summary-card:nth-child(1) {
        background:
            linear-gradient(
                145deg,
                rgba(220,234,255,.22),
                #fff 40%
            ) !important;
    }

    .pcsv3-summary-card:nth-child(2) {
        background:
            linear-gradient(
                145deg,
                rgba(225,243,232,.25),
                #fff 40%
            ) !important;
    }

    .pcsv3-summary-card:nth-child(3) {
        background:
            linear-gradient(
                145deg,
                rgba(238,232,255,.25),
                #fff 40%
            ) !important;
    }

    .pcsv3-summary-card:nth-child(4) {
        background:
            linear-gradient(
                145deg,
                rgba(255,240,216,.28),
                #fff 40%
            ) !important;
    }

}


/* ============================================================
   CLOUD SERVICES MOBILE — DARK MODE
   ============================================================ */

@media (max-width:767.98px) {

    [data-bs-theme="dark"] .pcsv3-summary-card:nth-child(1) {
        background:
            linear-gradient(
                145deg,
                rgba(54,82,125,.24),
                #1c1f25 42%
            ) !important;
    }

    [data-bs-theme="dark"] .pcsv3-summary-card:nth-child(2) {
        background:
            linear-gradient(
                145deg,
                rgba(48,91,64,.22),
                #1c1f25 42%
            ) !important;
    }

    [data-bs-theme="dark"] .pcsv3-summary-card:nth-child(3) {
        background:
            linear-gradient(
                145deg,
                rgba(81,66,116,.22),
                #1c1f25 42%
            ) !important;
    }

    [data-bs-theme="dark"] .pcsv3-summary-card:nth-child(4) {
        background:
            linear-gradient(
                145deg,
                rgba(105,76,31,.22),
                #1c1f25 42%
            ) !important;
    }

}


/* ============================================================
   CLOUD SERVICES — MOBILE MOTION
   ============================================================ */

@media
(max-width:767.98px)
and
(prefers-reduced-motion:no-preference) {

    .pcsv3-summary-card:nth-child(1) {
        animation-delay:70ms !important;
    }

    .pcsv3-summary-card:nth-child(2) {
        animation-delay:110ms !important;
    }

    .pcsv3-summary-card:nth-child(3) {
        animation-delay:150ms !important;
    }

    .pcsv3-summary-card:nth-child(4) {
        animation-delay:190ms !important;
    }

    .pcsv3-section-head {
        animation:
            pcSectionReveal
            .42s
            cubic-bezier(.16,1,.3,1)
            220ms
            both !important;
    }

    .pcsv3-card {
        animation:
            pcCardReveal
            .44s
            cubic-bezier(.16,1,.3,1)
            both !important;
    }

    .pcsv3-card:nth-child(1) {
        animation-delay:250ms !important;
    }

    .pcsv3-card:nth-child(2) {
        animation-delay:300ms !important;
    }

    .pcsv3-card:nth-child(3) {
        animation-delay:350ms !important;
    }

}



/* ============================================================
   PAPIW CLOUD — MOBILE INFRASTRUCTURE COMPACT v1
   ============================================================ */

@media (max-width:767.98px) {

    /* --------------------------------------------------------
       INFRASTRUCTURE LIST
       -------------------------------------------------------- */

    .pcsv3-grid {
        gap:10px !important;
    }

    .pcsv3-card {
        border-radius:22px !important;
    }


    /* --------------------------------------------------------
       CARD HEADER
       -------------------------------------------------------- */

    .pcsv3-card-head {
        padding:
            14px
            14px
            11px !important;

        gap:10px !important;
    }

    .pcsv3-product-icon {
        width:40px !important;
        height:40px !important;
        min-width:40px !important;

        border-radius:13px !important;
    }

    .pcsv3-product-icon .icon {
        width:19px !important;
        height:19px !important;
    }

    .pcsv3-card-title-top {
        gap:7px !important;
    }

    .pcsv3-card-title-top h3 {
        margin:0 0 3px !important;

        font-size:.82rem !important;
        line-height:1.22 !important;

        letter-spacing:-.015em !important;
    }

    .pcsv3-card-title-top .badge {
        flex:0 0 auto !important;

        padding:
            5px
            9px !important;

        font-size:.62rem !important;
    }

    .pcsv3-service-id {
        font-size:.63rem !important;
        line-height:1.3 !important;
    }


    /* --------------------------------------------------------
       SERVER — ONE COMPACT BLOCK
       -------------------------------------------------------- */

    .pcsv3-server-block {
        padding:
            10px
            14px !important;
    }

    .pcsv3-server-block > span {
        display:none !important;
    }

    .pcsv3-server-block > strong {
        margin:0 !important;

        font-size:.76rem !important;
        line-height:1.25 !important;

        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;

        word-break:normal !important;
    }

    .pcsv3-server-block small {
        margin-top:4px !important;

        font-size:.63rem !important;
        line-height:1.3 !important;

        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }


    /* --------------------------------------------------------
       CPU / MEMORY / STORAGE
       -------------------------------------------------------- */

    .pcsv3-resources {
        margin:
            0
            10px
            10px !important;

        border-radius:
            16px !important;

        overflow:
            hidden !important;
    }

    .pcsv3-resources > div {
        padding:
            9px
            8px !important;

        min-height:
            53px !important;
    }

    .pcsv3-resources span {
        font-size:
            .57rem !important;

        line-height:
            1.1 !important;
    }

    .pcsv3-resources strong {
        margin-top:
            4px !important;

        font-size:
            .7rem !important;

        line-height:
            1.15 !important;
    }

    .pcsv3-resources strong small {
        font-size:
            .55rem !important;
    }


    /* --------------------------------------------------------
       LIST DOES NOT NEED FULL TECHNICAL DETAILS
       Full data remains available in service detail page.
       -------------------------------------------------------- */

    .pcsv3-details {
        display:none !important;
    }


    /* --------------------------------------------------------
       OTHER DESKTOP DETAIL BLOCKS
       Keep the list focused on service scanning.
       -------------------------------------------------------- */

    .pcsv3-card .pcsv3-meta,
    .pcsv3-card .pcsv3-technical,
    .pcsv3-card .pcsv3-description {
        display:none !important;
    }


    /* --------------------------------------------------------
       TOUCH FEEDBACK
       -------------------------------------------------------- */

    .pcsv3-card {
        transition:
            transform .18s cubic-bezier(.16,1,.3,1),
            box-shadow .18s ease,
            border-color .18s ease !important;
    }

    .pcsv3-card:active {
        transform:
            scale(.985) !important;
    }

}


/* ============================================================
   SMALL MOBILE
   ============================================================ */

@media (max-width:360px) {

    .pcsv3-card-title-top h3 {
        font-size:.77rem !important;
    }

    .pcsv3-card-title-top .badge {
        padding:
            4px
            7px !important;

        font-size:.58rem !important;
    }

    .pcsv3-resources > div {
        padding:
            8px
            6px !important;
    }

}



/* ============================================================
   CLOUD SERVICES — TRUE MOBILE COMPACT LIST
   ============================================================ */

.pcsv3-mobile-compact {
    display:none;
}

@media (max-width:767.98px) {

    /*
     * Mobile list = header + dedicated compact summary only.
     * All large desktop sections below are hidden.
     */

    .pcsv3-card > *:not(.pcsv3-card-head):not(.pcsv3-mobile-compact) {
        display:none !important;
    }


    .pcsv3-card {
        border-radius:20px !important;
        overflow:hidden !important;
    }


    /* --------------------------------------------------------
       TOP PRODUCT HEADER
       -------------------------------------------------------- */

    .pcsv3-card-head {
        padding:
            13px
            14px
            11px !important;

        gap:10px !important;
    }

    .pcsv3-product-icon {
        width:38px !important;
        height:38px !important;
        min-width:38px !important;

        border-radius:12px !important;
    }

    .pcsv3-card-title-top h3 {
        font-size:.8rem !important;
        line-height:1.2 !important;

        margin:0 0 3px !important;
    }

    .pcsv3-service-id {
        font-size:.61rem !important;
    }

    .pcsv3-card-title-top .badge {
        font-size:.57rem !important;

        padding:
            4px
            7px !important;
    }


    /* --------------------------------------------------------
       MOBILE SUMMARY
       -------------------------------------------------------- */

    .pcsv3-mobile-compact {
        display:block !important;

        padding:
            11px
            14px
            12px !important;

        color:inherit !important;

        text-decoration:none !important;

        border-top:
            1px solid var(--pc-outline-variant, rgba(120,120,120,.18));

        transition:
            background-color .18s ease,
            transform .18s cubic-bezier(.16,1,.3,1);
    }

    .pcsv3-mobile-compact:active {
        transform:scale(.99);
    }


    /* --------------------------------------------------------
       HOST
       -------------------------------------------------------- */

    .pcsv3-mobile-server {
        font-size:.72rem;
        line-height:1.25;

        font-weight:700;

        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .pcsv3-mobile-meta {
        margin-top:3px;

        color:var(--pc-on-surface-variant, #687078);

        font-size:.6rem;
        line-height:1.3;

        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }


    /* --------------------------------------------------------
       SPECS — FLEX, NOT 3 FIXED CARDS
       No more collisions.
       -------------------------------------------------------- */

    .pcsv3-mobile-specs {
        display:flex;

        flex-wrap:wrap;

        gap:
            5px
            8px;

        margin-top:9px;
    }

    .pcsv3-mobile-specs > span {
        display:inline-flex;
        align-items:center;

        gap:4px;

        min-width:0;

        padding:
            5px
            8px;

        border-radius:10px;

        background:
            rgba(70,100,160,.07);
    }

    .pcsv3-mobile-specs small {
        font-size:.52rem;

        color:
            var(--pc-on-surface-variant, #687078);
    }

    .pcsv3-mobile-specs strong {
        font-size:.6rem;
        line-height:1.15;

        white-space:normal;
        overflow-wrap:anywhere;
    }

    .pcsv3-mobile-storage {
        max-width:100%;
    }


    /* --------------------------------------------------------
       PENDING SERVICE
       -------------------------------------------------------- */

    .pcsv3-mobile-pending {
        display:flex;

        align-items:center;

        min-height:42px;
    }

    .pcsv3-mobile-pending strong {
        display:block;

        font-size:.69rem;
        line-height:1.2;
    }

    .pcsv3-mobile-pending small {
        display:block;

        margin-top:3px;

        font-size:.58rem;
        line-height:1.3;

        color:
            var(--pc-on-surface-variant, #687078);
    }


    /* --------------------------------------------------------
       VIEW DETAILS
       -------------------------------------------------------- */

    .pcsv3-mobile-manage {
        display:flex;
        align-items:center;
        justify-content:flex-end;

        gap:5px;

        margin-top:8px;

        color:
            var(--pc-primary, #356fce);

        font-size:.62rem;
        font-weight:700;
    }

    .pcsv3-mobile-manage span {
        font-size:.78rem;
    }


    /*
     * Previous mobile resource/details rules are irrelevant now
     * because the desktop body is hidden entirely.
     */

}


/* DARK MODE */

@media (max-width:767.98px) {

    [data-bs-theme="dark"] .pcsv3-mobile-specs > span {
        background:
            rgba(120,155,220,.10);
    }

}



/* ============================================================
   PAPIW CLOUD — SERVICE DETAIL MOBILE FINAL
   ============================================================ */

@media (max-width:767.98px) {

    /* HERO */

    .pcsd-hero {
        padding:20px 18px !important;
        border-radius:24px !important;
        gap:16px !important;
    }

    .pcsd-hero-main {
        gap:13px !important;
        align-items:flex-start !important;
    }

    .pcsd-service-icon {
        width:48px !important;
        height:48px !important;
        min-width:48px !important;
        border-radius:15px !important;
    }

    .pcsd-service-icon svg {
        width:24px !important;
        height:24px !important;
    }

    .pcsd-eyebrow {
        font-size:.66rem !important;
        margin-bottom:4px !important;
    }

    .pcsd-title-row {
        display:block !important;
    }

    .pcsd-title-row h1 {
        margin:0 0 8px !important;
        font-size:1.45rem !important;
        line-height:1.08 !important;
        letter-spacing:-.035em !important;
    }

    .pcsd-status {
        display:inline-flex !important;
        width:fit-content !important;
        padding:6px 10px !important;
        font-size:.63rem !important;
    }

    .pcsd-identifiers {
        margin-top:8px !important;
        gap:5px !important;
        font-size:.62rem !important;
        line-height:1.35 !important;
        flex-wrap:wrap !important;
    }

    .pcsd-support-button {
        width:100% !important;
        min-height:42px !important;
        margin-top:0 !important;
        border-radius:14px !important;
        font-size:.72rem !important;
    }


    /* RESOURCES: 3 compact columns */

    .pcsd-resources {
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:9px !important;
        margin-top:12px !important;
    }

    .pcsd-resource-card {
        min-width:0 !important;
        min-height:102px !important;
        padding:13px 10px !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;

        border-radius:20px !important;
    }

    .pcsd-resource-icon {
        width:38px !important;
        height:38px !important;
        min-width:38px !important;
        margin:0 0 12px !important;
        border-radius:13px !important;
    }

    .pcsd-resource-icon svg {
        width:19px !important;
        height:19px !important;
    }

    .pcsd-resource-card > div:last-child {
        min-width:0 !important;
        margin-top:auto !important;
    }

    .pcsd-resource-card span {
        font-size:.58rem !important;
        line-height:1.15 !important;
    }

    .pcsd-resource-card strong {
        display:block !important;
        margin-top:4px !important;

        font-size:.78rem !important;
        line-height:1.15 !important;

        overflow-wrap:anywhere !important;
    }

    .pcsd-resource-card strong small {
        font-size:.52rem !important;
    }


    /* MAIN */

    .pcsd-main-grid {
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
        margin-top:12px !important;
    }

    .pcsd-side-stack {
        gap:12px !important;
    }

    .pcsd-panel {
        border-radius:22px !important;
    }

    .pcsd-panel-head {
        padding:16px 16px !important;
        min-height:0 !important;
    }

    .pcsd-panel-head h2 {
        margin:0 0 3px !important;
        font-size:.9rem !important;
        line-height:1.2 !important;
    }

    .pcsd-panel-head p {
        margin:0 !important;
        font-size:.62rem !important;
        line-height:1.3 !important;
    }

    .pcsd-panel-head-icon {
        width:38px !important;
        height:38px !important;
        min-width:38px !important;
        border-radius:13px !important;
    }

    .pcsd-panel-head-icon svg {
        width:19px !important;
        height:19px !important;
    }


    /* INFRASTRUCTURE: hostname full row, rest compact */

    .pcsd-infrastructure .pcsd-info-list {
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .pcsd-infrastructure .pcsd-info-row {
        min-width:0 !important;
        padding:14px 15px !important;
        min-height:78px !important;
    }

    .pcsd-infrastructure .pcsd-info-row:first-child {
        grid-column:1 / -1 !important;
    }

    .pcsd-infrastructure .pcsd-info-row:last-child {
        grid-column:1 / -1 !important;
    }

    .pcsd-info-row span {
        font-size:.6rem !important;
    }

    .pcsd-info-row strong {
        display:block !important;
        margin-top:5px !important;

        font-size:.72rem !important;
        line-height:1.3 !important;

        overflow-wrap:anywhere !important;
        word-break:break-word !important;
    }


    /* SERVICE DETAILS + BILLING */

    .pcsd-compact-list {
        padding:0 15px 8px !important;
    }

    .pcsd-compact-list > div {
        min-height:48px !important;
        padding:10px 0 !important;

        display:grid !important;
        grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) !important;
        gap:12px !important;
        align-items:center !important;
    }

    .pcsd-compact-list span {
        font-size:.62rem !important;
    }

    .pcsd-compact-list strong {
        font-size:.67rem !important;
        line-height:1.25 !important;

        text-align:right !important;
        overflow-wrap:anywhere !important;
    }


    /* HELP */

    .pcsd-help {
        margin-top:12px !important;
        padding:16px !important;

        display:grid !important;
        grid-template-columns:40px 1fr !important;
        gap:11px !important;

        border-radius:22px !important;
    }

    .pcsd-help-icon {
        width:40px !important;
        height:40px !important;
        min-width:40px !important;
        border-radius:13px !important;
    }

    .pcsd-help-icon svg {
        width:19px !important;
        height:19px !important;
    }

    .pcsd-help > div:nth-child(2) strong {
        font-size:.72rem !important;
        line-height:1.25 !important;
    }

    .pcsd-help > div:nth-child(2) p {
        margin:4px 0 0 !important;
        font-size:.61rem !important;
        line-height:1.35 !important;
    }

    .pcsd-help > a {
        grid-column:1 / -1 !important;

        min-height:40px !important;
        margin-top:2px !important;

        border-radius:13px !important;

        font-size:.68rem !important;
    }

}


/* ============================================================
   SERVICE DETAIL — DARK MODE
   ============================================================ */

@media (max-width:767.98px) {

    [data-bs-theme="dark"] .pcsd-resource-card {
        background:#1c1f25 !important;
    }

}


/* ============================================================
   SERVICE DETAIL — MOBILE MOTION
   ============================================================ */

@media
(max-width:767.98px)
and
(prefers-reduced-motion:no-preference) {

    .pcsd-hero {
        animation:
            pcSectionReveal
            .42s
            cubic-bezier(.16,1,.3,1)
            both !important;
    }

    .pcsd-resource-card:nth-child(1) {
        animation-delay:80ms !important;
    }

    .pcsd-resource-card:nth-child(2) {
        animation-delay:120ms !important;
    }

    .pcsd-resource-card:nth-child(3) {
        animation-delay:160ms !important;
    }

    .pcsd-main-grid {
        animation:
            pcSectionReveal
            .44s
            cubic-bezier(.16,1,.3,1)
            200ms
            both !important;
    }

    .pcsd-help {
        animation:
            pcSectionReveal
            .44s
            cubic-bezier(.16,1,.3,1)
            260ms
            both !important;
    }

}



/* ============================================================
   PAPIW CLOUD — NATIVE ORDER SUMMARY
   ============================================================ */

.pcorder-summary {
    background:var(--pc-surface,#fff);
    border:1px solid var(--pc-outline-variant,#dfe3ea);
    border-radius:26px;
    overflow:hidden;
    margin-bottom:18px;
}

.pcorder-head {
    padding:24px;
    border-bottom:1px solid var(--pc-outline-variant,#dfe3ea);
}

.pcorder-eyebrow {
    font-size:.72rem;
    font-weight:700;
    color:var(--pc-on-surface-variant,#66707d);
    margin-bottom:6px;
}

.pcorder-head h1 {
    margin:0;
    font-size:1.45rem;
    line-height:1.15;
    letter-spacing:-.025em;
}

.pcorder-meta {
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:10px;
    font-size:.75rem;
    color:var(--pc-on-surface-variant,#66707d);
}

.pcorder-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:8px 22px;
}

.pcorder-item {
    min-width:0;
    padding:16px 4px;
    border-bottom:1px solid var(--pc-outline-variant,#e3e6ec);
}

.pcorder-item:nth-last-child(-n+2) {
    border-bottom:0;
}

.pcorder-item span {
    display:block;
    font-size:.7rem;
    color:var(--pc-on-surface-variant,#66707d);
}

.pcorder-item span small {
    display:block;
    margin-top:2px;
    font-size:.6rem;
}

.pcorder-item strong {
    display:block;
    margin-top:5px;
    font-size:.82rem;
    line-height:1.35;
    overflow-wrap:anywhere;
}

.pcorder-full,
.pcorder-renewal {
    grid-column:1 / -1;
}

.pcorder-actions {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    padding:18px 22px;
    border-top:1px solid var(--pc-outline-variant,#dfe3ea);
}

.pcorder-btn {
    min-height:42px;
    padding:0 18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;

    border:0;
    border-radius:14px;

    text-decoration:none !important;

    font-size:.75rem;
    font-weight:700;

    transition:
        transform .18s cubic-bezier(.16,1,.3,1),
        opacity .18s ease;
}

.pcorder-btn:active {
    transform:scale(.97);
}

.pcorder-btn-primary {
    background:var(--pc-primary,#4d7df3);
    color:#fff !important;
}

.pcorder-btn-secondary {
    background:var(--pc-soft-blue,#e8f0ff);
    color:var(--pc-soft-blue-text,#315d98);
}

.pcorder-btn-danger {
    background:#fce8eb;
    color:#a73748;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width:767.98px) {

    .pcorder-summary {
        border-radius:22px;
        margin-bottom:12px;
    }

    .pcorder-head {
        padding:17px 16px 15px;
    }

    .pcorder-eyebrow {
        font-size:.62rem;
        margin-bottom:5px;
    }

    .pcorder-head h1 {
        font-size:1.05rem;
        line-height:1.18;
    }

    .pcorder-meta {
        margin-top:8px;
        gap:7px;
        font-size:.62rem;
    }

    .pcorder-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        padding:5px 14px;
        column-gap:14px;
    }

    .pcorder-item {
        padding:11px 0;
    }

    .pcorder-item span {
        font-size:.58rem;
    }

    .pcorder-item span small {
        font-size:.51rem;
    }

    .pcorder-item strong {
        margin-top:4px;
        font-size:.68rem;
        line-height:1.3;
    }

    .pcorder-renewal {
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:10px;
        align-items:center;
    }

    .pcorder-renewal strong {
        text-align:right;
        margin:0;
    }

    .pcorder-actions {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:8px;

        padding:13px 14px;
    }

    .pcorder-btn {
        width:100%;
        min-height:40px;

        padding:0 10px;

        border-radius:13px;

        font-size:.65rem;
    }

    .pcorder-btn-danger {
        grid-column:1 / -1;
    }

}


/* ============================================================
   DARK MODE
   ============================================================ */

[data-bs-theme="dark"] .pcorder-summary {
    background:#1c1f25;
}

[data-bs-theme="dark"] .pcorder-btn-danger {
    background:#4a2b31;
    color:#ffd9df;
}



/* ============================================================
   PAPIW CLOUD — SERVICE ACTIONS
   ============================================================ */

.pcsd-service-actions {
    margin-top:12px;

    overflow:hidden;

    background:var(--pc-surface,#fff);

    border:
        1px solid
        var(--pc-outline-variant,#dfe3ea);

    border-radius:22px;
}


.pcsd-actions-head {
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:16px;

    padding:17px 17px;

    border-bottom:
        1px solid
        var(--pc-outline-variant,#dfe3ea);
}


.pcsd-actions-head h2 {
    margin:0 0 3px;

    font-size:.92rem;
    line-height:1.2;
}


.pcsd-actions-head p {
    margin:0;

    color:
        var(--pc-on-surface-variant,#687078);

    font-size:.63rem;
    line-height:1.35;
}


.pcsd-actions-head-icon {
    width:38px;
    height:38px;

    min-width:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:
        var(--pc-soft-blue-text,#315d98);

    background:
        var(--pc-soft-blue,#e8f0ff);

    border-radius:13px;
}


.pcsd-actions-head-icon svg {
    width:19px;
    height:19px;
}


.pcsd-actions-body {
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:8px;

    padding:14px;
}


.pcsd-action-button {
    width:100%;

    min-height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:7px;

    padding:
        0
        12px;

    border:0;
    border-radius:13px;

    text-decoration:none !important;

    font-size:.69rem;
    font-weight:700;

    cursor:pointer;

    transition:
        transform .18s cubic-bezier(.16,1,.3,1),
        filter .18s ease;
}


.pcsd-action-button:active {
    transform:scale(.975);
}


/* Renew */

.pcsd-action-renew {
    background:
        var(--pc-primary,#4d7df3);

    color:#fff !important;
}


/* Support */

.pcsd-action-support {
    background:
        var(--pc-soft-blue,#e8f0ff);

    color:
        var(--pc-soft-blue-text,#315d98);
}


/* Destructive action */

.pcsd-action-cancel {
    grid-column:
        1 / -1;

    background:#fce8eb;

    color:#a73748;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width:767.98px) {

    .pcsd-service-actions {
        margin-top:12px;

        border-radius:22px;
    }


    .pcsd-actions-head {
        padding:
            15px
            16px;
    }


    .pcsd-actions-head h2 {
        font-size:.86rem;
    }


    .pcsd-actions-head p {
        font-size:.6rem;
    }


    .pcsd-actions-body {
        gap:8px;

        padding:
            12px
            14px
            14px;
    }


    .pcsd-action-button {
        min-height:40px;

        font-size:.64rem;
    }

}


/* ============================================================
   DARK MODE
   ============================================================ */

[data-bs-theme="dark"] .pcsd-service-actions {
    background:#1c1f25;
}


[data-bs-theme="dark"] .pcsd-action-cancel {
    background:#4a2b31;

    color:#ffd9df;
}



/* ============================================================
   PAPIW CLOUD — BILLING MOBILE FINAL
   ============================================================ */

@media (max-width:767.98px) {

    /* HERO lebih padat */

    .pcbill-hero {
        padding:24px 22px !important;
        border-radius:26px !important;
    }

    .pcbill-hero h1 {
        font-size:1.95rem !important;
        line-height:1.05 !important;
    }

    .pcbill-hero p {
        margin-bottom:18px !important;
        font-size:.9rem !important;
        line-height:1.45 !important;
    }


    /* ========================================================
       SUMMARY — 3 columns
       ======================================================== */

    .pcbill-summary {
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:9px !important;

        margin:
            14px
            0
            16px !important;
    }

    .pcbill-summary-card {
        min-width:0 !important;
        min-height:112px !important;

        padding:
            13px
            10px !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;

        gap:0 !important;

        border-radius:20px !important;
    }

    .pcbill-summary-icon {
        width:38px !important;
        height:38px !important;
        min-width:38px !important;

        margin:
            0
            0
            12px !important;

        border-radius:13px !important;
    }

    .pcbill-summary-icon svg {
        width:18px !important;
        height:18px !important;
    }

    .pcbill-summary-card > div:last-child {
        margin-top:auto !important;
        min-width:0 !important;
    }

    .pcbill-summary-card span {
        font-size:.58rem !important;
        line-height:1.15 !important;
    }

    .pcbill-summary-card strong {
        display:block !important;

        margin-top:4px !important;

        font-size:1.05rem !important;
        line-height:1 !important;
    }

    .pcbill-summary-card small {
        display:none !important;
    }


    /* ========================================================
       INVOICE PANEL
       ======================================================== */

    .pcbill-panel {
        border-radius:22px !important;
        overflow:hidden !important;
    }

    .pcbill-panel-head {
        padding:
            16px
            16px
            14px !important;

        gap:12px !important;
    }

    .pcbill-panel-head h2 {
        margin:0 0 3px !important;

        font-size:.95rem !important;
    }

    .pcbill-panel-head p {
        margin:0 !important;

        font-size:.62rem !important;
    }

    .pcbill-tabs {
        margin-top:12px !important;
    }

    .pcbill-tab {
        min-height:38px !important;

        padding:
            0
            13px !important;

        font-size:.65rem !important;
    }

    .pcbill-tab-count {
        min-width:22px !important;
        height:22px !important;

        font-size:.58rem !important;
    }


    /* ========================================================
       INVOICE ROW — TRUE COMPACT
       ======================================================== */

    .pcbill-row {
        display:grid !important;

        grid-template-columns:
            38px
            minmax(0,1fr)
            auto !important;

        grid-template-areas:
            "icon main status"
            "icon amount action" !important;

        column-gap:10px !important;
        row-gap:7px !important;

        align-items:start !important;

        padding:
            13px
            14px !important;

        min-height:0 !important;

        text-decoration:none !important;
    }

    .pcbill-invoice-icon {
        grid-area:icon !important;

        width:38px !important;
        height:38px !important;
        min-width:38px !important;

        border-radius:12px !important;
    }

    .pcbill-invoice-icon svg {
        width:18px !important;
        height:18px !important;
    }

    .pcbill-main {
        grid-area:main !important;

        min-width:0 !important;
    }

    .pcbill-title-line {
        display:block !important;
    }

    .pcbill-title-line > strong {
        display:block !important;

        font-size:.74rem !important;
        line-height:1.25 !important;

        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    /*
     * status diposisikan kanan atas
     */

    .pcbill-title-line .pcbill-status {
        position:absolute !important;
        right:14px !important;

        font-size:.56rem !important;

        padding:
            4px
            7px !important;
    }

    .pcbill-row {
        position:relative !important;
    }

    .pcbill-meta {
        display:block !important;

        margin-top:4px !important;

        font-size:.56rem !important;
        line-height:1.35 !important;

        color:
            var(--pc-on-surface-variant,#687078);
    }

    .pcbill-meta > span {
        display:block !important;
    }

    .pcbill-meta > span:nth-child(2) {
        display:none !important;
    }


    /* ========================================================
       AMOUNT
       ======================================================== */

    .pcbill-amount {
        grid-area:amount !important;

        align-self:end !important;

        min-width:0 !important;
    }

    .pcbill-amount span {
        display:none !important;
    }

    .pcbill-amount strong {
        display:block !important;

        font-size:.69rem !important;
        line-height:1.2 !important;

        font-weight:700 !important;

        white-space:nowrap !important;
    }


    /* ========================================================
       ACTION
       ======================================================== */

    .pcbill-row-action {
        grid-area:action !important;

        align-self:end !important;

        width:auto !important;
        min-width:0 !important;
        min-height:0 !important;

        padding:0 !important;

        background:transparent !important;
        border:0 !important;
        border-radius:0 !important;

        color:
            var(--pc-primary,#4d7df3) !important;

        font-size:.61rem !important;
        font-weight:700 !important;

        white-space:nowrap !important;
    }

    .pcbill-row-action span {
        font-size:.72rem !important;
    }


    /* ========================================================
       TAP
       ======================================================== */

    .pcbill-row {
        transition:
            background-color .18s ease,
            transform .18s cubic-bezier(.16,1,.3,1) !important;
    }

    .pcbill-row:active {
        transform:scale(.99);
    }

}


/* ============================================================
   BILLING MOBILE DARK MODE
   ============================================================ */

@media (max-width:767.98px) {

    [data-bs-theme="dark"] .pcbill-summary-card {
        background:#1c1f25 !important;
    }

}


/* ============================================================
   BILLING MOBILE MOTION
   ============================================================ */

@media
(max-width:767.98px)
and
(prefers-reduced-motion:no-preference) {

    .pcbill-summary-card:nth-child(1) {
        animation-delay:70ms !important;
    }

    .pcbill-summary-card:nth-child(2) {
        animation-delay:110ms !important;
    }

    .pcbill-summary-card:nth-child(3) {
        animation-delay:150ms !important;
    }

    .pcbill-panel {
        animation:
            pcSectionReveal
            .44s
            cubic-bezier(.16,1,.3,1)
            190ms
            both !important;
    }

}



/* ============================================================
   PAPIW CLOUD — PAYMENT MODAL STACKING FIX
   ============================================================ */

#paymentPrompt {
    z-index: 2005 !important;
}

#paymentPrompt.show {
    z-index: 2005 !important;
}

#paymentPrompt .modal-dialog,
#paymentPrompt .modal-content {
    position: relative !important;
    z-index: 2006 !important;
}

.modal-backdrop {
    z-index: 1990 !important;
}


/* Payment modal surface */

#paymentPrompt .pcinv-payment-modal {
    background: var(--pc-surface, #fff) !important;
    color: var(--pc-on-surface, #1b1b1f) !important;

    opacity: 1 !important;

    border-radius: 24px !important;

    box-shadow:
        0 18px 60px rgba(0,0,0,.22) !important;
}


/* Mobile */

@media (max-width:767.98px) {

    #paymentPrompt .modal-dialog {
        width: calc(100% - 24px) !important;
        max-width: none !important;

        margin:
            12px
            auto !important;
    }

    #paymentPrompt .pcinv-payment-modal {
        border-radius: 22px !important;
    }

}


/* Dark mode */

[data-bs-theme="dark"] #paymentPrompt .pcinv-payment-modal {
    background: #1c1f25 !important;
    color: #f4f5f8 !important;
}



/* ============================================================
   PAPIW CLOUD — PAYMENT MODAL FINAL POLISH
   ============================================================ */

#paymentPrompt .pcinv-payment-modal {
    border:1px solid var(--pc-outline-variant,#dfe3ea) !important;
}

#paymentPrompt .modal-header {
    padding:20px 22px 16px !important;
}

#paymentPrompt .modal-body {
    padding:18px 22px !important;
}

#paymentPrompt .modal-footer {
    padding:14px 22px 20px !important;
}

#paymentPrompt .pcinv-modal-eyebrow {
    font-size:.65rem !important;
    font-weight:700 !important;
    color:var(--pc-on-surface-variant,#687078) !important;
    margin-bottom:4px !important;
}

#paymentPrompt .modal-title {
    font-size:1.25rem !important;
    line-height:1.2 !important;
    letter-spacing:-.02em !important;
}

#paymentPrompt .pcinv-modal-text {
    margin:0 0 16px !important;

    font-size:.78rem !important;
    line-height:1.5 !important;

    color:var(--pc-on-surface-variant,#687078) !important;
}

#paymentPrompt .pcinv-modal-actions {
    display:grid !important;
    gap:10px !important;
}

#paymentPrompt .pcinv-pay-primary {
    min-height:46px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border-radius:14px !important;

    background:var(--pc-primary,#4d7df3) !important;
    color:#fff !important;

    text-decoration:none !important;

    font-size:.78rem !important;
    font-weight:700 !important;

    opacity:1 !important;
}

#paymentPrompt .pcinv-pay-primary:hover,
#paymentPrompt .pcinv-pay-primary:focus {
    color:#fff !important;
    filter:brightness(.98);
}

#paymentPrompt .pcinv-modal-cancel {
    min-height:40px !important;

    padding:0 16px !important;

    border:0 !important;
    border-radius:12px !important;

    background:var(--pc-soft-blue,#e8f0ff) !important;
    color:var(--pc-soft-blue-text,#315d98) !important;

    font-size:.7rem !important;
    font-weight:700 !important;
}

@media (max-width:767.98px) {

    #paymentPrompt .modal-title {
        font-size:1.15rem !important;
    }

    #paymentPrompt .pcinv-pay-primary {
        min-height:44px !important;
        font-size:.74rem !important;
    }

}

[data-bs-theme="dark"] #paymentPrompt .pcinv-modal-text {
    color:#b7bdc8 !important;
}


/* ============================================================
   PAYMENT MODAL — RESPECT NATIVE HIDDEN STATE
   ============================================================ */

#paymentPrompt .pcinv-pay-primary[hidden] {
    display: none !important;
}



/* ============================================================
   PAYMENT MODAL — FINAL STACKING
   ============================================================ */

.modal-backdrop.show {
    opacity: .38 !important;
}

#paymentPrompt {
    z-index: 2050 !important;
    opacity: 1 !important;
}

#paymentPrompt .modal-dialog {
    z-index: 2051 !important;
    opacity: 1 !important;
}

#paymentPrompt .modal-content,
#paymentPrompt .pcinv-payment-modal {
    opacity: 1 !important;

    background: #ffffff !important;
    color: #1b1b1f !important;
}


/* Keep dark-mode modal intentionally dark,
   but never dimmed by backdrop */

[data-bs-theme="dark"] #paymentPrompt .modal-content,
[data-bs-theme="dark"] #paymentPrompt .pcinv-payment-modal {
    background: #1c1f25 !important;
    color: #f4f5f8 !important;
}


/* ============================================================
   PAPIW CLOUD SUPPORT — MOBILE COMPACT FINAL
   ============================================================ */

@media (max-width: 767.98px) {

    .pcsup {
        padding-bottom: 24px;
    }

    /* Hero */
    .pcsup-hero {
        padding: 22px 18px !important;
        border-radius: 28px !important;
    }

    .pcsup-hero h1 {
        font-size: 31px !important;
        line-height: 1.05 !important;
        margin-bottom: 8px !important;
    }

    .pcsup-hero p {
        font-size: 15px !important;
        line-height: 1.45 !important;
        margin-bottom: 18px !important;
    }

    .pcsup-primary {
        min-height: 48px !important;
    }

    /* Summary 2 x 2 */
    .pcsup-summary {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .pcsup-stat {
        min-width: 0 !important;
        padding: 15px 13px !important;
        border-radius: 22px !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .pcsup-stat-icon {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        border-radius: 14px !important;
    }

    .pcsup-stat-icon svg {
        width: 20px !important;
        height: 20px !important;
    }

    .pcsup-stat h3,
    .pcsup-stat .value,
    .pcsup-stat strong {
        font-size: 24px !important;
        line-height: 1 !important;
    }

    .pcsup-stat p,
    .pcsup-stat small {
        font-size: 11px !important;
        line-height: 1.25 !important;
    }

    /* Panel */
    .pcsup-panel {
        border-radius: 24px !important;
    }

    .pcsup-panel-head {
        padding: 17px 16px !important;
        align-items: center !important;
    }

    .pcsup-panel-head h2 {
        font-size: 20px !important;
        margin-bottom: 3px !important;
    }

    .pcsup-panel-head p {
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    .pcsup-count {
        white-space: nowrap !important;
        padding: 7px 12px !important;
        font-size: 11px !important;
    }

    /* Ticket rows */
    .pcsup-ticket {
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) auto !important;
        gap: 10px !important;
        align-items: center !important;
        padding: 14px 15px !important;
    }

    .pcsup-ticket-icon {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        border-radius: 14px !important;
    }

    .pcsup-ticket-main {
        min-width: 0 !important;
    }

    .pcsup-ticket-title {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        margin-bottom: 4px !important;
    }

    .pcsup-ticket-title h3,
    .pcsup-ticket-title strong,
    .pcsup-ticket-title a {
        font-size: 15px !important;
        line-height: 1.2 !important;
    }

    .pcsup-status {
        font-size: 10px !important;
        padding: 4px 8px !important;
        white-space: nowrap !important;
    }

    .pcsup-ticket-meta {
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    .pcsup-ticket-action {
        width: auto !important;
        margin: 0 !important;
    }

    .pcsup-ticket-action a {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0 !important;
    }

    .pcsup-ticket-action a svg {
        margin: 0 !important;
        width: 16px !important;
        height: 16px !important;
    }
}


/* ============================================================
   SUPPORT MOBILE — COMPACT TICKET ACTION OVERRIDE
   ============================================================ */

@media (max-width: 767.98px) {

    .pcsup-ticket {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 46px minmax(0, 1fr) !important;
        padding: 14px 16px !important;
        gap: 10px !important;
    }

    .pcsup-ticket-main {
        padding-right: 38px !important;
    }

    .pcsup-ticket-action {
        position: absolute !important;
        right: 14px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;

        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pcsup-ticket-action a,
    .pcsup-ticket-action .btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 50% !important;
        background: var(--pc-soft-blue, #e8f0ff) !important;

        font-size: 0 !important;
        box-shadow: none !important;
    }

    .pcsup-ticket-action a svg,
    .pcsup-ticket-action .btn svg {
        display: block !important;
        width: 16px !important;
        height: 16px !important;
        margin: 0 !important;
    }

}

/* ============================================================
   SUPPORT MOBILE — CLEAN TICKET ACTION FINAL
   ============================================================ */

@media (max-width: 767.98px) {

    .pcsup-ticket {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 46px minmax(0, 1fr) 28px !important;
        gap: 10px !important;
        align-items: center !important;
        padding: 14px 16px !important;
    }

    .pcsup-ticket-main {
        min-width: 0 !important;
        padding-right: 0 !important;
    }

    .pcsup-ticket-action {
        position: static !important;
        transform: none !important;

        width: 28px !important;
        height: 28px !important;
        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .pcsup-ticket-action a,
    .pcsup-ticket-action .btn {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        min-height: 28px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;

        font-size: 0 !important;
        line-height: 1 !important;

        box-shadow: none !important;
    }

    .pcsup-ticket-action a::after,
    .pcsup-ticket-action .btn::after {
        content: "→" !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        color: #1f2937 !important;
        line-height: 1 !important;
    }

    .pcsup-ticket-action svg {
        display: none !important;
    }

}

/* ============================================================
   SUPPORT MOBILE — TICKET ROW FINAL
   Entire ticket row is clickable.
   ============================================================ */

@media (max-width: 767.98px) {

    .pcsup-list .pcsup-ticket {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 46px minmax(0, 1fr) 24px !important;
        column-gap: 12px !important;
        align-items: center !important;

        padding: 16px !important;
        min-height: 86px !important;
    }

    .pcsup-list .pcsup-ticket-icon {
        grid-column: 1 !important;

        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;

        margin: 0 !important;
        align-self: center !important;
    }

    .pcsup-list .pcsup-ticket-main {
        grid-column: 2 !important;

        min-width: 0 !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .pcsup-list .pcsup-ticket-title {
        margin: 0 0 5px 0 !important;
    }

    .pcsup-list .pcsup-ticket-meta {
        margin: 0 !important;
        line-height: 1.45 !important;
    }

    .pcsup-list .pcsup-ticket-action {
        grid-column: 3 !important;

        position: static !important;
        inset: auto !important;
        transform: none !important;

        width: 24px !important;
        height: 32px !important;
        min-width: 24px !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;

        font-size: 0 !important;
        line-height: 1 !important;
    }

    .pcsup-list .pcsup-ticket-action span {
        display: block !important;

        margin: 0 !important;
        padding: 0 !important;

        font-size: 21px !important;
        font-weight: 600 !important;
        line-height: 1 !important;

        color: currentColor !important;
    }

    .pcsup-list .pcsup-ticket-action::before,
    .pcsup-list .pcsup-ticket-action::after {
        content: none !important;
        display: none !important;
    }

}

/* ============================================================
   PAPIW CLOUD ACCOUNT — MOBILE COMPACT FINAL
   ============================================================ */

@media (max-width: 767.98px) {

    /* General page spacing */
    .pcaccount {
        padding-bottom: 24px !important;
    }

    /* Hero */
    .pcaccount-hero {
        padding: 24px 20px !important;
        border-radius: 28px !important;
    }

    .pcaccount-hero h1 {
        font-size: 34px !important;
        line-height: 1.05 !important;
        margin-bottom: 10px !important;
    }

    .pcaccount-hero p {
        font-size: 15px !important;
        line-height: 1.45 !important;
        margin-bottom: 18px !important;
    }

    /* Identity */
    .pcaccount-identity {
        padding: 18px !important;
        border-radius: 24px !important;
        gap: 14px !important;
    }

    .pcaccount-avatar {
        width: 72px !important;
        height: 72px !important;
        min-width: 72px !important;
    }

    .pcaccount-identity-main h2,
    .pcaccount-identity-main strong {
        font-size: 18px !important;
        line-height: 1.2 !important;
    }

    .pcaccount-identity-meta {
        margin-top: 12px !important;
        gap: 12px !important;
    }

    /* Tabs */
    .pcaccount-tabs {
        margin: 14px 0 18px !important;
        min-height: 52px !important;
    }

    .pcaccount-tab {
        min-height: 48px !important;
        padding: 10px 14px !important;
        font-size: 14px !important;
    }

    /* Panels */
    .pcaccount-panel {
        border-radius: 24px !important;
        overflow: hidden !important;
    }

    .pcaccount-panel-head {
        padding: 16px 18px !important;
    }

    .pcaccount-panel-head h2,
    .pcaccount-panel-head h3 {
        font-size: 19px !important;
        line-height: 1.2 !important;
        margin-bottom: 3px !important;
    }

    .pcaccount-panel-head p {
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    .pcaccount-panel-icon {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        border-radius: 14px !important;
    }

    /* Form layout */
    .pcaccount-form-layout {
        gap: 16px !important;
    }

    .pcaccount-form-grid {
        gap: 14px !important;
        padding: 18px !important;
    }

    .pcaccount-field {
        margin: 0 !important;
    }

    .pcaccount-field label {
        display: block !important;
        margin-bottom: 6px !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    /* Inputs / selects */
    .pcaccount-field input,
    .pcaccount-field select,
    .pcaccount-field textarea,
    .pcaccount .form-control,
    .pcaccount .form-select {
        min-height: 58px !important;
        height: 58px !important;

        padding: 12px 14px !important;

        border-radius: 16px !important;

        font-size: 15px !important;
        line-height: 1.3 !important;
    }

    .pcaccount-field textarea {
        height: auto !important;
        min-height: 96px !important;
    }

    /* Phone field / compound controls */
    .pcaccount-field .input-group,
    .pcaccount-field .iti,
    .pcaccount-field .iti__tel-input {
        min-height: 58px !important;
    }

    .pcaccount-field .form-hint,
    .pcaccount-field small {
        margin-top: 5px !important;
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    /* Save bar */
    .pcaccount-savebar {
        padding: 16px 18px !important;
        border-radius: 24px !important;
    }

    .pcaccount-savebar p {
        font-size: 12px !important;
        line-height: 1.4 !important;
        margin-bottom: 12px !important;
    }

    .pcaccount-primary {
        min-height: 50px !important;
        font-size: 14px !important;
    }

    /* Security */
    .pcaccount-security-layout {
        gap: 16px !important;
    }

    .pcaccount-security-intro {
        padding: 22px 20px !important;
        border-radius: 26px !important;
    }

    .pcaccount-security-intro h2 {
        font-size: 27px !important;
        line-height: 1.1 !important;
    }

    .pcaccount-security-intro p {
        font-size: 14px !important;
        line-height: 1.45 !important;
    }

    .pcaccount-security-icon {
        width: 52px !important;
        height: 52px !important;
        margin-bottom: 16px !important;
    }

    .pcaccount-security-tip {
        padding: 13px 14px !important;
        margin-top: 14px !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    .pcaccount-password-body {
        padding: 18px !important;
        gap: 14px !important;
    }

    .pcaccount-password-footer {
        padding: 16px 18px !important;
        gap: 12px !important;
    }

    .pcaccount-password-footer p {
        font-size: 11px !important;
        line-height: 1.35 !important;
    }
}


/* ============================================================
   MOBILE APPBAR — THEME TOGGLE
   ============================================================ */

.pc-mobile-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pc-mobile-theme {
    width: 38px;
    height: 38px;
    min-width: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    color: inherit;
    text-decoration: none;

    background: transparent;
    border: 0;
}

.pc-mobile-theme .icon {
    width: 19px;
    height: 19px;
}

.pc-mobile-theme:hover {
    background: rgba(127,127,127,.10);
}

@media (max-width: 767.98px) {
    .pc-mobile-appbar {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
}


/* ============================================================
   MOBILE SIDEBAR — ACCOUNT FOOTER / SIGN OUT FIX
   ============================================================ */

@media (max-width: 767.98px) {

    #sidebarMenu .offcanvas-body {
        display: flex !important;
        flex-direction: column !important;
        height: calc(100vh - 64px) !important;
        overflow-y: auto !important;
    }

    #sidebarMenu .papiw-sidebar-footer {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        margin-top: auto !important;
        padding-top: 18px !important;
        padding-bottom: 20px !important;
    }

    #sidebarMenu .pc-sidebar-footer-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        margin-top: 12px !important;
    }

    #sidebarMenu .pc-signout {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;

        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-height: 44px !important;

        margin-top: 4px !important;
        padding: 10px 14px !important;

        border-radius: 12px !important;
        text-decoration: none !important;
        font-weight: 600 !important;
    }

}


/* ============================================================
   PAPIW CLOUD — AUTH CONSOLE
   ============================================================ */

.pc-auth-page {
    margin: 0;
    min-height: 100vh;
    background: #f5f7fb;
}

.pc-auth-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(420px, .92fr) minmax(520px, 1.08fr);
}


/* BRAND PANEL */

.pc-auth-brand {
    position: relative;
    overflow: hidden;
    display: flex;
    min-height: 100vh;
    padding: 54px 64px;
    color: #fff;
    background:
        radial-gradient(circle at 12% 12%, rgba(87,155,255,.24), transparent 30%),
        radial-gradient(circle at 86% 78%, rgba(70,199,255,.13), transparent 34%),
        linear-gradient(145deg, #07162e 0%, #0b2143 48%, #0b2c59 100%);
}

.pc-auth-brand::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .24;
    background-image:
        linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom right, black, transparent 78%);
}

.pc-auth-brand-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 620px;
    display: flex;
    flex-direction: column;
}

.pc-auth-logo {
    min-height: 58px;
}

.pc-auth-logo-image {
    display: block;
    max-width: 210px;
    max-height: 54px;
    object-fit: contain;
    object-position: left center;
}

.pc-auth-brand-copy {
    margin-top: auto;
    margin-bottom: 42px;
}

.pc-auth-eyebrow,
.pc-auth-console-label {
    display: block;
    margin-bottom: 18px;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .14em;
    color: #80b6ff;
}

.pc-auth-brand-copy h1 {
    max-width: 600px;
    margin: 0;
    font-size: clamp(40px, 4vw, 62px);
    line-height: 1.05;
    letter-spacing: -.045em;
    font-weight: 700;
    color: #fff;
}

.pc-auth-brand-copy p {
    max-width: 520px;
    margin: 24px 0 0;
    font-size: 17px;
    line-height: 1.7;
    color: rgba(225,235,250,.72);
}

.pc-auth-features {
    display: grid;
    gap: 12px;
    margin-bottom: 38px;
}

.pc-auth-feature {
    display: flex;
    align-items: center;
    gap: 14px;
}

.pc-auth-feature-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(145,190,255,.18);
    border-radius: 13px;
    background: rgba(255,255,255,.065);
}

.pc-auth-feature-icon svg {
    width: 20px;
    height: 20px;
    color: #9bc5ff;
}

.pc-auth-feature div {
    display: grid;
    gap: 2px;
}

.pc-auth-feature strong {
    font-size: 14px;
    color: #fff;
}

.pc-auth-feature span:not(.pc-auth-feature-icon) {
    font-size: 12px;
    color: rgba(220,232,248,.58);
}

.pc-auth-brand-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    font-size: 12px;
    color: rgba(225,235,250,.62);
}

.pc-auth-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #57d68d;
    box-shadow: 0 0 0 4px rgba(87,214,141,.10);
}


/* LOGIN SIDE */

.pc-auth-main {
    position: relative;
    min-width: 0;
    min-height: 100vh;
    padding: 54px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.pc-auth-card {
    width: 100%;
    max-width: 460px;
}

.pc-auth-heading {
    margin-bottom: 34px;
}

.pc-auth-heading h2 {
    margin: 0;
    color: #14213d;
    font-size: 36px;
    line-height: 1.12;
    letter-spacing: -.035em;
    font-weight: 700;
}

.pc-auth-heading p {
    margin: 10px 0 0;
    color: #68748a;
    font-size: 15px;
}

.pc-auth-console-label {
    color: #2968c8;
    margin-bottom: 13px;
}

.pc-auth-form {
    display: grid;
    gap: 22px;
}

.pc-auth-field {
    display: grid;
    gap: 9px;
}

.pc-auth-field label {
    color: #27364f;
    font-size: 13px;
    font-weight: 650;
}

.pc-auth-label-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

.pc-auth-label-row a {
    color: #2968c8;
    font-size: 12px;
    font-weight: 650;
    text-decoration: none;
}

.pc-auth-input-wrap {
    position: relative;
}

.pc-auth-input-wrap > svg {
    position: absolute;
    left: 17px;
    top: 50%;
    width: 19px;
    height: 19px;
    transform: translateY(-50%);
    color: #7c889d;
    pointer-events: none;
}

.pc-auth-input-wrap input {
    width: 100%;
    height: 56px;
    padding: 0 17px 0 50px;
    border: 1px solid #d8deea;
    border-radius: 14px;
    outline: 0;
    background: #fff;
    color: #18243a;
    font-size: 14px;
    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}

.pc-auth-input-wrap input::placeholder {
    color: #98a2b3;
}

.pc-auth-input-wrap input:focus {
    border-color: #5c8fe6;
    box-shadow: 0 0 0 4px rgba(69,121,210,.11);
}

.pc-auth-submit {
    height: 56px;
    margin-top: 4px;
    padding: 0 20px;
    border: 0;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #2367c9;
    color: #fff;
    font-size: 14px;
    font-weight: 750;
    box-shadow: 0 8px 22px rgba(35,103,201,.16);
    transition: transform .16s ease, background .16s ease;
}

.pc-auth-submit:hover {
    background: #195bb8;
    transform: translateY(-1px);
}

.pc-auth-submit svg {
    width: 18px;
    height: 18px;
}

.pc-auth-register {
    margin-top: 27px;
    padding-top: 25px;
    border-top: 1px solid #e4e8f0;
    display: flex;
    justify-content: center;
    gap: 5px;
    color: #758096;
    font-size: 13px;
}

.pc-auth-register a {
    color: #2968c8;
    font-weight: 700;
    text-decoration: none;
}

.pc-auth-security {
    margin-top: 26px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    color: #8a94a7;
    font-size: 11px;
}

.pc-auth-security svg {
    width: 14px;
    height: 14px;
}

.pc-auth-footer {
    position: absolute;
    bottom: 28px;
    left: 30px;
    right: 30px;
    text-align: center;
    color: #929bad;
    font-size: 11px;
}

.pc-auth-mobile-brand {
    display: none;
}


/* DARK MODE */

[data-bs-theme="dark"] .pc-auth-page {
    background: #0d1118;
}

[data-bs-theme="dark"] .pc-auth-main {
    background: #0d1118;
}

[data-bs-theme="dark"] .pc-auth-heading h2 {
    color: #f2f5fb;
}

[data-bs-theme="dark"] .pc-auth-heading p {
    color: #929db0;
}

[data-bs-theme="dark"] .pc-auth-console-label {
    color: #8eb6ff;
}

[data-bs-theme="dark"] .pc-auth-field label {
    color: #d9e0ec;
}

[data-bs-theme="dark"] .pc-auth-label-row a,
[data-bs-theme="dark"] .pc-auth-register a {
    color: #9bbcff;
}

[data-bs-theme="dark"] .pc-auth-input-wrap input {
    border-color: #2c3441;
    background: #151b24;
    color: #f1f4f9;
}

[data-bs-theme="dark"] .pc-auth-input-wrap input:focus {
    border-color: #719dec;
    box-shadow: 0 0 0 4px rgba(113,157,236,.12);
}

[data-bs-theme="dark"] .pc-auth-register {
    border-color: #242c37;
}

[data-bs-theme="dark"] .pc-auth-register,
[data-bs-theme="dark"] .pc-auth-security,
[data-bs-theme="dark"] .pc-auth-footer {
    color: #818b9c;
}


/* MOBILE */

@media (max-width: 767.98px) {

    .pc-auth-shell {
        display: block;
        min-height: 100svh;
    }

    .pc-auth-brand {
        display: none;
    }

    .pc-auth-main {
        min-height: 100svh;
        padding: 30px 22px 82px;
        justify-content: flex-start;
    }

    .pc-auth-mobile-brand {
        width: 100%;
        max-width: 440px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
        margin: 12px auto 58px;
    }

    .pc-auth-mobile-logo {
        display: block;
        max-width: 170px;
        max-height: 44px;
        object-fit: contain;
        object-position: left center;
    }

    .pc-auth-mobile-brand > span {
        padding-left: 1px;
        color: #768298;
        font-size: 11px;
        font-weight: 650;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .pc-auth-card {
        max-width: 440px;
    }

    .pc-auth-console-label {
        font-size: 10px;
    }

    .pc-auth-heading {
        margin-bottom: 30px;
    }

    .pc-auth-heading h2 {
        font-size: 31px;
    }

    .pc-auth-heading p {
        font-size: 14px;
    }

    .pc-auth-input-wrap input {
        height: 55px;
        border-radius: 14px;
    }

    .pc-auth-submit {
        height: 55px;
        border-radius: 14px;
    }

    .pc-auth-footer {
        bottom: 22px;
        font-size: 10px;
    }
}

@media (max-width: 380px) {
    .pc-auth-main {
        padding-left: 18px;
        padding-right: 18px;
    }

    .pc-auth-mobile-brand {
        margin-bottom: 42px;
    }

    .pc-auth-heading h2 {
        font-size: 28px;
    }
}

