/* Sales Dashboard Exsis - gaya bawaan (diekstrak dari index.html) */
        .modal {
            transition: opacity 0.25s ease;
        }

        .bridge-tip {
            opacity: 0;
            transform: translateY(-4px) scale(0.97);
            transition: opacity 0.15s ease, transform 0.15s ease;
            pointer-events: none;
        }

        .bridge-tip.tip-visible {
            opacity: 1;
            transform: translateY(0) scale(1);
            pointer-events: auto;
        }

        .modal-active {
            overflow-y: hidden;
        }

        .header-select {
            background-color: transparent;
            font-weight: 700;
            font-size: 1.25rem;
            color: #1e293b;
            outline: none;
            padding-right: 1.5rem;
            cursor: pointer;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            /* Standard property */
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
            background-position: right 0 center;
            background-repeat: no-repeat;
            background-size: 1.5em 1.5em;
        }

        .sticky-header th {
            position: sticky;
            top: 0;
            background-color: #f8fafc;
            z-index: 10;
        }

        /* Remove arrows from number input */
        input::-webkit-outer-spin-button,
        input::-webkit-inner-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }

        input[type=number] {
            -moz-appearance: textfield;
        }

        /* --- PRINT / DOWNLOAD PDF --- */
        @media print {
            .no-print, #uploadArea, .modal { display: none !important; }
            body { background: #fff !important; }
            main { padding: 0 !important; max-width: 100% !important; }
            /* Tables/containers use overflow-x-auto + sticky header for the screen;
               for print we want everything laid out flat so nothing is clipped or cut off. */
            .overflow-x-auto, .overflow-y-auto { overflow: visible !important; max-height: none !important; }
            .sticky-header th, nav, .sticky { position: static !important; top: auto !important; }
            .shadow-md, .shadow-lg, .shadow-sm, .shadow-xl { box-shadow: none !important; }
            .bg-white, .rounded-xl { break-inside: avoid; }
            canvas { max-width: 100% !important; }
        }

/* badge-row */
    .badge-row > span { margin-left: 0 !important; white-space: nowrap; }

/* toggle switch */
    input:checked~.toggle-bg {
        background-color: #2563eb;
    }

    input:checked~.dot {
        transform: translateX(100%);
    }
