@media screen {
    :root {
        --da-bg: #eef3f9;
        --da-surface: #ffffff;
        --da-surface-soft: #f8fbff;
        --da-border: #dbe5f1;
        --da-border-soft: #eef2f7;
        --da-ink: #0f172a;
        --da-muted: #64748b;
        --da-faint: #94a3b8;
        --da-primary: #2563eb;
        --da-primary-dark: #1d4ed8;
        --da-primary-soft: #eff6ff;
        --da-success: #16a34a;
        --da-warning: #d97706;
        --da-danger: #dc2626;
        --da-radius: 14px;
        --da-radius-sm: 10px;
        --da-shadow: 0 10px 26px rgba(15, 23, 42, .07);
        --da-shadow-soft: 0 3px 12px rgba(15, 23, 42, .05);
        --da-font: 'Sarabun', Tahoma, Arial, sans-serif;
        --da-display: 'Kanit', var(--da-font);
    }

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

    body {
        background:
            linear-gradient(180deg, rgba(219, 234, 254, .42), rgba(238, 243, 249, 0) 260px),
            var(--da-bg) !important;
        color: var(--da-ink);
        font-family: var(--da-font);
        line-height: 1.6;
    }

    body,
    button,
    input,
    select,
    textarea {
        letter-spacing: 0;
    }

    img,
    svg,
    video,
    canvas {
        max-width: 100%;
    }

    .admin-content,
    .page-wrap,
    .wrap,
    .container,
    .content-wrap,
    .profile-wrap,
    .sch-page,
    .tech-detail {
        width: min(100%, 1220px);
    }

    .admin-content {
        padding: 24px clamp(16px, 2.2vw, 30px) !important;
    }

    .page-wrap,
    .wrap,
    .container {
        padding-inline: clamp(14px, 2.2vw, 24px) !important;
    }

    .admin-topbar,
    .customer-topnav,
    .tech-shell-nav,
    .topnav {
        backdrop-filter: saturate(140%) blur(10px);
    }

    .admin-topbar {
        box-shadow: 0 1px 0 rgba(15, 23, 42, .04);
    }

    .admin-sidebar {
        background:
            radial-gradient(circle at 20% 0%, rgba(59, 130, 246, .18), transparent 28%),
            #07101f !important;
    }

    .admin-sidebar a,
    .customer-quick-nav a,
    .tech-shell-links a {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .sidebar-hint {
        display: flex;
        gap: 8px;
        align-items: flex-start;
        margin: 14px 8px 4px;
        padding: 10px 11px;
        border: 1px solid rgba(148, 163, 184, .16);
        border-radius: 10px;
        color: #6f85a6;
        font-size: 11px;
        line-height: 1.45;
        background: rgba(255, 255, 255, .035);
    }

    .sidebar-hint i {
        margin-top: 2px;
        color: #60a5fa;
        flex: 0 0 auto;
    }

    .customer-quick-nav,
    .tech-shell-links {
        box-shadow: 0 1px 0 rgba(15, 23, 42, .04);
    }

    h1,
    h2,
    h3,
    .page-title,
    .section-heading,
    .panel-head h2,
    .hero h1,
    .toolbar h2 {
        font-family: var(--da-display);
        letter-spacing: 0;
        overflow-wrap: anywhere;
    }

    p,
    span,
    div,
    td,
    th,
    label,
    a,
    small,
    strong {
        min-width: 0;
    }

    .content-card,
    .card,
    .panel,
    .section-card,
    .list-card,
    .cal-card,
    .stat-card,
    .review-stat,
    .job-card,
    .job,
    .cart-item,
    .product-card,
    .equipment-card,
    .receipt-card,
    .profile-card,
    .summary-card,
    .filter-card {
        border-color: var(--da-border) !important;
        border-radius: var(--da-radius) !important;
        box-shadow: var(--da-shadow-soft);
    }

    .content-card,
    .card,
    .panel,
    .section-card,
    .list-card,
    .cal-card,
    .stat-card,
    .review-stat,
    .summary-card,
    .filter-card {
        background: var(--da-surface);
    }

    .content-card:hover,
    .panel:hover,
    .section-card:hover,
    .job-card:hover,
    .job:hover,
    .product-card:hover,
    .equipment-card:hover {
        box-shadow: var(--da-shadow);
    }

    .card-header,
    .panel-head,
    .section-head,
    .list-head,
    .cal-head {
        overflow: visible;
    }

    .btn,
    .btn-sch,
    .btn-detail,
    .btn-action,
    .tab,
    .tab-link,
    button {
        border-radius: var(--da-radius-sm) !important;
        font-family: var(--da-font);
        font-weight: 700;
        line-height: 1.35;
        white-space: normal;
        text-align: center;
    }

    .content-card .row .btn.w-100.text-start.p-3 {
        min-height: 88px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 3px;
        text-align: left;
    }

    .content-card .row .btn.w-100.text-start.p-3 strong,
    .content-card .row .btn.w-100.text-start.p-3 small {
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .btn-primary,
    .btn-sch-primary,
    .btn-action-p {
        background: var(--da-primary) !important;
        border-color: var(--da-primary) !important;
        color: #fff !important;
    }

    .btn-primary:hover,
    .btn-sch-primary:hover,
    .btn-action-p:hover {
        background: var(--da-primary-dark) !important;
        border-color: var(--da-primary-dark) !important;
    }

    .btn-outline,
    .btn-soft,
    .btn-sch-outline,
    .btn-outline-detail,
    .btn-action-o {
        background: #fff !important;
        border: 1px solid var(--da-border) !important;
        color: #334155 !important;
    }

    input,
    select,
    textarea,
    .form-control,
    .form-select,
    .search {
        min-height: 42px;
        border-color: var(--da-border) !important;
        border-radius: var(--da-radius-sm) !important;
        background: #fff;
        color: var(--da-ink);
        font-family: var(--da-font);
        line-height: 1.45;
    }

    textarea {
        min-height: 104px;
    }

    input:focus,
    select:focus,
    textarea:focus,
    .form-control:focus,
    .form-select:focus,
    .search:focus {
        border-color: var(--da-primary) !important;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, .12) !important;
        outline: 0;
    }

    .table-responsive,
    .table-wrap {
        border-radius: var(--da-radius);
        -webkit-overflow-scrolling: touch;
    }

    table,
    .table {
        width: 100%;
        border-collapse: collapse;
    }

    .table th,
    table th {
        background: #f1f5f9;
        color: #475569;
        font-weight: 800;
        white-space: nowrap;
    }

    .table td,
    table td {
        color: #1e293b;
        overflow-wrap: anywhere;
    }

    .badge,
    .sbadge,
    .badge-soft,
    .count,
    .count-pill,
    .pill {
        border-radius: 999px !important;
        line-height: 1.25;
        white-space: nowrap;
    }

    .stat-card,
    .review-stat {
        overflow: visible;
    }

    .stat-card strong,
    .stat-card h2,
    .stat-value,
    .review-stat strong {
        line-height: 1.15;
        overflow-wrap: anywhere;
    }

    .job-list,
    .item-list,
    .legacy-list,
    .report-list {
        gap: 12px;
    }

    .job-card,
    .job,
    .job-item,
    .report-item,
    .legacy-item {
        overflow: visible !important;
    }

    .job-title,
    .job-name,
    .item-name,
    .product-name,
    .report-title {
        line-height: 1.45;
        overflow-wrap: anywhere;
    }

    .job-note,
    .muted,
    .item-meta,
    .appointment,
    .dbox-v,
    .dbox-s {
        line-height: 1.55;
        overflow-wrap: anywhere;
    }

    .empty,
    .sch-empty {
        background: rgba(255, 255, 255, .72);
        border-color: var(--da-border);
    }

    @media (max-width: 920px) {
        .admin-content,
        .page-wrap,
        .wrap,
        .container {
            padding-inline: 14px !important;
        }

        .toolbar,
        .review-hero,
        .hero,
        .panel-head,
        .section-head,
        .job-head,
        .job-card-header {
            align-items: stretch !important;
            gap: 12px;
        }

        .btn,
        .btn-sch,
        .btn-detail,
        .btn-action {
            min-height: 40px;
        }
    }

    @media (max-width: 640px) {
        body {
            font-size: 14px;
        }

        .admin-content {
            padding: 14px !important;
        }

        .sidebar-hint {
            display: none;
        }

        h1,
        .hero h1 {
            font-size: 24px !important;
            line-height: 1.25;
        }

        h2,
        .panel-head h2,
        .section-heading {
            font-size: 18px !important;
            line-height: 1.3;
        }

        .stat-card,
        .content-card,
        .card,
        .panel,
        .section-card {
            border-radius: 12px !important;
        }

        .table-responsive,
        .table-wrap {
            overflow-x: auto;
        }

        .btn-group {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }

        .btn-group > .btn,
        .actions .btn,
        .job-actions .btn-action {
            flex: 1 1 auto;
        }
    }

    @media (max-width: 560px) {
        :root {
            --da-radius: 10px;
            --da-radius-sm: 8px;
        }

        body {
            font-size: 13px;
            line-height: 1.45;
        }

        .admin-content,
        .page,
        .page-wrap,
        .wrap,
        .container,
        .content-wrap,
        .profile-wrap,
        .sch-page,
        .tech-detail {
            padding: 10px !important;
        }

        .content-card,
        .card,
        .panel,
        .section-card,
        .list-card,
        .cal-card,
        .stat-card,
        .review-stat,
        .job-card,
        .job,
        .cart-item,
        .product-card,
        .equipment-card,
        .receipt-card,
        .profile-card,
        .summary-card,
        .filter-card {
            border-radius: 10px !important;
        }

        .content-card,
        .card-body,
        .panel,
        .section-card,
        .filter-card,
        .summary-card,
        .profile-card,
        .receipt-card {
            padding: 10px !important;
        }

        .card-header,
        .panel-head,
        .section-head,
        .list-head,
        .cal-head,
        .toolbar,
        .hero,
        .job-head,
        .job-card-header {
            padding: 10px !important;
            gap: 8px !important;
        }

        h1,
        .hero h1,
        .page-title {
            font-size: 19px !important;
            line-height: 1.22 !important;
        }

        h2,
        .panel-head h2,
        .section-heading,
        .toolbar h2 {
            font-size: 16px !important;
            line-height: 1.25 !important;
        }

        h3,
        h4,
        h5,
        .card-title,
        .section-title {
            font-size: 15px !important;
            line-height: 1.25 !important;
        }

        p,
        small,
        label,
        .muted,
        .text-muted,
        .item-meta,
        .job-note,
        .appointment,
        .dbox-v,
        .dbox-s {
            font-size: 12px !important;
            line-height: 1.38 !important;
        }

        .btn,
        .btn-sch,
        .btn-detail,
        .btn-action,
        .tab,
        .tab-link,
        button {
            min-height: 34px !important;
            padding: 6px 9px !important;
            font-size: 12px !important;
            line-height: 1.25 !important;
        }

        .btn-sm,
        .btn-group-sm > .btn {
            min-height: 30px !important;
            padding: 5px 8px !important;
            font-size: 11.5px !important;
        }

        input,
        select,
        textarea,
        .form-control,
        .form-select,
        .search {
            min-height: 36px !important;
            padding: 6px 9px !important;
            font-size: 12px !important;
        }

        textarea {
            min-height: 76px !important;
        }

        .badge,
        .sbadge,
        .badge-soft,
        .count,
        .count-pill,
        .pill {
            font-size: 11px !important;
            padding: 4px 7px !important;
        }

        .stat-card,
        .review-stat {
            padding: 10px !important;
        }

        .stat-card strong,
        .stat-card h2,
        .stat-value,
        .review-stat strong {
            font-size: 21px !important;
            line-height: 1.05 !important;
        }

        .stat-label {
            font-size: 10.5px !important;
        }

        .row,
        .g-3,
        .g-4 {
            --bs-gutter-x: .6rem;
            --bs-gutter-y: .6rem;
        }

        .table,
        table {
            font-size: 12px !important;
        }

        .table th,
        .table td,
        table th,
        table td {
            padding: 7px 8px !important;
        }

        .job-list,
        .item-list,
        .legacy-list,
        .report-list,
        .product-grid,
        .equipment-grid {
            gap: 8px !important;
        }

        .job-card,
        .job,
        .job-item,
        .report-item,
        .legacy-item,
        .product-card,
        .equipment-card,
        .cart-item {
            padding: 10px !important;
        }

        .admin-topbar,
        .customer-topnav,
        .tech-shell-nav,
        .topbar {
            min-height: 48px !important;
            padding: 8px 10px !important;
        }

        .admin-sidebar a {
            min-width: 68px !important;
            max-width: 96px !important;
            height: 48px !important;
            padding: 6px 8px !important;
            font-size: 10.5px !important;
        }

        .admin-sidebar a i {
            font-size: 18px !important;
        }

        .sidebar-nav {
            gap: 6px !important;
            padding: 8px 10px 10px !important;
        }

        .sidebar-brand {
            padding: 9px 10px !important;
        }

        .brand-icon {
            width: 30px !important;
            height: 30px !important;
            border-radius: 8px !important;
        }

        .brand-name {
            font-size: 14px !important;
        }

        .topbar-badge,
        .user-avatar,
        .avatar {
            width: 28px !important;
            height: 28px !important;
            font-size: 11px !important;
        }

        .mode-grid,
        .quick-row,
        .stats-grid,
        .summary-grid,
        .filter-grid {
            gap: 8px !important;
        }

        .mode-card {
            min-height: 0 !important;
            padding: 12px !important;
        }

        .mode-icon {
            width: 40px !important;
            height: 40px !important;
            border-radius: 10px !important;
            font-size: 20px !important;
            margin-bottom: 10px !important;
        }

        .mode-card h2 {
            font-size: 15px !important;
            margin-bottom: 4px !important;
        }

        .mode-card p {
            font-size: 11.5px !important;
            line-height: 1.4 !important;
        }

        .mode-enter {
            margin-top: 8px !important;
            padding-top: 8px !important;
            font-size: 12px !important;
        }
    }

    @media (max-width: 380px) {
        body {
            font-size: 12.5px;
        }

        .admin-content,
        .page,
        .page-wrap,
        .wrap,
        .container,
        .content-wrap {
            padding: 8px !important;
        }

        h1,
        .hero h1,
        .page-title {
            font-size: 17px !important;
        }

        .content-card,
        .card-body,
        .panel,
        .section-card,
        .job-card,
        .product-card,
        .equipment-card {
            padding: 8px !important;
        }

        .btn,
        .btn-sch,
        .btn-detail,
        .btn-action,
        button {
            min-height: 32px !important;
            padding: 5px 7px !important;
            font-size: 11.5px !important;
        }

        .admin-sidebar a {
            min-width: 62px !important;
            max-width: 84px !important;
            height: 44px !important;
        }
    }
}

@media (max-width: 760px) {
    .tech-shell-top,
    .qr-shell-inner {
        min-height: 52px !important;
        padding: 8px 12px !important;
    }

    .tech-shell-name,
    .qr-shell-title {
        font-size: 14px !important;
    }

    .tech-shell-icon,
    .qr-shell-icon {
        height: 30px !important;
        width: 30px !important;
    }

    .tech-shell-links {
        gap: 4px !important;
        padding: 6px 8px !important;
    }

    .tech-shell-links a {
        border: 1px solid #e2e8f0 !important;
        border-radius: 8px !important;
        font-size: 11.5px !important;
        padding: 7px 9px !important;
    }

    .qr-shell-actions {
        gap: 6px !important;
    }

    .qr-shell-actions a {
        min-height: 32px !important;
        padding: 7px 9px !important;
    }

    .wrap .panel,
    main.wrap .panel {
        border-radius: 10px !important;
        padding: 12px !important;
    }

    main.wrap {
        padding: 12px 10px !important;
    }

    .wrap h1,
    .wrap h2,
    main.wrap h1,
    main.wrap h2 {
        font-size: 18px !important;
        line-height: 1.25 !important;
    }

    .wrap .muted,
    main.wrap .muted,
    .wrap .hint,
    main.wrap .hint {
        font-size: 12.5px !important;
        line-height: 1.45 !important;
    }

    #reader {
        min-height: 260px;
    }

    #qr,
    .qr-box {
        max-width: 100% !important;
    }
}

@media print {
    .no-print,
    .admin-sidebar,
    .admin-topbar,
    .customer-topnav,
    .customer-quick-nav,
    .tech-shell-nav,
    .tech-shell-links {
        display: none !important;
    }
}
