/*
 * NoviDesk V127 — Mobile Foundation
 * Premium mobile shell for owner/staff workspace.
 * Desktop remains untouched. No Node/build step required.
 */

.nd-v127-mobile-appbar,
.nd-v127-mobile-primary-nav {
    display:none;
}

@media (max-width:850px) {
    :root {
        --nd127-bg:#f7f4fb;
        --nd127-surface:#ffffff;
        --nd127-surface-soft:#fbf9fd;
        --nd127-text:#251d2b;
        --nd127-muted:#786e80;
        --nd127-border:rgba(94,61,111,.12);
        --nd127-purple:#64308f;
        --nd127-purple-2:#7a3fa2;
        --nd127-pink:#d54d9e;
        --nd127-green:#2da77f;
        --nd127-orange:#ed9a4a;
        --nd127-shadow:0 16px 42px rgba(57,35,73,.10);
        --nd127-shadow-soft:0 8px 24px rgba(57,35,73,.08);
    }

    html {
        background:var(--nd127-bg);
    }

    body {
        background:var(--nd127-bg)!important;
        color:var(--nd127-text)!important;
        -webkit-tap-highlight-color:transparent;
        overscroll-behavior-y:none;
    }

    .bg-owner-legacy-nav {
        display:none!important;
    }

    .nd-v127-mobile-appbar {
        position:sticky;
        top:0;
        z-index:10020;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        min-height:68px;
        padding:9px 13px;
        border-bottom:1px solid rgba(94,61,111,.08);
        background:rgba(255,255,255,.94);
        box-shadow:0 6px 22px rgba(52,31,65,.06);
        backdrop-filter:blur(16px);
        -webkit-backdrop-filter:blur(16px);
    }

    .nd-v127-mobile-brand {
        min-width:0;
        display:flex;
        align-items:center;
        gap:10px;
        color:var(--nd127-text)!important;
        text-decoration:none!important;
    }

    .nd-v127-mobile-mark {
        width:42px;
        height:42px;
        flex:0 0 42px;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:6px;
        border-radius:14px;
        background:linear-gradient(145deg,#fff,#faf5ff);
        border:1px solid rgba(112,60,143,.12);
        box-shadow:0 7px 20px rgba(92,48,119,.10);
        overflow:hidden;
    }

    .nd-v127-mobile-mark img {
        display:block;
        width:100%;
        height:100%;
        object-fit:contain;
    }

    .nd-v127-mobile-brand-copy {
        min-width:0;
        display:grid;
        gap:2px;
    }

    .nd-v127-mobile-brand-copy strong {
        font-size:20px;
        line-height:1;
        letter-spacing:-.045em;
        font-weight:900;
        color:#37213f;
    }

    .nd-v127-mobile-brand-copy small {
        min-width:0;
        max-width:190px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:10px;
        line-height:1.2;
        font-weight:800;
        color:#8a7d91;
    }

    .nd-v127-mobile-actions {
        display:flex;
        align-items:center;
        gap:8px;
        flex:0 0 auto;
    }

    .nd-v127-mobile-icon-button,
    .nd-v127-mobile-avatar {
        position:relative;
        width:42px;
        height:42px;
        min-width:42px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        border-radius:14px;
        border:1px solid rgba(93,52,115,.10);
        text-decoration:none!important;
    }

    .nd-v127-mobile-icon-button {
        background:#fff;
        color:#68437a!important;
        box-shadow:0 6px 18px rgba(61,35,75,.06);
    }

    .nd-v127-mobile-icon-button svg {
        width:20px;
        height:20px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.9;
        stroke-linecap:round;
        stroke-linejoin:round;
    }

    .nd-v127-mobile-avatar {
        background:linear-gradient(135deg,var(--nd127-purple),var(--nd127-pink));
        color:#fff!important;
        border-color:transparent;
        font-size:12px;
        font-weight:900;
        letter-spacing:.01em;
        box-shadow:0 8px 20px rgba(102,48,143,.22);
    }

    .nd-v127-mobile-badge {
        position:absolute;
        top:-4px;
        right:-4px;
        min-width:18px;
        height:18px;
        padding:0 5px;
        display:flex;
        align-items:center;
        justify-content:center;
        border:2px solid #fff;
        border-radius:999px;
        background:#e24e86;
        color:#fff;
        font-size:8px;
        font-weight:900;
        line-height:1;
    }

    .nd-v124-mobile-context-switch {
        margin:9px 12px 0!important;
        padding:3px!important;
        gap:3px!important;
        border-radius:15px!important;
        border:1px solid var(--nd127-border)!important;
        background:rgba(255,255,255,.88)!important;
        box-shadow:var(--nd127-shadow-soft)!important;
    }

    .nd-v124-mobile-context-switch form {
        flex:1!important;
        margin:0!important;
    }

    .nd-v124-mobile-context-switch button {
        width:100%!important;
        min-height:38px!important;
        padding:0 12px!important;
        border:0!important;
        border-radius:12px!important;
        background:transparent!important;
        color:#7a6b82!important;
        font-size:11px!important;
        font-weight:900!important;
        box-shadow:none!important;
    }

    .nd-v124-mobile-context-switch button.active {
        background:linear-gradient(135deg,#6f3698,#b8469b)!important;
        color:#fff!important;
        box-shadow:0 7px 18px rgba(103,49,143,.20)!important;
    }

    .nd-v125-mobile-location {
        margin:7px 12px 0!important;
        padding:7px 9px!important;
        min-height:44px!important;
        border:1px solid var(--nd127-border)!important;
        border-radius:14px!important;
        background:rgba(255,255,255,.90)!important;
        box-shadow:none!important;
    }

    .nd-v125-mobile-location strong {
        color:#66566d!important;
        font-size:10px!important;
    }

    .nd-v125-mobile-location select {
        border:0!important;
        background:#f7f2fa!important;
        color:#4b3553!important;
        font-size:11px!important;
    }

    .bg-desktop-owner-shell {
        display:block!important;
        min-height:0!important;
    }

    .bg-desktop-sidebar,
    .bg-desktop-topbar {
        display:none!important;
    }

    .bg-desktop-owner-stage,
    .bg-desktop-owner-stage > main.container {
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        margin:0!important;
    }

    .bg-desktop-owner-stage > main.container {
        padding:10px 12px calc(112px + env(safe-area-inset-bottom))!important;
    }

    .bg-desktop-owner-stage > main.container > .alert {
        margin:0 0 10px!important;
        padding:11px 13px!important;
        border-radius:15px!important;
        font-size:12px!important;
    }

    .bg-trial-banner,
    .bg-setup-wizard {
        border-radius:20px!important;
        box-shadow:var(--nd127-shadow-soft)!important;
    }

    footer.footer {
        display:none!important;
    }

    /* ---------- DZIŚ ---------- */
    .nd-today-v117 {
        display:grid!important;
        gap:12px!important;
        margin:0!important;
        padding:0!important;
    }

    .nd-today-v117 .nd-card {
        border:1px solid var(--nd127-border)!important;
        border-radius:22px!important;
        background:var(--nd127-surface)!important;
        box-shadow:var(--nd127-shadow-soft)!important;
    }

    .nd-today-v117 .nd-hero {
        position:relative!important;
        overflow:hidden!important;
        min-height:138px!important;
        padding:20px!important;
        display:flex!important;
        align-items:flex-end!important;
        border:0!important;
        border-radius:27px!important;
        background:
            radial-gradient(circle at 88% 4%,rgba(255,255,255,.22),transparent 31%),
            linear-gradient(135deg,#54257c 0%,#71359a 52%,#d0509d 100%)!important;
        box-shadow:0 20px 42px rgba(86,38,116,.22)!important;
        color:#fff!important;
    }

    .nd-today-v117 .nd-kicker {
        display:block!important;
        margin-bottom:8px!important;
        color:rgba(255,255,255,.76)!important;
        font-size:9px!important;
        font-weight:900!important;
        letter-spacing:.11em!important;
        text-transform:uppercase!important;
    }

    .nd-today-v117 .nd-title-line {
        display:flex!important;
        align-items:flex-end!important;
        gap:8px!important;
        flex-wrap:wrap!important;
    }

    .nd-today-v117 .nd-title-line h1 {
        margin:0!important;
        color:#fff!important;
        font-size:34px!important;
        line-height:.95!important;
        letter-spacing:-.055em!important;
        font-weight:900!important;
    }

    .nd-today-v117 .nd-date,
    .nd-today-v117 .nd-access {
        display:inline-flex!important;
        align-items:center!important;
        min-height:26px!important;
        padding:0 9px!important;
        border:1px solid rgba(255,255,255,.20)!important;
        border-radius:999px!important;
        background:rgba(255,255,255,.12)!important;
        color:#fff!important;
        font-size:9px!important;
        font-weight:800!important;
        backdrop-filter:blur(8px)!important;
    }

    .nd-today-v117 .nd-kpis {
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
    }

    .nd-today-v117 .nd-kpi {
        min-height:104px!important;
        padding:14px!important;
        display:flex!important;
        align-items:flex-start!important;
        justify-content:space-between!important;
        gap:8px!important;
    }

    .nd-today-v117 .nd-kpi-label {
        color:#82768a!important;
        font-size:9px!important;
        font-weight:900!important;
        text-transform:uppercase!important;
        letter-spacing:.08em!important;
    }

    .nd-today-v117 .nd-kpi-value {
        display:block!important;
        margin-top:4px!important;
        color:#2f2134!important;
        font-size:24px!important;
        line-height:1!important;
        letter-spacing:-.04em!important;
    }

    .nd-today-v117 .nd-kpi-meta {
        display:block!important;
        margin-top:5px!important;
        color:#8e8394!important;
        font-size:9px!important;
        line-height:1.3!important;
    }

    .nd-today-v117 .nd-kpi-icon {
        width:30px!important;
        height:30px!important;
        min-width:30px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        border-radius:10px!important;
        background:#f4edf8!important;
        color:#7b3c95!important;
        font-size:14px!important;
    }

    .nd-today-v117 .nd-main {
        display:flex!important;
        flex-direction:column!important;
        gap:12px!important;
    }

    .nd-today-v117 .nd-section,
    .nd-today-v117 .nd-focus,
    .nd-today-v117 .nd-team {
        padding:15px!important;
    }

    .nd-today-v117 .nd-right {
        display:block!important;
        width:100%!important;
    }

    .nd-today-v117 .nd-section-head {
        margin:0 0 10px!important;
        align-items:center!important;
    }

    .nd-today-v117 .nd-section-head h2,
    .nd-today-v117 .nd-team-head h2 {
        margin:0!important;
        font-size:16px!important;
        line-height:1.15!important;
        letter-spacing:-.025em!important;
        color:#34233a!important;
    }

    .nd-today-v117 .nd-section-head p {
        margin:3px 0 0!important;
        font-size:10px!important;
        color:#8b8090!important;
    }

    .nd-today-v117 .nd-day-list {
        display:grid!important;
        gap:8px!important;
    }

    .nd-today-v117 .nd-day-row {
        min-width:0!important;
        display:grid!important;
        grid-template-columns:52px minmax(0,1fr) auto!important;
        gap:10px!important;
        align-items:center!important;
        min-height:66px!important;
        padding:10px!important;
        border:1px solid rgba(105,73,121,.10)!important;
        border-radius:17px!important;
        background:#fff!important;
        color:inherit!important;
        text-decoration:none!important;
        box-shadow:0 5px 16px rgba(52,31,65,.04)!important;
    }

    .nd-today-v117 .nd-day-row.is-current {
        border-color:rgba(118,57,154,.28)!important;
        background:linear-gradient(135deg,#fff,#fbf6ff)!important;
        box-shadow:0 8px 22px rgba(99,46,133,.10)!important;
    }

    .nd-today-v117 .nd-free-row {
        background:#f7fbf9!important;
        border-color:rgba(45,167,127,.15)!important;
    }

    .nd-today-v117 .nd-time strong {
        color:#412849!important;
        font-size:15px!important;
    }

    .nd-today-v117 .nd-time span,
    .nd-today-v117 .nd-visit-meta {
        color:#8a7e90!important;
        font-size:9px!important;
    }

    .nd-today-v117 .nd-visit-top {
        gap:5px!important;
        flex-wrap:wrap!important;
    }

    .nd-today-v117 .nd-visit-top > strong {
        color:#302135!important;
        font-size:12px!important;
    }

    .nd-today-v117 .nd-status,
    .nd-today-v117 .nd-mini-pill {
        min-height:20px!important;
        padding:0 7px!important;
        border-radius:999px!important;
        font-size:8px!important;
        font-weight:900!important;
    }

    .nd-today-v117 .nd-open {
        color:#77408c!important;
        font-size:9px!important;
        font-weight:900!important;
    }

    .nd-today-v117 .nd-focus-time {
        margin-top:8px!important;
        color:#69358b!important;
        font-size:30px!important;
        letter-spacing:-.05em!important;
    }

    .nd-today-v117 .nd-focus-customer {
        margin-top:2px!important;
        color:#2d2032!important;
        font-size:16px!important;
        font-weight:900!important;
    }

    .nd-today-v117 .nd-focus-service,
    .nd-today-v117 .nd-focus-meta {
        color:#837688!important;
        font-size:10px!important;
    }

    .nd-today-v117 .nd-btn-primary {
        width:100%!important;
        min-height:44px!important;
        margin-top:12px!important;
        border-radius:14px!important;
        border:0!important;
        background:linear-gradient(135deg,#6b3191,#be489a)!important;
        color:#fff!important;
        font-weight:900!important;
        box-shadow:0 10px 22px rgba(101,46,139,.18)!important;
    }

    .nd-today-v117 .nd-team-list {
        display:grid!important;
        gap:8px!important;
    }

    .nd-today-v117 .nd-team-item {
        padding:9px!important;
        border-radius:15px!important;
        background:#faf7fc!important;
    }

    .nd-today-v117 .nd-avatar {
        background:linear-gradient(135deg,#744096,#d154a0)!important;
        color:#fff!important;
    }

    /* ---------- GRAFIK ---------- */
    .schedule-page {
        margin:0!important;
        padding:0!important;
    }

    .schedule-mobile {
        display:block!important;
        margin:0!important;
        padding:0!important;
    }

    .schedule-mobile .sg-card {
        overflow:hidden!important;
        padding:0 0 14px!important;
        border:1px solid var(--nd127-border)!important;
        border-radius:27px!important;
        background:#fff!important;
        box-shadow:var(--nd127-shadow)!important;
    }

    .schedule-mobile .sg-top {
        min-height:116px!important;
        padding:18px 14px 15px!important;
        display:grid!important;
        grid-template-columns:42px minmax(0,1fr) 42px!important;
        align-items:center!important;
        gap:8px!important;
        background:
            radial-gradient(circle at 85% 8%,rgba(255,255,255,.18),transparent 32%),
            linear-gradient(135deg,#54257c,#71359a 52%,#d0509d)!important;
        color:#fff!important;
    }

    .schedule-mobile .sg-nav {
        width:42px!important;
        height:42px!important;
        border:1px solid rgba(255,255,255,.20)!important;
        border-radius:14px!important;
        background:rgba(255,255,255,.11)!important;
        color:#fff!important;
        font-size:26px!important;
        box-shadow:none!important;
    }

    .schedule-mobile .sg-title {
        margin:0!important;
        color:#fff!important;
        font-size:22px!important;
        line-height:1!important;
        font-weight:900!important;
        letter-spacing:-.04em!important;
    }

    .schedule-mobile .sg-subtitle {
        margin-top:5px!important;
        color:rgba(255,255,255,.76)!important;
        font-size:10px!important;
        font-weight:800!important;
    }

    .schedule-mobile .sg-summary {
        margin:-1px 12px 0!important;
        padding:10px!important;
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:7px!important;
        border-radius:0 0 18px 18px!important;
        background:#fff!important;
        box-shadow:0 8px 22px rgba(62,37,76,.06)!important;
    }

    .schedule-mobile .sg-stat {
        min-width:0!important;
        padding:9px 7px!important;
        border:1px solid rgba(105,73,121,.09)!important;
        border-radius:13px!important;
        background:#fbf9fd!important;
    }

    .schedule-mobile .sg-actions {
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:8px!important;
        margin:11px 12px 0!important;
    }

    .schedule-mobile .sg-action {
        min-height:42px!important;
        padding:8px 10px!important;
        border-radius:13px!important;
        font-size:10px!important;
        font-weight:900!important;
    }

    .schedule-mobile .sg-action.primary {
        grid-column:1 / -1!important;
        border:0!important;
        background:linear-gradient(135deg,#67308f,#b8479a)!important;
        color:#fff!important;
    }

    .schedule-mobile .sg-tabs {
        margin:11px 12px 0!important;
        padding:3px!important;
        display:grid!important;
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:3px!important;
        border-radius:14px!important;
        background:#f3eef6!important;
    }

    .schedule-mobile .sg-tab {
        min-height:37px!important;
        padding:0 5px!important;
        border:0!important;
        border-radius:11px!important;
        background:transparent!important;
        color:#7a6e81!important;
        font-size:10px!important;
        font-weight:900!important;
    }

    .schedule-mobile .sg-tab.active {
        background:#fff!important;
        color:#6c348e!important;
        box-shadow:0 5px 14px rgba(60,37,72,.08)!important;
    }

    .schedule-mobile .sg-panel {
        margin:10px 12px 0!important;
    }

    .schedule-mobile .mobile-floating-add {
        display:none!important;
    }

    .nd-day-actions-card {
        border-radius:26px 26px 0 0!important;
        box-shadow:0 -18px 50px rgba(43,26,51,.18)!important;
    }

    #appointmentModal .modal-content,
    #appointmentModal .bg-v109-modal-content {
        width:100%!important;
        max-width:none!important;
        max-height:calc(100vh - 78px)!important;
        margin:auto 0 0!important;
        border-radius:28px 28px 0 0!important;
        box-shadow:0 -24px 60px rgba(43,26,51,.22)!important;
    }

    /* ---------- KLIENCI ---------- */
    .customers-crm-hero {
        margin:0!important;
        padding:17px!important;
        overflow:hidden!important;
        border:0!important;
        border-radius:27px!important;
        background:
            radial-gradient(circle at 88% 0,rgba(255,255,255,.19),transparent 34%),
            linear-gradient(135deg,#54257c,#71359a 52%,#d0509d)!important;
        box-shadow:0 18px 40px rgba(86,38,116,.18)!important;
        color:#fff!important;
    }

    .customers-crm-hero .badge,
    .customers-crm-hero h1,
    .customers-crm-hero p,
    .customers-crm-hero .customer-mobile-scope {
        color:#fff!important;
    }

    .customers-crm-hero h1 {
        margin:5px 0 3px!important;
        font-size:28px!important;
        line-height:1!important;
        letter-spacing:-.05em!important;
    }

    .customers-crm-hero p {
        margin:0!important;
        max-width:250px!important;
        color:rgba(255,255,255,.76)!important;
        font-size:10px!important;
        line-height:1.45!important;
    }

    .customers-crm-hero .customer-mobile-scope {
        display:inline-flex!important;
        margin-top:8px!important;
        padding:5px 8px!important;
        border:1px solid rgba(255,255,255,.17)!important;
        border-radius:999px!important;
        background:rgba(255,255,255,.11)!important;
        font-size:9px!important;
        font-weight:800!important;
    }

    .customers-add-btn {
        width:43px!important;
        height:43px!important;
        min-width:43px!important;
        border:1px solid rgba(255,255,255,.22)!important;
        border-radius:14px!important;
        background:rgba(255,255,255,.14)!important;
        color:#fff!important;
        box-shadow:none!important;
    }

    .customer-metrics {
        margin-top:13px!important;
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:7px!important;
    }

    .customer-metric {
        padding:9px!important;
        border:1px solid rgba(255,255,255,.15)!important;
        border-radius:14px!important;
        background:rgba(255,255,255,.10)!important;
    }

    .customer-metric strong,
    .customer-metric span {
        color:#fff!important;
    }

    .customer-tools {
        margin-top:12px!important;
    }

    .customer-search {
        padding:5px!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto!important;
        gap:5px!important;
        border-radius:14px!important;
        background:#fff!important;
    }

    .customer-search input {
        min-width:0!important;
        min-height:40px!important;
        padding:0 10px!important;
        border:0!important;
        background:transparent!important;
        color:#34243a!important;
        font-size:13px!important;
        outline:none!important;
    }

    .customer-search .btn {
        min-height:40px!important;
        border-radius:11px!important;
    }

    .customer-filter-row {
        margin-top:8px!important;
        padding-bottom:2px!important;
        display:flex!important;
        gap:6px!important;
        overflow-x:auto!important;
        scrollbar-width:none!important;
    }

    .customer-filter-row::-webkit-scrollbar {
        display:none!important;
    }

    .customer-filter-pill {
        flex:0 0 auto!important;
        min-height:32px!important;
        padding:0 10px!important;
        display:inline-flex!important;
        align-items:center!important;
        border:1px solid rgba(255,255,255,.18)!important;
        border-radius:999px!important;
        background:rgba(255,255,255,.10)!important;
        color:#fff!important;
        font-size:9px!important;
        font-weight:900!important;
    }

    .customer-filter-pill.active {
        background:#fff!important;
        color:#6f378f!important;
    }

    .customers-mobile-shell {
        margin:10px 0 0!important;
        padding:0!important;
        border:0!important;
        background:transparent!important;
        box-shadow:none!important;
    }

    .customers-mobile-list {
        display:grid!important;
        gap:8px!important;
    }

    .customer-card {
        width:100%!important;
        min-height:82px!important;
        padding:11px!important;
        display:grid!important;
        grid-template-columns:44px minmax(0,1fr) 20px!important;
        gap:10px!important;
        align-items:center!important;
        border:1px solid var(--nd127-border)!important;
        border-radius:18px!important;
        background:#fff!important;
        box-shadow:var(--nd127-shadow-soft)!important;
        text-align:left!important;
    }

    .customer-card .customer-avatar,
    .customer-sheet .customer-avatar {
        width:44px!important;
        height:44px!important;
        border-radius:15px!important;
        background:linear-gradient(135deg,#744096,#d154a0)!important;
        color:#fff!important;
        font-weight:900!important;
    }

    .customer-name {
        color:#2d2032!important;
        font-size:13px!important;
        font-weight:900!important;
    }

    .customer-contact,
    .customer-visit-line {
        color:#8a7e90!important;
        font-size:9px!important;
    }

    .customer-tags {
        gap:4px!important;
        margin-top:5px!important;
    }

    .customer-tag {
        min-height:20px!important;
        padding:0 7px!important;
        border-radius:999px!important;
        font-size:8px!important;
        font-weight:900!important;
    }

    .customer-sheet {
        border-radius:28px 28px 0 0!important;
        box-shadow:0 -24px 60px rgba(43,26,51,.22)!important;
    }

    /* ---------- POWIADOMIENIA ---------- */
    .nd-notifications-page {
        margin:0!important;
        padding:0!important;
    }

    .nd-notifications-card {
        overflow:hidden!important;
        border:1px solid var(--nd127-border)!important;
        border-radius:27px!important;
        background:#fff!important;
        box-shadow:var(--nd127-shadow)!important;
    }

    .nd-notifications-hero {
        padding:18px!important;
        background:
            radial-gradient(circle at 88% 0,rgba(255,255,255,.18),transparent 34%),
            linear-gradient(135deg,#54257c,#71359a 52%,#d0509d)!important;
        color:#fff!important;
    }

    .nd-notifications-hero-head {
        align-items:flex-start!important;
        gap:10px!important;
    }

    .nd-notifications-hero-icon {
        width:42px!important;
        height:42px!important;
        border-radius:14px!important;
        background:rgba(255,255,255,.13)!important;
    }

    .nd-notifications-hero h1,
    .nd-notifications-hero p,
    .nd-notifications-hero .nd-notifications-hero-copy {
        color:#fff!important;
    }

    .nd-notifications-hero h1 {
        font-size:24px!important;
        letter-spacing:-.04em!important;
    }

    .nd-notifications-actions {
        width:100%!important;
        margin-top:10px!important;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:7px!important;
    }

    .nd-notifications-actions a {
        min-height:40px!important;
        justify-content:center!important;
        border-radius:12px!important;
        font-size:9px!important;
    }

    .nd-notifications-page .nd-stats {
        padding:10px 12px!important;
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:7px!important;
    }

    .nd-notifications-page .nd-stat {
        min-width:0!important;
        padding:9px!important;
        border-radius:14px!important;
    }

    .nd-notifications-page .nd-toolbar {
        padding:8px 12px 11px!important;
        display:grid!important;
        gap:8px!important;
    }

    .nd-notifications-page .nd-tabs {
        display:flex!important;
        gap:5px!important;
        overflow-x:auto!important;
        scrollbar-width:none!important;
    }

    .nd-notifications-page .nd-tabs::-webkit-scrollbar {
        display:none!important;
    }

    .nd-notifications-page .nd-tab {
        flex:0 0 auto!important;
        min-height:34px!important;
        padding:0 10px!important;
        border-radius:999px!important;
        font-size:9px!important;
        font-weight:900!important;
    }

    .nd-notifications-page .nd-sections {
        padding:0 12px 12px!important;
    }

    .nd-notifications-page .nd-section {
        border-radius:18px!important;
        overflow:hidden!important;
    }

    .nd-notifications-page .nd-item {
        padding:11px!important;
        gap:9px!important;
    }

    /* ---------- WIĘCEJ ---------- */
    .nd-v1243-more-head-card {
        margin:0!important;
        padding:18px!important;
        overflow:hidden!important;
        border:0!important;
        border-radius:27px!important;
        background:
            radial-gradient(circle at 88% 0,rgba(255,255,255,.18),transparent 34%),
            linear-gradient(135deg,#54257c,#71359a 52%,#d0509d)!important;
        box-shadow:0 18px 40px rgba(86,38,116,.18)!important;
        color:#fff!important;
    }

    .nd-v1243-more-head-card h1,
    .nd-v1243-more-head-card p,
    .nd-v1243-more-head-card .muted,
    .nd-v1243-more-head-card .badge {
        color:#fff!important;
    }

    .nd-v1243-more-head-card h1 {
        margin:7px 0 2px!important;
        font-size:28px!important;
        letter-spacing:-.05em!important;
    }

    .nd-v1243-mobile-owner-lock a,
    .nd-v1243-mobile-owner-lock button {
        border-color:rgba(255,255,255,.20)!important;
        background:rgba(255,255,255,.12)!important;
        color:#fff!important;
    }

    .nd-v124-more-context {
        border-color:var(--nd127-border)!important;
        border-radius:18px!important;
        background:#fff!important;
        box-shadow:var(--nd127-shadow-soft)!important;
    }

    .mobile-more-grid {
        gap:8px!important;
    }

    .mobile-more-grid .tap-card {
        min-height:74px!important;
        padding:13px!important;
        border:1px solid var(--nd127-border)!important;
        border-radius:18px!important;
        background:#fff!important;
        box-shadow:var(--nd127-shadow-soft)!important;
    }

    /* ---------- BOTTOM NAV + CENTRAL + ---------- */
    .nd-v127-legacy-work-nav {
        display:none!important;
    }

    .nd-v127-mobile-primary-nav {
        position:fixed;
        left:10px;
        right:10px;
        bottom:calc(9px + env(safe-area-inset-bottom));
        z-index:10010;
        min-height:68px;
        padding:5px 7px;
        display:grid;
        grid-template-columns:1fr 1fr 66px 1fr 1fr;
        align-items:center;
        gap:1px;
        border:1px solid rgba(95,56,113,.12);
        border-radius:24px;
        background:rgba(255,255,255,.96);
        box-shadow:0 18px 42px rgba(46,29,55,.18);
        backdrop-filter:blur(18px);
        -webkit-backdrop-filter:blur(18px);
    }

    .nd-v127-mobile-primary-nav > a {
        min-width:0;
        min-height:56px;
        padding:5px 2px 3px;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:3px;
        border-radius:16px;
        color:#928595!important;
        text-decoration:none!important;
        font-size:8px;
        font-weight:900;
        line-height:1;
    }

    .nd-v127-mobile-primary-nav > a.active {
        color:#70378f!important;
        background:#f7f0fa;
    }

    .nd-v127-nav-icon {
        width:24px;
        height:24px;
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .nd-v127-nav-icon svg {
        width:21px;
        height:21px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.9;
        stroke-linecap:round;
        stroke-linejoin:round;
    }

    .nd-v127-nav-plus-slot {
        min-width:66px;
        height:56px;
    }

    .nd-v124-fab-wrap {
        position:fixed!important;
        left:50%!important;
        right:auto!important;
        bottom:calc(19px + env(safe-area-inset-bottom))!important;
        z-index:10030!important;
        width:64px!important;
        min-width:64px!important;
        transform:translateX(-50%)!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
    }

    .nd-v124-fab {
        width:58px!important;
        height:58px!important;
        min-width:58px!important;
        padding:0!important;
        border:4px solid #fff!important;
        border-radius:20px!important;
        background:linear-gradient(135deg,#693292,#d04e9d)!important;
        color:#fff!important;
        font-size:30px!important;
        line-height:1!important;
        box-shadow:0 12px 26px rgba(96,43,133,.30)!important;
    }

    .nd-v124-fab-menu {
        position:absolute!important;
        left:50%!important;
        right:auto!important;
        bottom:72px!important;
        width:min(330px,calc(100vw - 24px))!important;
        transform:translateX(-50%)!important;
        padding:8px!important;
        border:1px solid var(--nd127-border)!important;
        border-radius:20px!important;
        background:rgba(255,255,255,.98)!important;
        box-shadow:0 24px 56px rgba(42,25,51,.22)!important;
    }

    .nd-v124-fab-menu a {
        min-height:58px!important;
        border-radius:15px!important;
    }

    .nd-v124-bottom-nav.nd-v1246-management-nav {
        left:10px!important;
        right:10px!important;
        bottom:calc(9px + env(safe-area-inset-bottom))!important;
        min-height:68px!important;
        padding:5px 7px!important;
        border:1px solid rgba(95,56,113,.12)!important;
        border-radius:24px!important;
        background:rgba(255,255,255,.96)!important;
        box-shadow:0 18px 42px rgba(46,29,55,.18)!important;
        backdrop-filter:blur(18px)!important;
        -webkit-backdrop-filter:blur(18px)!important;
    }

    .nd-v124-bottom-nav.nd-v1246-management-nav a {
        min-height:56px!important;
        border-radius:16px!important;
        color:#928595!important;
        font-size:8px!important;
        font-weight:900!important;
    }

    .nd-v124-bottom-nav.nd-v1246-management-nav a.active {
        background:#f7f0fa!important;
        color:#70378f!important;
    }

    /* Larger phones / small tablets: keep content readable, not stretched edge-to-edge. */
    @media (min-width:620px) {
        .bg-desktop-owner-stage > main.container {
            max-width:720px!important;
            margin:0 auto!important;
        }

        .nd-v127-mobile-appbar,
        .nd-v124-mobile-context-switch,
        .nd-v125-mobile-location {
            max-width:720px!important;
            margin-left:auto!important;
            margin-right:auto!important;
        }

        .nd-v127-mobile-primary-nav,
        .nd-v124-bottom-nav.nd-v1246-management-nav {
            width:min(700px,calc(100% - 20px))!important;
            left:50%!important;
            right:auto!important;
            transform:translateX(-50%)!important;
        }
    }
}

/* ========================================================================== 
   NoviDesk V127.1 — Mobile Polish
   Production polish after real-device iPhone review.
   Desktop remains untouched.
   ========================================================================== */
@media (max-width:850px) {
    html,
    body {
        width:100%!important;
        max-width:100%!important;
        overflow-x:hidden!important;
    }

    .bg-desktop-owner-stage,
    .bg-desktop-owner-stage > main.container,
    .bg-desktop-owner-stage > main.container > *,
    .customers-crm-page,
    .sub-shell,
    .nd-finance-page {
        min-width:0!important;
        max-width:100%!important;
    }

    .bg-desktop-owner-stage > main.container {
        padding:8px 10px calc(130px + env(safe-area-inset-bottom))!important;
        overflow-x:hidden!important;
    }

    /* Mobile chrome: compact, still touch friendly. */
    .nd-v127-mobile-appbar {
        min-height:60px!important;
        padding:7px 10px!important;
        gap:9px!important;
    }

    .nd-v127-mobile-brand {
        gap:8px!important;
    }

    .nd-v127-mobile-mark {
        width:38px!important;
        height:38px!important;
        flex-basis:38px!important;
        padding:5px!important;
        border-radius:12px!important;
    }

    .nd-v127-mobile-brand-copy strong {
        font-size:18px!important;
    }

    .nd-v127-mobile-brand-copy small {
        max-width:165px!important;
        font-size:9px!important;
    }

    .nd-v127-mobile-icon-button,
    .nd-v127-mobile-avatar {
        width:40px!important;
        height:40px!important;
        min-width:40px!important;
        border-radius:13px!important;
    }

    .nd-v124-mobile-context-switch {
        margin:6px 10px 0!important;
        padding:3px!important;
        border-radius:14px!important;
    }

    .nd-v124-mobile-context-switch button {
        min-height:36px!important;
        font-size:10px!important;
    }

    .nd-v125-mobile-location {
        margin:5px 10px 0!important;
        min-height:40px!important;
        padding:5px 8px!important;
        border-radius:13px!important;
    }

    .nd-v125-mobile-location select {
        min-height:32px!important;
        font-size:11px!important;
    }

    /* Today: less vertical chrome before useful content. */
    .nd-today-v117 {
        gap:9px!important;
    }

    .nd-today-v117 .nd-hero {
        min-height:112px!important;
        padding:15px 16px!important;
        border-radius:24px!important;
    }

    .nd-today-v117 .nd-kicker {
        margin-bottom:6px!important;
        font-size:8px!important;
    }

    .nd-today-v117 .nd-title-line h1 {
        font-size:30px!important;
    }

    .nd-today-v117 .nd-date,
    .nd-today-v117 .nd-access {
        min-height:24px!important;
        padding:0 8px!important;
        font-size:8px!important;
    }

    .nd-today-v117 .nd-kpis {
        gap:7px!important;
    }

    .nd-today-v117 .nd-kpi {
        min-height:92px!important;
        padding:12px!important;
        border-radius:19px!important;
    }

    .nd-today-v117 .nd-kpi-value {
        font-size:22px!important;
    }

    .nd-today-v117 .nd-section,
    .nd-today-v117 .nd-focus,
    .nd-today-v117 .nd-team {
        padding:13px!important;
    }

    /* Schedule: keep Day / Week / Month / Free, just make it denser. */
    .schedule-mobile .sg-top {
        min-height:104px!important;
        padding:14px 12px 12px!important;
        grid-template-columns:40px minmax(0,1fr) 40px!important;
    }

    .schedule-mobile .sg-nav {
        width:40px!important;
        height:40px!important;
    }

    .schedule-mobile .sg-title {
        font-size:20px!important;
    }

    .schedule-mobile .sg-summary {
        margin:0 10px!important;
        padding:8px!important;
        gap:6px!important;
    }

    .schedule-mobile .sg-actions,
    .schedule-mobile .sg-tabs,
    .schedule-mobile .sg-panel {
        margin-left:10px!important;
        margin-right:10px!important;
    }

    /* Customers: force the intended dark hero and prevent hidden sheets leaking into flow. */
    body .customers-crm-page > section.card.customers-crm-hero {
        margin:0!important;
        padding:15px!important;
        border:0!important;
        border-radius:24px!important;
        background:
            radial-gradient(circle at 88% 0,rgba(255,255,255,.18),transparent 34%),
            linear-gradient(135deg,#54257c 0%,#71359a 52%,#d0509d 100%)!important;
        color:#fff!important;
        box-shadow:0 16px 34px rgba(86,38,116,.17)!important;
    }

    body .customers-crm-page > .customers-crm-hero .badge,
    body .customers-crm-page > .customers-crm-hero h1,
    body .customers-crm-page > .customers-crm-hero p,
    body .customers-crm-page > .customers-crm-hero .customer-mobile-scope,
    body .customers-crm-page > .customers-crm-hero .customer-metric strong,
    body .customers-crm-page > .customers-crm-hero .customer-metric span {
        color:#fff!important;
        opacity:1!important;
        text-shadow:none!important;
    }

    body .customers-crm-page > .customers-crm-hero p {
        color:rgba(255,255,255,.80)!important;
    }

    body .customers-crm-page > .customers-crm-hero .customer-filter-pill {
        color:#fff!important;
        border-color:rgba(255,255,255,.22)!important;
        background:rgba(255,255,255,.10)!important;
    }

    body .customers-crm-page > .customers-crm-hero .customer-filter-pill.active {
        color:#6b348e!important;
        background:#fff!important;
    }

    .customers-mobile-shell {
        overflow:visible!important;
    }

    .customer-sheet-backdrop {
        display:none!important;
    }

    .customer-sheet-backdrop.show {
        display:flex!important;
    }

    .customer-sheet {
        max-height:82vh!important;
        padding:17px 14px calc(24px + env(safe-area-inset-bottom))!important;
    }

    .customer-sheet-actions {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }

    .customer-sheet-actions .btn,
    .customer-sheet-actions button {
        min-height:42px!important;
        padding:8px 9px!important;
        border-radius:12px!important;
        font-size:11px!important;
        white-space:normal!important;
    }

    .customers-pagination {
        margin-top:10px!important;
        padding:10px!important;
    }

    /* Billing/subscription: true single-column mobile layout, no viewport overflow. */
    .sub-shell {
        width:100%!important;
        margin:0!important;
        gap:10px!important;
        overflow:hidden!important;
    }

    .sub-shell > .card,
    .sub-shell > section,
    .sub-shell .sub-hero,
    .sub-shell .sub-state,
    .sub-shell .sub-stat,
    .sub-shell .sub-flow-step,
    .sub-shell .sub-plan {
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    .sub-shell > .card,
    .sub-shell > section.card {
        padding:15px!important;
        border-radius:20px!important;
        overflow:hidden!important;
    }

    .sub-hero {
        padding:16px!important;
        gap:10px!important;
        border-radius:22px!important;
    }

    .sub-hero h1 {
        margin:6px 0 5px!important;
        font-size:28px!important;
        line-height:1!important;
        overflow-wrap:anywhere!important;
    }

    .sub-hero p,
    .sub-shell p,
    .sub-table-note,
    .sub-plan-desc,
    .sub-flow-step span {
        max-width:100%!important;
        font-size:11px!important;
        line-height:1.5!important;
        overflow-wrap:anywhere!important;
        word-break:normal!important;
    }

    .sub-state {
        padding:13px 14px!important;
        border-radius:16px!important;
    }

    .sub-state strong {
        font-size:19px!important;
        line-height:1.2!important;
    }

    .sub-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }

    .sub-stat {
        padding:12px!important;
        border-radius:16px!important;
    }

    .sub-stat strong {
        margin-top:5px!important;
        font-size:17px!important;
        overflow-wrap:anywhere!important;
    }

    .sub-flow,
    .sub-plan-grid {
        grid-template-columns:1fr!important;
        gap:8px!important;
    }

    .sub-flow-step,
    .sub-plan {
        padding:13px!important;
        border-radius:16px!important;
    }

    .sub-plan-head {
        min-width:0!important;
        flex-wrap:wrap!important;
    }

    .sub-plan-name {
        font-size:18px!important;
    }

    .sub-plan-desc {
        min-height:0!important;
    }

    .sub-actions {
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:7px!important;
    }

    .sub-actions .btn,
    .sub-plan .btn {
        width:100%!important;
        max-width:100%!important;
        min-height:42px!important;
        padding:9px 11px!important;
        white-space:normal!important;
        overflow-wrap:anywhere!important;
    }

    .sub-warning,
    .sub-danger,
    .sub-info {
        padding:12px!important;
        border-radius:14px!important;
        font-size:11px!important;
        overflow-wrap:anywhere!important;
    }

    .sub-table-wrap {
        width:100%!important;
        max-width:100%!important;
        overflow:visible!important;
        margin-left:0!important;
        margin-right:0!important;
    }

    .sub-table {
        width:100%!important;
        min-width:0!important;
        display:block!important;
        border-collapse:separate!important;
    }

    .sub-table thead {
        display:none!important;
    }

    .sub-table tbody {
        width:100%!important;
        display:grid!important;
        gap:8px!important;
    }

    .sub-table tr {
        width:100%!important;
        min-width:0!important;
        display:grid!important;
        gap:0!important;
        padding:5px 11px!important;
        border:1px solid rgba(94,61,111,.11)!important;
        border-radius:15px!important;
        background:#fff!important;
        box-shadow:0 5px 16px rgba(57,35,73,.045)!important;
    }

    .sub-table td {
        width:100%!important;
        min-width:0!important;
        padding:8px 0!important;
        border:0!important;
        border-bottom:1px solid rgba(94,61,111,.08)!important;
        font-size:11px!important;
        line-height:1.4!important;
        overflow-wrap:anywhere!important;
        word-break:break-word!important;
    }

    .sub-table td:last-child {
        border-bottom:0!important;
    }

    .sub-table td[data-label] {
        display:grid!important;
        grid-template-columns:minmax(88px,34%) minmax(0,1fr)!important;
        align-items:start!important;
        gap:10px!important;
    }

    .sub-table td[data-label]::before {
        content:attr(data-label)!important;
        display:block!important;
        color:#8a7b91!important;
        font-size:8px!important;
        line-height:1.3!important;
        font-weight:900!important;
        letter-spacing:.06em!important;
        text-transform:uppercase!important;
    }

    .sub-doc-actions {
        gap:7px!important;
    }

    .sub-doc-actions a {
        display:inline-flex!important;
        min-height:32px!important;
        align-items:center!important;
    }

    /* Finance: chips instead of desktop-like wide tabs. */
    body .nd-finance-page {
        width:100%!important;
        max-width:100%!important;
        padding-bottom:18px!important;
        overflow:hidden!important;
    }

    body .nd-finance-toolbar {
        gap:9px!important;
        margin-bottom:10px!important;
        overflow:hidden!important;
    }

    body .nd-finance-tabs {
        width:100%!important;
        max-width:100%!important;
        display:flex!important;
        flex-wrap:nowrap!important;
        gap:5px!important;
        padding:4px!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        scroll-snap-type:x proximity!important;
        scrollbar-width:none!important;
        border-radius:14px!important;
        -webkit-overflow-scrolling:touch!important;
    }

    body .nd-finance-tabs::-webkit-scrollbar {
        display:none!important;
    }

    body .nd-finance-tabs a {
        flex:0 0 auto!important;
        min-height:36px!important;
        padding:0 11px!important;
        display:inline-flex!important;
        align-items:center!important;
        border-radius:10px!important;
        font-size:10px!important;
        white-space:nowrap!important;
        scroll-snap-align:start!important;
    }

    body .nd-finance-month-switcher {
        width:100%!important;
        gap:6px!important;
    }

    body .nd-finance-month-switcher > a {
        width:38px!important;
        min-width:38px!important;
        height:38px!important;
    }

    body .nd-finance-month-switcher form,
    body .nd-finance-month-switcher label {
        flex:1 1 auto!important;
        min-width:0!important;
    }

    body .nd-finance-month-switcher input {
        width:100%!important;
        min-width:0!important;
        font-size:12px!important;
    }

    body .nd-finance-stats {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }

    body .nd-finance-stat {
        min-height:96px!important;
        padding:12px!important;
        border-radius:16px!important;
    }

    body .nd-finance-stat strong {
        font-size:20px!important;
    }

    body .nd-finance-stat small {
        font-size:9px!important;
        line-height:1.35!important;
    }

    body .nd-finance-stats > .nd-finance-stat:last-child:nth-child(odd) {
        grid-column:1 / -1!important;
    }

    body .nd-finance-card {
        min-width:0!important;
        max-width:100%!important;
        padding:12px!important;
        border-radius:17px!important;
        overflow:hidden!important;
    }

    body .nd-finance-report-table-wrap {
        width:100%!important;
        max-width:100%!important;
        overflow-x:auto!important;
        -webkit-overflow-scrolling:touch!important;
    }

    body .nd-finance-report-table {
        min-width:720px!important;
    }

    /* Bottom navigation and safe content clearance. */
    .nd-v127-mobile-primary-nav,
    .nd-v124-bottom-nav.nd-v1246-management-nav {
        left:8px!important;
        right:8px!important;
        bottom:calc(8px + env(safe-area-inset-bottom))!important;
        min-height:64px!important;
        border-radius:22px!important;
    }

    .nd-v127-mobile-primary-nav > a,
    .nd-v124-bottom-nav.nd-v1246-management-nav > a {
        min-height:52px!important;
    }

    .nd-v124-fab-wrap {
        bottom:calc(17px + env(safe-area-inset-bottom))!important;
    }
}

@media (max-width:390px) {
    .nd-v127-mobile-brand-copy small {
        max-width:125px!important;
    }

    .sub-grid,
    body .nd-finance-stats {
        grid-template-columns:1fr!important;
    }

    body .nd-finance-stats > .nd-finance-stat:last-child:nth-child(odd) {
        grid-column:auto!important;
    }

    .sub-table td[data-label] {
        grid-template-columns:82px minmax(0,1fr)!important;
    }
}



/* ==========================================================
   NoviDesk V127.1.1 — Mobile UI Cleanup
   Cosmetic-only mobile polish. Desktop remains untouched.
   ========================================================== */
@media (max-width:850px) {
    /* Shared mobile density / touch feedback */
    .nd-v127-mobile-primary-nav > a,
    .nd-v124-bottom-nav.nd-v1246-management-nav a,
    .nd-v124-fab,
    .customer-card,
    .customer-sheet-actions .btn,
    .customer-sheet-actions button,
    .nd-finance-tabs a,
    .sub-plan-action,
    .sub-actions .btn,
    .sub-actions button {
        transition:transform .12s ease, background-color .12s ease, border-color .12s ease, box-shadow .12s ease!important;
    }

    .nd-v127-mobile-primary-nav > a:active,
    .nd-v124-bottom-nav.nd-v1246-management-nav a:active,
    .customer-card:active,
    .nd-finance-tabs a:active,
    .sub-plan-action:active,
    .sub-actions .btn:active,
    .sub-actions button:active {
        transform:scale(.98)!important;
    }

    /* Client sheet: destructive/account actions live in compact ellipsis menu. */
    .nd-v12711-customer-top-actions {
        display:flex!important;
        align-items:flex-start!important;
        gap:7px!important;
        flex:0 0 auto!important;
    }

    .nd-v12711-customer-menu {
        position:relative!important;
    }

    .nd-v12711-customer-menu > summary {
        width:42px!important;
        height:42px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        list-style:none!important;
        cursor:pointer!important;
        border:1px solid rgba(99,48,143,.14)!important;
        border-radius:14px!important;
        background:#f8f3fb!important;
        color:#69348d!important;
        font-size:18px!important;
        line-height:1!important;
        font-weight:900!important;
        letter-spacing:.04em!important;
        user-select:none!important;
        -webkit-user-select:none!important;
    }

    .nd-v12711-customer-menu > summary::-webkit-details-marker {
        display:none!important;
    }

    .nd-v12711-customer-menu[open] > summary {
        background:#efe4f5!important;
        border-color:rgba(99,48,143,.24)!important;
    }

    .nd-v12711-customer-menu-panel {
        position:absolute!important;
        top:48px!important;
        right:0!important;
        z-index:6!important;
        width:min(230px,calc(100vw - 56px))!important;
        display:grid!important;
        gap:5px!important;
        padding:7px!important;
        border:1px solid rgba(91,53,105,.14)!important;
        border-radius:16px!important;
        background:rgba(255,255,255,.99)!important;
        box-shadow:0 18px 42px rgba(46,29,55,.18)!important;
    }

    .nd-v12711-customer-menu-panel form {
        width:100%!important;
        margin:0!important;
    }

    .nd-v12711-menu-action {
        width:100%!important;
        min-height:42px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        padding:9px 11px!important;
        border:0!important;
        border-radius:11px!important;
        background:#faf7fc!important;
        color:#3e3044!important;
        text-decoration:none!important;
        text-align:left!important;
        font:inherit!important;
        font-size:11px!important;
        line-height:1.25!important;
        font-weight:850!important;
        cursor:pointer!important;
        box-shadow:none!important;
    }

    .nd-v12711-menu-action:active {
        background:#f2e9f7!important;
    }

    .nd-v12711-menu-action.is-danger {
        background:#fff4f6!important;
        color:#b52f55!important;
    }

    .customer-sheet-actions {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:7px!important;
        margin-top:13px!important;
    }

    .customer-sheet-actions .btn,
    .customer-sheet-actions button {
        min-height:40px!important;
        padding:8px 8px!important;
        border-radius:12px!important;
        font-size:10px!important;
    }

    .customer-sheet-stats {
        margin-top:13px!important;
        gap:7px!important;
    }

    .customer-sheet-stat {
        padding:10px!important;
        border-radius:15px!important;
    }

    /* Finance: real mobile chip rail instead of squeezed desktop tabs. */
    body .nd-finance-toolbar {
        overflow:visible!important;
    }

    body .nd-finance-tabs {
        display:flex!important;
        flex-wrap:nowrap!important;
        align-items:center!important;
        gap:6px!important;
        width:100%!important;
        max-width:100%!important;
        padding:2px 1px 7px!important;
        margin:0!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        scroll-snap-type:x proximity!important;
        scrollbar-width:none!important;
        -webkit-overflow-scrolling:touch!important;
    }

    body .nd-finance-tabs::-webkit-scrollbar {
        display:none!important;
    }

    body .nd-finance-tabs a {
        flex:0 0 auto!important;
        min-height:36px!important;
        padding:9px 12px!important;
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        border:1px solid rgba(107,60,121,.12)!important;
        border-radius:999px!important;
        background:#fff!important;
        color:#735f77!important;
        white-space:nowrap!important;
        scroll-snap-align:start!important;
        font-size:10px!important;
        line-height:1!important;
        font-weight:850!important;
        text-decoration:none!important;
        box-shadow:none!important;
    }

    body .nd-finance-tabs a:first-child {
        background:#f4ebf7!important;
        color:#6e358d!important;
        border-color:rgba(110,53,141,.18)!important;
    }

    body .nd-finance-toolbar,
    body .nd-finance-card,
    body .nd-finance-stat {
        border-radius:18px!important;
    }

    body .nd-finance-card {
        padding:13px!important;
    }

    body .nd-finance-card-head h2 {
        font-size:18px!important;
        line-height:1.05!important;
    }

    body .nd-finance-card-head p {
        margin-top:5px!important;
        font-size:10px!important;
        line-height:1.4!important;
    }

    /* Billing: slightly denser hierarchy, same logic/content. */
    .sub-shell {
        gap:8px!important;
    }

    .sub-shell > .card,
    .sub-shell > section.card {
        padding:13px!important;
        border-radius:18px!important;
    }

    .sub-hero {
        padding:14px!important;
        gap:8px!important;
        border-radius:20px!important;
    }

    .sub-hero h1 {
        margin:5px 0 4px!important;
        font-size:24px!important;
        line-height:1.02!important;
        letter-spacing:-.045em!important;
    }

    .sub-hero p,
    .sub-shell p,
    .sub-table-note,
    .sub-plan-desc,
    .sub-flow-step span {
        font-size:10px!important;
        line-height:1.45!important;
    }

    .sub-state {
        padding:11px 12px!important;
        border-radius:14px!important;
    }

    .sub-state strong {
        font-size:17px!important;
    }

    .sub-stat,
    .sub-flow-step,
    .sub-plan {
        padding:11px!important;
        border-radius:14px!important;
    }

    .sub-plan-name {
        font-size:17px!important;
    }

    /* Consistent bottom clearance above iOS browser chrome / home indicator. */
    .bg-desktop-owner-stage > main.container {
        padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;
    }

    .nd-v127-mobile-primary-nav,
    .nd-v124-bottom-nav.nd-v1246-management-nav {
        bottom:calc(8px + env(safe-area-inset-bottom))!important;
        min-height:62px!important;
        border-radius:21px!important;
    }

    .nd-v127-mobile-primary-nav > a,
    .nd-v124-bottom-nav.nd-v1246-management-nav > a {
        min-height:50px!important;
    }

    .nd-v124-fab-wrap {
        bottom:calc(16px + env(safe-area-inset-bottom))!important;
    }
}

@media (max-width:390px) {
    .sub-hero h1 {
        font-size:22px!important;
    }

    body .nd-finance-tabs a {
        padding-left:11px!important;
        padding-right:11px!important;
    }

    .nd-v12711-customer-menu-panel {
        width:min(220px,calc(100vw - 42px))!important;
    }
}

@media (prefers-reduced-motion:reduce) {
    .nd-v127-mobile-primary-nav > a,
    .nd-v124-bottom-nav.nd-v1246-management-nav a,
    .nd-v124-fab,
    .customer-card,
    .customer-sheet-actions .btn,
    .customer-sheet-actions button,
    .nd-finance-tabs a,
    .sub-plan-action,
    .sub-actions .btn,
    .sub-actions button {
        transition:none!important;
    }
}


/* ==========================================================================
   NoviDesk V128 — Mobile PWA Work-First Rebuild
   Grafik-first mobile experience. Desktop remains untouched.
   ========================================================================== */
.nd-v128-mobile-appbar,
.nd-v128-mobile-primary-nav{
    display:none;
}

@media (max-width:850px){
    :root{
        --nd-v128-ink:#191426;
        --nd-v128-muted:#776d82;
        --nd-v128-line:rgba(74,47,91,.10);
        --nd-v128-surface:#ffffff;
        --nd-v128-bg:#f7f5fa;
        --nd-v128-purple:#6d35b5;
        --nd-v128-purple-2:#8e42bd;
        --nd-v128-pink:#e33f98;
        --nd-v128-shadow:0 14px 38px rgba(51,29,68,.10);
        --nd-v128-nav-h:72px;
    }

    html,
    body{
        background:var(--nd-v128-bg)!important;
        color:var(--nd-v128-ink)!important;
        overflow-x:hidden!important;
    }

    body{
        -webkit-tap-highlight-color:transparent;
    }

    /* The old context switch is intentionally gone from daily mobile work. */
    .nd-v127-mobile-appbar,
    .nd-v127-mobile-primary-nav,
    .nd-v124-mobile-context-switch,
    .nd-v125-mobile-location,
    .nd-v124-bottom-nav.nd-v1246-management-nav,
    .nd-v127-legacy-work-nav{
        display:none!important;
    }

    /* ---------- App header ---------- */
    .nd-v128-mobile-appbar{
        display:block!important;
        position:relative;
        z-index:50;
        margin:0!important;
        padding:
            calc(12px + env(safe-area-inset-top))
            14px
            14px!important;
        color:#fff!important;
        background:
            radial-gradient(circle at 100% -10%,rgba(255,77,178,.58),transparent 42%),
            radial-gradient(circle at 0 0,rgba(93,61,215,.42),transparent 44%),
            linear-gradient(135deg,#19112f 0%,#3d1b68 46%,#9b2e8d 78%,#e23f98 100%)!important;
        border:0!important;
        border-radius:0 0 28px 28px!important;
        box-shadow:0 18px 42px rgba(43,21,62,.20)!important;
    }

    .nd-v128-mobile-top{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
    }

    .nd-v128-mobile-brand{
        min-width:0;
        display:flex;
        align-items:center;
        gap:10px;
        color:#fff!important;
        text-decoration:none!important;
    }

    .nd-v128-mobile-mark{
        width:42px;
        height:42px;
        flex:0 0 42px;
        padding:6px;
        display:grid;
        place-items:center;
        overflow:hidden;
        border:1px solid rgba(255,255,255,.28);
        border-radius:13px;
        background:rgba(255,255,255,.94);
        box-shadow:0 8px 22px rgba(0,0,0,.12);
    }

    .nd-v128-mobile-mark img{
        width:100%;
        height:100%;
        display:block;
        object-fit:contain;
    }

    .nd-v128-mobile-brand-copy{
        min-width:0;
        display:grid;
        gap:1px;
    }

    .nd-v128-mobile-brand-copy strong{
        color:#fff!important;
        font-size:21px!important;
        line-height:1!important;
        font-weight:900!important;
        letter-spacing:-.045em!important;
    }

    .nd-v128-mobile-brand-copy small{
        color:rgba(255,255,255,.72)!important;
        font-size:9px!important;
        line-height:1.1!important;
        font-weight:800!important;
        letter-spacing:.11em!important;
        text-transform:uppercase!important;
    }

    .nd-v128-mobile-actions{
        display:flex;
        align-items:center;
        gap:8px;
        flex:0 0 auto;
    }

    .nd-v128-mobile-icon-button,
    .nd-v128-mobile-avatar{
        position:relative;
        width:40px;
        height:40px;
        min-width:40px;
        display:grid;
        place-items:center;
        border:1px solid rgba(255,255,255,.20);
        border-radius:14px;
        background:rgba(255,255,255,.12);
        color:#fff!important;
        text-decoration:none!important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }

    .nd-v128-mobile-icon-button svg{
        width:20px;
        height:20px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.9;
        stroke-linecap:round;
        stroke-linejoin:round;
    }

    .nd-v128-mobile-avatar{
        font-size:13px;
        font-weight:900;
        background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.08));
    }

    .nd-v128-mobile-badge{
        position:absolute;
        top:-5px;
        right:-5px;
        min-width:18px;
        height:18px;
        padding:0 5px;
        display:flex;
        align-items:center;
        justify-content:center;
        border:2px solid #9a2e8c;
        border-radius:999px;
        background:#ff4f63;
        color:#fff;
        font-size:8px;
        line-height:1;
        font-weight:900;
    }

    .nd-v128-mobile-workbar{
        margin-top:12px;
        min-height:58px;
        padding:9px 10px;
        display:grid;
        grid-template-columns:minmax(0,1.18fr) 1px minmax(0,.82fr);
        align-items:center;
        gap:10px;
        border:1px solid rgba(255,255,255,.13);
        border-radius:17px;
        background:rgba(255,255,255,.09);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
        backdrop-filter:blur(14px);
        -webkit-backdrop-filter:blur(14px);
    }

    .nd-v128-mobile-location,
    .nd-v128-mobile-role{
        min-width:0;
        display:flex;
        align-items:center;
        gap:8px;
    }

    .nd-v128-workbar-icon{
        width:25px;
        height:25px;
        flex:0 0 25px;
        display:grid;
        place-items:center;
        color:rgba(255,255,255,.92);
    }

    .nd-v128-workbar-icon svg{
        width:20px;
        height:20px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.8;
        stroke-linecap:round;
        stroke-linejoin:round;
    }

    .nd-v128-workbar-copy{
        min-width:0;
        display:grid;
        gap:2px;
    }

    .nd-v128-workbar-copy small{
        color:rgba(255,255,255,.58)!important;
        font-size:8px!important;
        line-height:1!important;
        font-weight:800!important;
        text-transform:uppercase!important;
        letter-spacing:.08em!important;
    }

    .nd-v128-workbar-copy strong{
        min-width:0;
        color:#fff!important;
        font-size:11px!important;
        line-height:1.15!important;
        font-weight:850!important;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .nd-v128-workbar-copy form{
        margin:0!important;
        min-width:0;
    }

    .nd-v128-workbar-copy select{
        width:100%;
        max-width:100%;
        min-height:24px!important;
        padding:0 20px 0 0!important;
        border:0!important;
        outline:0!important;
        appearance:auto;
        background:transparent!important;
        color:#fff!important;
        font:inherit!important;
        font-size:11px!important;
        line-height:1.15!important;
        font-weight:850!important;
    }

    .nd-v128-workbar-copy select option{
        color:#24182e!important;
        background:#fff!important;
    }

    .nd-v128-workbar-separator{
        width:1px;
        height:34px;
        display:block;
        background:rgba(255,255,255,.18);
    }

    .nd-v128-online-dot{
        width:6px;
        height:6px;
        display:inline-block;
        margin-left:3px;
        border-radius:999px;
        background:#39d889;
        box-shadow:0 0 0 2px rgba(57,216,137,.14);
        vertical-align:middle;
    }

    /* ---------- Work-first bottom navigation ---------- */
    .nd-v128-mobile-primary-nav{
        position:fixed!important;
        left:10px!important;
        right:10px!important;
        bottom:calc(9px + env(safe-area-inset-bottom))!important;
        z-index:10010!important;
        min-height:68px!important;
        padding:5px 6px!important;
        display:grid!important;
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
        align-items:center!important;
        gap:2px!important;
        border:1px solid rgba(74,47,91,.10)!important;
        border-radius:23px!important;
        background:#fff!important;
        box-shadow:0 16px 42px rgba(48,26,62,.20)!important;
        backdrop-filter:none!important;
        -webkit-backdrop-filter:none!important;
    }

    .nd-v128-mobile-primary-nav > a{
        min-width:0;
        min-height:56px;
        padding:5px 2px 4px;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:3px;
        border-radius:17px;
        color:#8d8392!important;
        text-decoration:none!important;
        font-size:8px!important;
        line-height:1!important;
        font-weight:850!important;
    }

    .nd-v128-mobile-primary-nav > a.active{
        color:#6e34b0!important;
        background:#f5edfb!important;
    }

    .nd-v128-mobile-primary-nav > a:active{
        transform:none!important;
    }

    .nd-v128-nav-icon{
        width:23px;
        height:23px;
        display:grid;
        place-items:center;
    }

    .nd-v128-nav-icon svg{
        width:21px;
        height:21px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.9;
        stroke-linecap:round;
        stroke-linejoin:round;
    }

    .nd-v128-nav-plus-slot{
        min-height:56px;
    }

    .nd-v128-fab-wrap{
        left:50%!important;
        right:auto!important;
        bottom:calc(17px + env(safe-area-inset-bottom))!important;
        z-index:10030!important;
        width:62px!important;
        min-width:62px!important;
        transform:translateX(-50%)!important;
    }

    .nd-v128-fab{
        width:58px!important;
        height:58px!important;
        min-width:58px!important;
        padding:0!important;
        display:grid!important;
        place-items:center!important;
        border:4px solid #fff!important;
        border-radius:999px!important;
        background:linear-gradient(135deg,#6538d0 0%,#9a3bd0 48%,#e34299 100%)!important;
        color:#fff!important;
        font-size:31px!important;
        font-weight:400!important;
        line-height:1!important;
        box-shadow:0 12px 28px rgba(104,48,177,.34)!important;
        transition:none!important;
    }

    /* NoviDesk V147.1 — natywny FAB bez JS. */
    .nd-v147-static-fab > summary{
        list-style:none!important;
        cursor:pointer!important;
        -webkit-tap-highlight-color:transparent!important;
    }

    .nd-v147-static-fab > summary::-webkit-details-marker{
        display:none!important;
    }

    .nd-v147-static-fab > summary::marker{
        content:""!important;
    }

    .nd-v147-static-fab > summary:focus-visible{
        outline:3px solid rgba(121,63,183,.24)!important;
        outline-offset:2px!important;
    }

    .nd-v128-fab-menu{
        bottom:70px!important;
        width:min(330px,calc(100vw - 22px))!important;
        padding:8px!important;
        border:1px solid rgba(78,48,96,.12)!important;
        border-radius:20px!important;
        background:#fff!important;
        box-shadow:0 18px 48px rgba(49,27,62,.22)!important;
        backdrop-filter:none!important;
        -webkit-backdrop-filter:none!important;
    }

    body.nd-v12722-appointment-create .nd-v128-mobile-primary-nav,
    body.nd-v12722-appointment-create .nd-v128-fab-wrap{
        display:none!important;
    }

    .bg-desktop-owner-stage > main.container{
        padding:
            10px
            10px
            calc(106px + env(safe-area-inset-bottom))!important;
    }

    /* ---------- Today ---------- */
    .nd-today-v117{
        gap:10px!important;
    }

    .nd-today-v117 .nd-hero{
        min-height:0!important;
        padding:16px!important;
        border:0!important;
        border-radius:22px!important;
        color:#fff!important;
        background:
            radial-gradient(circle at 100% 0,rgba(226,63,152,.42),transparent 46%),
            linear-gradient(135deg,#24143f,#65308b)!important;
        box-shadow:var(--nd-v128-shadow)!important;
    }

    .nd-today-v117 .nd-kicker{
        display:none!important;
    }

    .nd-today-v117 .nd-title-line{
        gap:7px!important;
        align-items:center!important;
    }

    .nd-today-v117 .nd-title-line h1{
        color:#fff!important;
        font-size:28px!important;
        line-height:1!important;
    }

    .nd-today-v117 .nd-date,
    .nd-today-v117 .nd-access{
        min-height:25px!important;
        padding:0 9px!important;
        border-color:rgba(255,255,255,.17)!important;
        background:rgba(255,255,255,.11)!important;
        color:#fff!important;
        font-size:8.5px!important;
    }

    .nd-today-v117 .nd-kpis{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }

    .nd-today-v117 .nd-kpi{
        min-height:84px!important;
        padding:12px!important;
        border-radius:18px!important;
        background:#fff!important;
        border:1px solid var(--nd-v128-line)!important;
        box-shadow:0 8px 22px rgba(43,27,54,.06)!important;
    }

    .nd-today-v117 .nd-kpi-value{
        font-size:26px!important;
    }

    .nd-v128-dashboard-actions{
        padding:12px!important;
        display:grid!important;
        gap:10px!important;
        border:1px solid var(--nd-v128-line)!important;
        border-radius:20px!important;
        background:#fff!important;
        box-shadow:0 8px 22px rgba(43,27,54,.06)!important;
    }

    .nd-v128-dashboard-actions-head{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
    }

    .nd-v128-dashboard-actions-head strong{
        font-size:13px;
        color:var(--nd-v128-ink);
    }

    .nd-v128-dashboard-actions-head a{
        color:#7437b5;
        font-size:9px;
        font-weight:850;
        text-decoration:none;
    }

    .nd-v128-dashboard-actions-rail{
        display:flex;
        gap:7px;
        overflow-x:auto;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }

    .nd-v128-dashboard-actions-rail::-webkit-scrollbar{
        display:none;
    }

    .nd-v128-dashboard-actions-rail > a{
        flex:0 0 auto;
        min-width:104px;
        min-height:58px;
        padding:9px 10px;
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        justify-content:center;
        gap:5px;
        border:1px solid var(--nd-v128-line);
        border-radius:15px;
        background:#faf8fc;
        color:#3d3146;
        text-decoration:none;
    }

    .nd-v128-dashboard-actions-rail > a.is-primary{
        color:#fff;
        border-color:transparent;
        background:linear-gradient(135deg,#6c35b4,#d44199);
    }

    .nd-v128-dashboard-actions-rail > a span{
        font-size:16px;
        line-height:1;
    }

    .nd-v128-dashboard-actions-rail > a strong{
        font-size:9.5px;
        line-height:1.15;
        font-weight:850;
    }

    .nd-today-v117 .nd-main{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }

    .nd-today-v117 .nd-section,
    .nd-today-v117 .nd-focus,
    .nd-today-v117 .nd-team{
        border-radius:20px!important;
        border-color:var(--nd-v128-line)!important;
        box-shadow:0 8px 22px rgba(43,27,54,.06)!important;
    }

    .nd-today-v117 .nd-day-row{
        border-radius:15px!important;
        background:#fbf9fc!important;
    }

    /* ---------- Schedule: Grafik is the primary mobile workspace ---------- */
    body .schedule-page{
        padding:0 0 10px!important;
        overflow:visible!important;
    }

    body .schedule-page #scheduleMobile{
        margin:0!important;
        padding:0!important;
    }

    body .schedule-page #scheduleMobile .sg-card{
        position:relative!important;
        padding:0!important;
        display:flex!important;
        flex-direction:column!important;
        gap:9px!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        overflow:visible!important;
    }

    body .schedule-page #scheduleMobile .sg-card::before{
        content:"Grafik";
        order:0;
        display:block;
        padding:2px 2px 0;
        color:var(--nd-v128-ink);
        font-size:27px;
        line-height:1;
        font-weight:950;
        letter-spacing:-.045em;
    }

    body .schedule-page #scheduleMobile .sg-tabs{
        order:1!important;
        position:static!important;
        z-index:auto!important;
        width:100%!important;
        margin:0!important;
        padding:3px!important;
        display:grid!important;
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:2px!important;
        border:1px solid var(--nd-v128-line)!important;
        border-radius:14px!important;
        background:#f1edf5!important;
        box-shadow:none!important;
        backdrop-filter:none!important;
    }

    body .schedule-page #scheduleMobile .sg-tab{
        min-height:34px!important;
        padding:0 5px!important;
        border:0!important;
        border-radius:11px!important;
        background:transparent!important;
        color:#756b7e!important;
        font-size:9px!important;
        font-weight:850!important;
        box-shadow:none!important;
    }

    body .schedule-page #scheduleMobile .sg-tab.active{
        background:#fff!important;
        color:#7336b5!important;
        box-shadow:0 4px 12px rgba(63,37,77,.08)!important;
    }

    body .schedule-page #scheduleMobile .sg-top{
        order:2!important;
        min-height:46px!important;
        padding:0!important;
        display:grid!important;
        grid-template-columns:40px minmax(0,1fr) 40px!important;
        align-items:center!important;
        gap:7px!important;
        background:transparent!important;
    }

    body .schedule-page #scheduleMobile .sg-nav{
        width:40px!important;
        min-width:40px!important;
        height:40px!important;
        min-height:40px!important;
        padding:0!important;
        border:1px solid var(--nd-v128-line)!important;
        border-radius:13px!important;
        background:#fff!important;
        color:#5d4e67!important;
        box-shadow:0 5px 14px rgba(44,29,53,.06)!important;
        font-size:21px!important;
    }

    body .schedule-page #scheduleMobile .sg-center{
        min-width:0!important;
        padding:5px 9px!important;
        display:grid!important;
        place-items:center!important;
        gap:2px!important;
        border:1px solid var(--nd-v128-line)!important;
        border-radius:13px!important;
        background:#fff!important;
    }

    body .schedule-page #scheduleMobile .sg-center .badge{
        display:none!important;
    }

    body .schedule-page #scheduleMobile .sg-title{
        margin:0!important;
        color:#241d2c!important;
        font-size:13px!important;
        line-height:1.15!important;
        font-weight:900!important;
        text-align:center!important;
        text-transform:none!important;
    }

    body .schedule-page #scheduleMobile .sg-subtitle{
        color:#968b9c!important;
        font-size:8px!important;
        line-height:1.1!important;
        font-weight:750!important;
        text-align:center!important;
    }

    body .schedule-page #scheduleMobile .sg-summary{
        display:none!important;
    }

    body .schedule-page #scheduleMobile .sg-panel{
        order:3!important;
        margin:0!important;
    }

    body .schedule-page #scheduleMobile .sg-actions{
        order:4!important;
        margin:2px 0 0!important;
        padding:10px!important;
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:6px!important;
        border:1px solid var(--nd-v128-line)!important;
        border-radius:18px!important;
        background:#fff!important;
        box-shadow:0 7px 20px rgba(43,27,54,.05)!important;
    }

    body .schedule-page #scheduleMobile .sg-action,
    body .schedule-page #scheduleMobile .sg-action:first-child{
        grid-column:auto!important;
        width:100%!important;
        min-width:0!important;
        min-height:40px!important;
        padding:7px!important;
        border:1px solid rgba(108,53,180,.10)!important;
        border-radius:12px!important;
        background:#f7f2fb!important;
        color:#6e3c8d!important;
        font-size:8.5px!important;
        line-height:1.15!important;
        font-weight:850!important;
        box-shadow:none!important;
        white-space:normal!important;
    }

    body .schedule-page #scheduleMobile .sg-action.primary{
        color:#fff!important;
        border-color:transparent!important;
        background:linear-gradient(135deg,#6938c5,#df4499)!important;
    }

    body .schedule-page #scheduleMobile .sg-action.danger{
        color:#a43a57!important;
        background:#fff3f6!important;
    }

    body .schedule-page #scheduleMobile .sg-grid{
        display:grid!important;
        gap:7px!important;
    }

    body .schedule-page #scheduleMobile .sg-visit{
        width:100%!important;
        min-width:0!important;
        min-height:72px!important;
        margin:0!important;
        padding:9px!important;
        display:grid!important;
        grid-template-columns:52px minmax(0,1fr) 34px!important;
        align-items:center!important;
        gap:9px!important;
        border:1px solid rgba(111,65,136,.11)!important;
        border-left:4px solid #8d5ad8!important;
        border-radius:15px!important;
        background:linear-gradient(100deg,#f7f1ff,#fbf8ff)!important;
        box-shadow:0 5px 16px rgba(46,28,58,.05)!important;
        overflow:hidden!important;
        cursor:pointer!important;
    }

    body .schedule-page #scheduleMobile .sg-visit.pending,
    body .schedule-page #scheduleMobile .sg-visit.proposed{
        border-left-color:#e24a98!important;
        background:linear-gradient(100deg,#fff0f7,#fff8fb)!important;
    }

    body .schedule-page #scheduleMobile .sg-visit.completed{
        border-left-color:#38bc91!important;
        background:linear-gradient(100deg,#ecfbf6,#f8fffc)!important;
    }

    body .schedule-page #scheduleMobile .sg-visit.cancelled,
    body .schedule-page #scheduleMobile .sg-visit.no_show{
        border-left-color:#d36b75!important;
        background:linear-gradient(100deg,#fff2f3,#fffafa)!important;
        opacity:.78!important;
    }

    body .schedule-page #scheduleMobile .sg-visit-time{
        min-width:0!important;
        display:grid!important;
        align-content:center!important;
        gap:3px!important;
        color:#75667c!important;
        font-size:8px!important;
        line-height:1!important;
        text-align:left!important;
    }

    body .schedule-page #scheduleMobile .sg-visit-time strong{
        color:#30243a!important;
        font-size:11px!important;
        font-weight:900!important;
    }

    body .schedule-page #scheduleMobile .sg-visit-time span{
        color:#978b9c!important;
        font-size:8px!important;
        font-weight:750!important;
    }

    body .schedule-page #scheduleMobile .sg-visit-main{
        min-width:0!important;
        display:grid!important;
        gap:2px!important;
    }

    body .schedule-page #scheduleMobile .sg-visit-title{
        overflow:hidden!important;
        color:#21182b!important;
        font-size:11px!important;
        line-height:1.15!important;
        font-weight:900!important;
        white-space:nowrap!important;
        text-overflow:ellipsis!important;
    }

    body .schedule-page #scheduleMobile .sg-visit-sub{
        overflow:hidden!important;
        color:#73677b!important;
        font-size:8.5px!important;
        line-height:1.2!important;
        font-weight:750!important;
        white-space:nowrap!important;
        text-overflow:ellipsis!important;
    }

    body .schedule-page #scheduleMobile .sg-visit-staff{
        overflow:hidden!important;
        color:#96899c!important;
        font-size:7.5px!important;
        line-height:1.15!important;
        font-weight:750!important;
        white-space:nowrap!important;
        text-overflow:ellipsis!important;
    }

    body .schedule-page #scheduleMobile .sg-visit-pills{
        margin-top:3px!important;
        display:flex!important;
        flex-wrap:wrap!important;
        gap:4px!important;
    }

    body .schedule-page #scheduleMobile .sg-status,
    body .schedule-page #scheduleMobile .bg-deposit-pill{
        position:static!important;
        min-height:18px!important;
        padding:0 6px!important;
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        border-radius:999px!important;
        font-size:6.5px!important;
        line-height:1!important;
        font-weight:900!important;
        white-space:nowrap!important;
    }

    body .schedule-page #scheduleMobile .sg-open{
        width:32px!important;
        height:32px!important;
        min-width:32px!important;
        padding:0!important;
        display:grid!important;
        place-items:center!important;
        border:0!important;
        border-radius:11px!important;
        background:rgba(255,255,255,.70)!important;
        color:#745188!important;
        font-size:14px!important;
        letter-spacing:.04em!important;
        box-shadow:none!important;
    }

    body .schedule-page .mobile-floating-add{
        display:none!important;
    }

    /* ---------- Customers ---------- */
    .customers-crm-page{
        gap:9px!important;
    }

    .customers-crm-page .customers-crm-hero{
        padding:11px!important;
        border:1px solid var(--nd-v128-line)!important;
        border-radius:20px!important;
        background:#fff!important;
        color:var(--nd-v128-ink)!important;
        box-shadow:0 8px 22px rgba(43,27,54,.06)!important;
    }

    .customers-crm-page .customers-crm-head{
        align-items:center!important;
    }

    .customers-crm-page .customers-crm-head .badge,
    .customers-crm-page .customers-crm-head p,
    .customers-crm-page .customer-mobile-scope,
    .customers-crm-page .customer-metrics{
        display:none!important;
    }

    .customers-crm-page .customers-crm-head h1{
        margin:0!important;
        color:var(--nd-v128-ink)!important;
        font-size:27px!important;
        line-height:1!important;
        letter-spacing:-.045em!important;
    }

    .customers-crm-page .customers-add-btn{
        width:40px!important;
        height:40px!important;
        min-width:40px!important;
        display:grid!important;
        place-items:center!important;
        border:0!important;
        border-radius:999px!important;
        background:linear-gradient(135deg,#6e37c6,#df459a)!important;
        color:#fff!important;
        font-size:24px!important;
        box-shadow:0 8px 18px rgba(107,52,177,.22)!important;
    }

    .customers-crm-page .customer-tools{
        margin-top:10px!important;
        gap:7px!important;
    }

    .customers-crm-page .customer-search{
        padding:4px!important;
        border:1px solid var(--nd-v128-line)!important;
        border-radius:14px!important;
        background:#f7f5fa!important;
    }

    .customers-crm-page .customer-search input{
        min-height:38px!important;
        padding:7px 9px!important;
        border:0!important;
        background:transparent!important;
        font-size:11px!important;
    }

    .customers-crm-page .customer-search button{
        min-height:38px!important;
        padding:0 12px!important;
        border-radius:11px!important;
        background:#fff!important;
        font-size:9px!important;
        font-weight:900!important;
    }

    .customers-crm-page .customer-filter-row{
        display:flex!important;
        flex-wrap:nowrap!important;
        gap:5px!important;
        overflow-x:auto!important;
        scrollbar-width:none!important;
        -webkit-overflow-scrolling:touch!important;
    }

    .customers-crm-page .customer-filter-row::-webkit-scrollbar{
        display:none!important;
    }

    .customers-crm-page .customer-filter-pill{
        flex:0 0 auto!important;
        min-height:31px!important;
        padding:0 9px!important;
        border-radius:999px!important;
        font-size:8px!important;
    }

    .customers-crm-page .customers-mobile-shell{
        padding:8px!important;
        border:0!important;
        background:transparent!important;
        box-shadow:none!important;
    }

    .customers-crm-page .customers-mobile-list{
        gap:7px!important;
    }

    .customers-crm-page .customer-card{
        min-height:74px!important;
        padding:9px!important;
        border:1px solid var(--nd-v128-line)!important;
        border-radius:16px!important;
        background:#fff!important;
        box-shadow:0 5px 16px rgba(43,27,54,.05)!important;
    }

    .customers-crm-page .customer-avatar{
        width:38px!important;
        height:38px!important;
        min-width:38px!important;
        border-radius:13px!important;
        background:linear-gradient(135deg,#6a3bc2,#dd499d)!important;
    }

    .customers-crm-page .customer-name{
        font-size:11px!important;
    }

    .customers-crm-page .customer-contact,
    .customers-crm-page .customer-visit-line{
        font-size:8px!important;
    }

    .customers-crm-page .customer-tags{
        gap:3px!important;
    }

    .customers-crm-page .customer-tags span{
        min-height:18px!important;
        padding:0 6px!important;
        font-size:6.5px!important;
    }

    /* ---------- More: management hidden behind one menu ---------- */
    .nd-v128-more{
        display:grid;
        gap:12px;
    }

    .nd-v128-more-head{
        padding:15px;
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:10px;
        border:1px solid var(--nd-v128-line);
        border-radius:20px;
        background:#fff;
        box-shadow:0 8px 22px rgba(43,27,54,.06);
    }

    .nd-v128-more-kicker{
        display:inline-flex;
        align-items:center;
        gap:5px;
        color:#6f3a8f;
        font-size:8px;
        line-height:1;
        font-weight:900;
        text-transform:uppercase;
        letter-spacing:.08em;
    }

    .nd-v128-more-kicker i{
        width:6px;
        height:6px;
        border-radius:999px;
        background:#34ce86;
    }

    .nd-v128-more-head h1{
        margin:6px 0 4px;
        color:var(--nd-v128-ink);
        font-size:27px;
        line-height:1;
        letter-spacing:-.045em;
    }

    .nd-v128-more-head p{
        max-width:480px;
        margin:0;
        color:var(--nd-v128-muted);
        font-size:9px;
        line-height:1.4;
        font-weight:650;
    }

    .nd-v128-more-bell{
        width:40px;
        height:40px;
        min-width:40px;
        display:grid;
        place-items:center;
        border:1px solid var(--nd-v128-line);
        border-radius:13px;
        background:#faf8fc;
        color:#6e388d;
    }

    .nd-v128-more-bell svg{
        width:19px;
        height:19px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.9;
    }

    .nd-v128-more-section{
        display:grid;
        gap:6px;
    }

    .nd-v128-more-section > h2{
        margin:0 0 0 5px;
        color:#76687d;
        font-size:8px;
        line-height:1;
        font-weight:900;
        text-transform:uppercase;
        letter-spacing:.09em;
    }

    .nd-v128-more-list{
        overflow:hidden;
        border:1px solid var(--nd-v128-line);
        border-radius:18px;
        background:#fff;
        box-shadow:0 7px 20px rgba(43,27,54,.05);
    }

    .nd-v128-more-list > a{
        min-height:55px;
        padding:8px 10px;
        display:grid;
        grid-template-columns:34px minmax(0,1fr) auto auto;
        align-items:center;
        gap:9px;
        border-bottom:1px solid rgba(74,47,91,.07);
        color:#2e2437;
        text-decoration:none;
    }

    .nd-v128-more-list > a:last-child{
        border-bottom:0;
    }

    .nd-v128-more-list > a:active{
        background:#f8f3fb;
    }

    .nd-v128-more-icon{
        width:34px;
        height:34px;
        display:grid;
        place-items:center;
        border-radius:11px;
        background:#f5eff9;
        color:#6e39a0;
    }

    .nd-v128-more-icon svg{
        width:17px;
        height:17px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.8;
        stroke-linecap:round;
        stroke-linejoin:round;
    }

    .nd-v128-more-list > a > span:nth-child(2){
        min-width:0;
        display:grid;
        gap:2px;
    }

    .nd-v128-more-list strong{
        color:#292031;
        font-size:10.5px;
        line-height:1.1;
        font-weight:850;
    }

    .nd-v128-more-list small{
        color:#8b7e91;
        font-size:7.5px;
        line-height:1.25;
        font-weight:650;
    }

    .nd-v128-more-list b{
        color:#aa9eaf;
        font-size:18px;
        font-weight:500;
    }

    .nd-v128-more-list em{
        min-width:20px;
        height:20px;
        padding:0 5px;
        display:grid;
        place-items:center;
        border-radius:999px;
        background:#e9469b;
        color:#fff;
        font-size:7px;
        font-style:normal;
        font-weight:900;
    }

    .nd-v128-more-plan{
        min-height:20px;
        padding:0 7px;
        display:inline-flex!important;
        align-items:center;
        justify-content:center;
        border-radius:999px;
        background:#f3e9fa;
        color:#6c35a9;
        font-size:7px;
        font-weight:900;
    }

    .nd-v128-owner-security{
        padding:0 1px;
    }

    .nd-v128-owner-security form{
        margin:0;
    }

    .nd-v128-owner-security a,
    .nd-v128-owner-security button{
        width:100%;
        min-height:44px;
        padding:8px 12px;
        border:1px solid var(--nd-v128-line);
        border-radius:14px;
        background:#fff;
        color:#6d5d75;
        font:inherit;
        font-size:9px;
        font-weight:850;
        text-align:left;
        text-decoration:none;
    }

    .nd-v128-logout{
        margin:0!important;
    }

    .nd-v128-logout button{
        width:100%;
        min-height:48px;
        padding:0 14px;
        display:flex;
        align-items:center;
        gap:9px;
        border:1px solid rgba(181,55,84,.12);
        border-radius:16px;
        background:#fff4f6;
        color:#b43a57;
        font:inherit;
        font-size:10px;
        font-weight:900;
    }

    /* ---------- Generic mobile management pages ---------- */
    body .nd-finance-page,
    body .sub-shell{
        margin-top:0!important;
    }

    /* PWA/standalone polish */
    @media (display-mode:standalone){
        .nd-v128-mobile-appbar{
            padding-top:calc(10px + env(safe-area-inset-top))!important;
        }
    }
}

@media (max-width:390px){
    .nd-v128-mobile-appbar{
        padding-left:10px!important;
        padding-right:10px!important;
        border-radius:0 0 24px 24px!important;
    }

    .nd-v128-mobile-workbar{
        grid-template-columns:minmax(0,1.1fr) 1px minmax(0,.9fr)!important;
        gap:7px!important;
        padding:8px!important;
    }

    .nd-v128-workbar-icon{
        width:21px!important;
        flex-basis:21px!important;
    }

    .nd-v128-mobile-primary-nav{
        left:7px!important;
        right:7px!important;
        border-radius:21px!important;
    }

    body .schedule-page #scheduleMobile .sg-actions{
        grid-template-columns:1fr 1fr!important;
    }

    body .schedule-page #scheduleMobile .sg-action:first-child{
        grid-column:1 / -1!important;
    }
}
