/* =============================================================================
   DENTALNET · CLINIC POCKET
   Мобилен слой върху канторската тема: джобен дневен лист, не смачкан десктоп.
   Стъкло ADSBG, мастило, мента. Палецът е основният курсор.
   ========================================================================== */

@media (max-width: 767.98px) {
    :root {
        --pocket-gutter: .8rem;
        --pocket-touch: 44px;
    }

    html {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    body {
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    /* ── Навигация ────────────────────────────────────────────────────────── */
    .dental-navbar {
        padding-top: max(.45rem, env(safe-area-inset-top));
        padding-bottom: .45rem;
    }

    .dental-navbar .navbar-brand {
        font-family: var(--font-display, system-ui, sans-serif);
        font-size: 1.12rem;
        font-weight: 600;
        letter-spacing: .01em;
        max-width: calc(100vw - 5.5rem);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .dental-navbar .navbar-toggler {
        min-width: var(--pocket-touch);
        min-height: var(--pocket-touch);
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .dental-navbar .navbar-collapse {
        left: var(--pocket-gutter) !important;
        right: var(--pocket-gutter) !important;
        max-height: calc(100dvh - 4.5rem - env(safe-area-inset-top, 0px));
        background: var(--surface) !important;
        border-color: var(--border-strong) !important;
        box-shadow: var(--shadow-lg);
    }

    /* ── Страница ─────────────────────────────────────────────────────────── */
    main > .container-fluid,
    main > .container,
    .container-fluid.px-4 {
        padding-left: var(--pocket-gutter) !important;
        padding-right: var(--pocket-gutter) !important;
    }

    .medical-dashboard > main {
        padding-bottom: 1.75rem;
    }

    .dental-footer {
        font-size: .72rem;
        padding: .55rem var(--pocket-gutter);
        padding-bottom: max(.55rem, env(safe-area-inset-bottom));
        line-height: 1.4;
    }

    /* ── Карти / детайли ──────────────────────────────────────────────────── */
    .card {
        border-radius: var(--radius-lg);
    }

    .card-header {
        padding: .75rem .9rem;
    }

    .card-header .card-actions,
    .card-header .btn-group,
    .card-header.d-flex,
    .pd-header-actions {
        flex-wrap: wrap;
        gap: .4rem;
    }

    .card-header .btn,
    .card-actions .btn {
        min-height: var(--pocket-touch);
    }

    .card-body {
        padding: .9rem;
    }

    /* ── Таблици: собствен хоризонтален скрол, не цялата страница ─────────── */
    .table-responsive {
        margin-left: -.25rem;
        margin-right: -.25rem;
        padding-bottom: .35rem;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }

    .table {
        font-size: .82rem;
    }

    /* ── Плащане: табовете се плъзгат като разделители в тетрадка ─────────── */
    .payment-widget {
        box-shadow: var(--shadow) !important;
        border-radius: var(--radius-lg);
        overflow: hidden;
    }

    .payment-widget .card-header {
        padding: .85rem 1rem;
    }

    .payment-widget .card-body {
        padding: .9rem .85rem 1.1rem;
    }

    .nav-tabs-ledger,
    .payment-widget .nav-tabs {
        display: flex;
        flex-wrap: nowrap;
        gap: .25rem;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        border-bottom: 1px solid var(--border);
        padding-bottom: .2rem;
        margin-bottom: 1rem !important;
    }

    .nav-tabs-ledger .nav-item,
    .payment-widget .nav-tabs .nav-item {
        flex: 0 0 auto;
    }

    .nav-tabs-ledger .nav-link,
    .payment-widget .nav-tabs .nav-link {
        white-space: nowrap;
        font-size: .78rem;
        font-weight: 600;
        padding: .55rem .8rem;
        min-height: var(--pocket-touch);
        border-radius: var(--radius) var(--radius) 0 0;
        display: inline-flex;
        align-items: center;
        gap: .3rem;
    }

    .payment-widget .btn,
    .payment-widget .d-flex.justify-content-end .btn,
    .payment-widget .d-flex.justify-content-between .btn {
        min-height: var(--pocket-touch);
        width: 100%;
        justify-content: center;
    }

    .payment-widget .d-flex.justify-content-between,
    .payment-widget .d-flex.justify-content-end {
        flex-direction: column;
        align-items: stretch !important;
        gap: .5rem;
    }

    .payment-widget .alert {
        font-size: .82rem;
        padding: .7rem .8rem;
    }

    /* ── Форми ────────────────────────────────────────────────────────────── */
    .form-control,
    .form-select,
    .form-control:not(textarea) {
        min-height: var(--pocket-touch);
        font-size: 16px; /* спира auto-zoom в iOS */
    }

    textarea.form-control {
        font-size: 16px;
        min-height: 5.5rem;
    }

    .input-group .btn {
        min-height: var(--pocket-touch);
    }

    /* ── Модали ───────────────────────────────────────────────────────────── */
    .modal-dialog {
        margin: .6rem;
        max-width: calc(100vw - 1.2rem);
    }

    .modal-footer {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: .45rem;
    }

    .modal-footer .btn {
        width: 100%;
        margin: 0 !important;
    }

    /* ── Списъци / досиета ────────────────────────────────────────────────── */
    .pd-tab,
    .nav-tabs .nav-link {
        min-height: 40px;
    }

    .pd-page {
        padding: .65rem .15rem 1rem;
    }

    .pd-header {
        border-radius: 8px !important;
    }

    .pd-header-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        width: 100%;
        gap: .45rem;
    }

    .pd-action-btn,
    .pd-btn {
        min-height: var(--pocket-touch);
        justify-content: center;
    }

    .pd-tabs-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .pd-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin-left: -.25rem;
        margin-right: -.25rem;
    }

    .login-submit {
        min-height: var(--pocket-touch);
    }

    .login-form-panel {
        padding: 1rem .65rem 1.5rem !important;
    }

    .btn-sm {
        min-height: 40px;
        padding-left: .7rem;
        padding-right: .7rem;
    }

    /* Иконните групи в детайли не се свиват под пръста */
    .btn-group {
        flex-wrap: wrap;
    }

    /* ── Плаващи бутони не покриват съдържанието ──────────────────────────── */
    .dash-floating-actions {
        display: none !important;
    }

    /* ── Нова манипулация ─────────────────────────────────────────────────── */
    .qf-page {
        padding: .15rem 0 1.5rem;
        max-width: none;
    }

    .qf-hero {
        align-items: flex-start;
        margin-bottom: 1rem;
    }

    .qf-page .qf-title {
        font-size: 1.55rem;
    }

    .qf-back {
        min-height: var(--pocket-touch);
    }

    .qf-actions {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: .55rem;
    }

    .qf-actions .btn {
        width: 100%;
        min-height: var(--pocket-touch);
        justify-content: center;
    }

    .tooth-pick-lead {
        margin: 0 0 .55rem;
        font-size: .82rem;
        font-weight: 650;
        letter-spacing: .04em;
        text-transform: uppercase;
        color: var(--text-muted);
    }

    .tooth-pick-box,
    .tooth-pick-box.qf-more-box {
        padding: .7rem .55rem 1rem;
        background: var(--nk-solid, #101a2e);
        border: 1px solid var(--border, rgba(238, 243, 251, .12));
        color: var(--text, #dbe3f0);
    }

    .tooth-pick-full,
    #openFullToothChartBtn {
        min-height: var(--pocket-touch);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding-inline: .9rem;
    }

    /* ── Зъбна схема: плъзгане + пръст, не смачкан десктоп ────────────────── */
    .pc-container {
        padding: .35rem 0 1.25rem;
        max-width: none;
    }

    .pc-header,
    .pc-stats-row,
    .pc-chart-card,
    .pc-sidebar-card {
        background: var(--nk-solid, #101a2e) !important;
        color: var(--text, #dbe3f0) !important;
        border: 1px solid var(--border, rgba(255,255,255,.12)) !important;
        box-shadow: none !important;
    }

    .pc-header {
        flex-direction: column;
        align-items: stretch;
        gap: .85rem;
        padding: .9rem 1rem;
        border-radius: 14px;
    }

    .pc-patient-info h2 {
        font-size: 1.15rem;
        color: var(--text-strong, #eef3fb) !important;
    }

    .pc-patient-meta {
        flex-wrap: wrap;
        gap: .35rem .9rem;
    }

    .pc-header-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .45rem;
        width: 100%;
    }

    .pc-header-actions .btn,
    .pc-header-actions .dropdown {
        width: 100%;
        min-height: var(--pocket-touch);
    }

    .pc-header-actions .dropdown .btn {
        width: 100%;
    }

    .pc-stats-row {
        padding: .7rem .4rem;
        gap: .25rem;
        border-radius: 14px;
    }

    .pc-stat-label {
        font-size: .62rem;
    }

    .pc-chart-card {
        padding: .75rem .4rem 1rem;
        align-items: stretch;
        border-radius: 14px;
        overflow: visible;
    }

    .pc-chart-title {
        padding: 0 .4rem .7rem;
        margin-bottom: .7rem;
        flex-wrap: wrap;
        gap: .4rem;
    }

    .pc-chart-title h3 {
        color: var(--text-strong, #eef3fb) !important;
        font-size: 1rem;
    }

    /* Един скролер: челюстта е max-content, иначе зъбите се смачкват
       в 360px и body overflow-x:hidden ги отрязва без плъзгане. */
    .tooth-pick-scroller,
    .pc-chart-scroll {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        max-width: none;
        width: 100%;
        touch-action: pan-x pan-y;
        padding-bottom: .45rem;
        scrollbar-width: thin;
    }

    .tooth-pick-scroller .tc2d,
    .pc-chart-scroll .pc-teeth-container,
    .tc2d.is-compact {
        overflow: visible;
        width: max-content;
        min-width: 100%;
        max-width: none;
    }

    .tc2d.is-compact .pc-jaw,
    .pc-container .pc-jaw {
        width: max-content;
        min-width: max-content;
        flex-shrink: 0;
        justify-content: flex-start;
        padding-inline: .65rem;
        gap: 12px;
    }

    .tc2d.is-selectable .pc-tooth-wrapper,
    .pc-container .pc-tooth-wrapper {
        flex-shrink: 0;
        min-width: 40px;
        min-height: 52px;
        padding: .2rem;
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(125, 232, 200, .22);
    }

    .pc-edit-modal .modal-dialog {
        margin: 0;
        max-width: 100%;
        min-height: 100%;
        display: flex;
        align-items: flex-end;
    }

    .pc-edit-modal .modal-content {
        width: 100%;
        border-radius: 18px 18px 0 0;
        max-height: min(92dvh, 100%);
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    .pc-edit-modal .modal-footer .btn {
        min-height: var(--pocket-touch);
        flex: 1;
    }

    .tooth-chart-list-table .btn-group {
        display: flex;
        width: 100%;
        gap: .35rem;
    }

    .tooth-chart-list-table .btn-group .btn {
        flex: 1;
        min-height: var(--pocket-touch);
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .pc-condition-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .4rem;
    }

    .pc-cond-btn {
        min-height: var(--pocket-touch);
        justify-content: flex-start;
        padding: .45rem .65rem;
    }

    .pc-sidebar {
        width: 100%;
    }

    .dash-patient-actions {
        grid-template-columns: 1fr 1fr;
    }

    a.dash-patient-act {
        min-height: var(--pocket-touch);
    }
}

@media (max-width: 479.98px) {
    .dash-stat .d-flex {
        flex-direction: column;
        align-items: flex-start !important;
        gap: .4rem !important;
    }

    .card-title,
    .dash-card-head h5 {
        font-family: var(--font-display, Georgia, serif);
        font-weight: 600;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dash-list-item,
    .dash-stat,
    a.dash-admin-grid,
    .dash-quick a {
        transition: none !important;
    }
}
