 /* ========================================
       SALES REPORT DASHBOARD
       CakePHP 2.x
    ======================================== */
    
    .sales-dashboard {
        background: #f4f7fb;
        color: #172033;
        font-family: "Segoe UI", Arial, sans-serif;
        font-size: 13px;
        min-height: 100vh;
    }
    
    .sales-dashboard * {
        box-sizing: border-box;
    }
    
    .sales-dashboard .sales-topbar {
        min-height: 74px;
        background: #fff;
        border-bottom: 1px solid #e2e8f0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px 28px;
        gap: 20px;
    }
    
    .sales-dashboard .sales-crumb {
        color: #64748b;
        font-size: 11px;
        margin-bottom: 3px;
    }
    
    .sales-dashboard .sales-topbar h2 {
        font-size: 19px;
        font-weight: 750;
        margin: 0;
        color: #172033;
    }
    
    .sales-dashboard .sales-user {
        display: flex;
        align-items: center;
        gap: 12px;
    }
    
    .sales-dashboard .sales-user strong {
        font-size: 12px;
    }
    
    .sales-dashboard .sales-muted {
        color: #64748b;
        font-size: 11px;
    }
    
    .sales-dashboard .sales-avatar {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        background: #dbeafe;
        color: #1d4ed8;
        font-weight: 800;
    }
    
    .sales-dashboard .sales-content {
        max-width: 1600px;
        margin: 0 auto;
        padding: 26px 28px;
    }
    
    .sales-dashboard .sales-heading {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 18px;
        margin-bottom: 22px;
    }
    
    .sales-dashboard .sales-heading h1 {
        font-size: 26px;
        line-height: 1.3;
        margin: 0 0 6px;
        font-weight: 800;
        color: #172033;
    }
    
    .sales-dashboard .sales-heading p {
        color: #64748b;
        margin: 0;
        font-size: 12px;
    }
    
    .sales-dashboard .sales-actions {
        display: flex;
        gap: 9px;
        flex-wrap: wrap;
    }
    
    .sales-dashboard .sr-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        padding: 9px 15px;
        border: 1px solid transparent;
        border-radius: 8px;
        text-decoration: none;
        font-size: 12px;
        font-weight: 700;
        cursor: pointer;
        transition: background .2s ease;
    }
    
    .sales-dashboard .sr-btn-primary {
        color: #fff;
        background: #2563eb;
        border-color: #2563eb;
    }
    
    .sales-dashboard .sr-btn-primary:hover {
        background: #1d4ed8;
        color: #fff;
    }
    
    .sales-dashboard .sr-btn-light {
        background: #fff;
        color: #334155;
        border-color: #dbe2ea;
    }
    
    .sales-dashboard .sr-btn-light:hover {
        background: #f8fafc;
        color: #172033;
    }
    
    /* FILTER BAR */
    
    .sales-dashboard .sales-filterbar {
        display: grid;
        grid-template-columns: repeat(5, minmax(120px, 1fr)) auto;
        gap: 12px;
        align-items: end;
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 13px;
        padding: 17px;
        margin-bottom: 20px;
        box-shadow: 0 3px 12px rgba(15, 23, 42, .025);
    }
    
    .sales-dashboard .sales-filter-field {
        min-width: 0;
    }
    
    .sales-dashboard .sales-filter-field label {
        display: block;
        font-size: 10px;
        font-weight: 800;
        color: #64748b;
        margin-bottom: 6px;
        letter-spacing: .5px;
    }
    
    .sales-dashboard .sales-filter-field input,
    .sales-dashboard .sales-filter-field select,
    .sales-dashboard .sales-filter-field .sales-select {
        display: block;
        width: 100%;
        height: 39px;
        padding: 8px 10px;
        border: 1px solid #dbe2ea;
        border-radius: 8px;
        background: #fff;
        color: #334155;
        font-size: 12px;
        box-shadow: none;
    }
    
    .sales-dashboard .sales-filter-field input:focus,
    .sales-dashboard .sales-filter-field select:focus {
        border-color: #60a5fa;
        outline: none;
    }
    
    .sales-dashboard .sales-filter-actions {
        display: flex;
        gap: 7px;
        align-items: end;
    }
    
    /* KPI CARDS */
    
    .sales-dashboard .sales-kpi-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 15px;
        margin-bottom: 16px;
    }
    
    .sales-dashboard .sales-kpi {
        min-width: 0;
        padding: 19px;
        border: 1px solid #e2e8f0;
        border-radius: 13px;
        background: #fff;
        box-shadow: 0 3px 12px rgba(15, 23, 42, .025);
    }
    
    .sales-dashboard .sales-kpi-top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 8px;
        color: #64748b;
        font-size: 12px;
        font-weight: 600;
    }
    
    .sales-dashboard .sales-kpi-icon {
        display: grid;
        place-items: center;
        width: 37px;
        height: 37px;
        flex-shrink: 0;
        border-radius: 10px;
        font-size: 20px;
        font-weight: 800;
    }
    
    .sales-dashboard .icon-blue {
        color: #2563eb;
        background: #eff6ff;
    }
    
    .sales-dashboard .icon-green {
        color: #059669;
        background: #d1fae5;
    }
    
    .sales-dashboard .icon-amber {
        color: #d97706;
        background: #fef3c7;
    }
    
    .sales-dashboard .icon-purple {
        color: #7c3aed;
        background: #ede9fe;
    }
    
    .sales-dashboard .sales-kpi > strong {
        display: block;
        font-size: 26px;
        line-height: 1.35;
        letter-spacing: -.5px;
        margin: 13px 0 5px;
        color: #172033;
        overflow-wrap: anywhere;
    }
    
    .sales-dashboard .sales-kpi > strong.sales-money {
        font-size: 22px;
    }
    
    .sales-dashboard .sales-kpi > small {
        color: #64748b;
        font-size: 11px;
    }
    
    /* SECONDARY METRICS */
    
    .sales-dashboard .sales-financial-grid {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 12px;
        margin-bottom: 18px;
    }
    
    .sales-dashboard .sales-financial-card {
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 11px;
        padding: 15px;
        min-width: 0;
    }
    
    .sales-dashboard .sales-financial-card span {
        display: block;
        color: #64748b;
        font-size: 11px;
        margin-bottom: 9px;
    }
    
    .sales-dashboard .sales-financial-card strong {
        display: block;
        font-size: 21px;
        overflow-wrap: anywhere;
        color: #172033;
    }
    
    /* PANELS */
    
    .sales-dashboard .sales-panel {
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 13px;
        margin-bottom: 18px;
        box-shadow: 0 3px 12px rgba(15, 23, 42, .025);
    }
    
    .sales-dashboard .sales-panel-heading,
    .sales-dashboard .sales-table-heading {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 15px;
        padding: 19px 20px;
    }
    
    .sales-dashboard .sales-panel-heading h3,
    .sales-dashboard .sales-table-heading h3 {
        font-size: 15px;
        font-weight: 800;
        margin: 0 0 5px;
        color: #172033;
    }
    
    .sales-dashboard .sales-panel-heading p,
    .sales-dashboard .sales-table-heading p {
        color: #64748b;
        font-size: 11px;
        margin: 0;
    }
    
    /* INVENTORY DONUT */
    
    .sales-dashboard .sales-inventory-body {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 45px;
        padding: 12px 20px 26px;
    }
    
    .sales-dashboard .sales-donut {
        width: 165px;
        height: 165px;
        flex-shrink: 0;
        border-radius: 50%;
        display: grid;
        place-items: center;
        position: relative;
    }
    
    .sales-dashboard .sales-donut-center {
        width: 105px;
        height: 105px;
        position: relative;
        z-index: 1;
        background: #fff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }
    
    .sales-dashboard .sales-donut-center strong {
        font-size: 25px;
        color: #172033;
    }
    
    .sales-dashboard .sales-donut-center span {
        font-size: 10px;
        color: #64748b;
    }
    
    .sales-dashboard .sales-status-legend {
        display: grid;
        grid-template-columns: repeat(2, minmax(135px, 1fr));
        gap: 17px 30px;
        max-width: 500px;
        width: 100%;
    }
    
    .sales-dashboard .sales-status-legend > div {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
    }
    
    .sales-dashboard .sales-status-legend span {
        display: flex;
        align-items: center;
        color: #475569;
        font-size: 12px;
    }
    
    .sales-dashboard .sales-status-legend strong {
        font-size: 12px;
        color: #172033;
    }
    
    .sales-dashboard .legend-dot {
        width: 9px;
        height: 9px;
        border-radius: 50%;
        display: inline-block;
        margin-right: 7px;
        flex-shrink: 0;
    }
    
    .sales-dashboard .dot-sold { background: #2563eb; }
    .sales-dashboard .dot-available { background: #059669; }
    .sales-dashboard .dot-reserved { background: #d97706; }
    .sales-dashboard .dot-booked { background: #7c3aed; }
    .sales-dashboard .dot-hold { background: #94a3b8; }
    
    /* DATA TABLE */
    
    .sales-dashboard .sales-table-panel {
        overflow: hidden;
    }
    
    .sales-dashboard .sales-table-heading {
        flex-wrap: wrap;
    }
    
    .sales-dashboard .sales-table-search {
        width: 230px;
        max-width: 100%;
        height: 38px;
        padding: 9px 12px;
        border: 1px solid #dbe2ea;
        border-radius: 8px;
        font-size: 12px;
        outline: none;
    }
    
    .sales-dashboard .sales-table-search:focus {
        border-color: #60a5fa;
    }
    
    .sales-dashboard .sales-table-responsive {
        width: 100%;
        overflow-x: auto;
    }
    
    .sales-dashboard .sales-data-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 12px;
        white-space: nowrap;
    }
    
    .sales-dashboard .sales-data-table thead th {
        padding: 13px 15px;
        background: #f8fafc;
        border-top: 1px solid #e2e8f0;
        border-bottom: 1px solid #e2e8f0;
        color: #64748b;
        font-size: 10px;
        text-align: left;
        text-transform: uppercase;
        letter-spacing: .35px;
    }
    
    .sales-dashboard .sales-data-table tbody td {
        padding: 14px 15px;
        border-bottom: 1px solid #eef2f7;
        vertical-align: middle;
    }
    
    .sales-dashboard .sales-data-table tbody tr:hover {
        background: #f8fbff;
    }
    
    .sales-dashboard .sales-project-name {
        font-weight: 750;
        color: #172033;
        margin-bottom: 3px;
    }
    
    .sales-dashboard .sales-amount {
        font-weight: 700;
        font-variant-numeric: tabular-nums;
    }
    
    .sales-dashboard .sales-status-badge {
        display: inline-block;
        padding: 5px 9px;
        border-radius: 20px;
        font-size: 10px;
        font-weight: 800;
    }
    
    .sales-dashboard .status-success {
        color: #047857;
        background: #d1fae5;
    }
    
    .sales-dashboard .status-info {
        color: #0369a1;
        background: #e0f2fe;
    }
    
    .sales-dashboard .status-primary {
        color: #1d4ed8;
        background: #dbeafe;
    }
    
    .sales-dashboard .status-warning {
        color: #92400e;
        background: #fef3c7;
    }
    
    .sales-dashboard .status-danger {
        color: #b91c1c;
        background: #fee2e2;
    }
    
    .sales-dashboard .status-default {
        color: #475569;
        background: #e2e8f0;
    }
    
    .sales-dashboard .sales-no-data {
        text-align: center;
        padding: 35px !important;
        color: #64748b;
    }
    
    .sales-dashboard .sales-footer {
        font-size: 11px;
        line-height: 1.7;
        color: #64748b;
        margin: 14px 0 4px;
    }
    
    /* RESPONSIVE */
    
    @media (max-width: 1200px) {
        .sales-dashboard .sales-filterbar {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    
        .sales-dashboard .sales-filter-actions {
            grid-column: 1 / -1;
        }
    
        .sales-dashboard .sales-financial-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }
    
    @media (max-width: 850px) {
        .sales-dashboard .sales-content {
            padding: 20px 16px;
        }
    
        .sales-dashboard .sales-kpi-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    
        .sales-dashboard .sales-inventory-body {
            gap: 25px;
        }
    
        .sales-dashboard .sales-status-legend {
            grid-template-columns: 1fr;
        }
    }
    
    @media (max-width: 560px) {
        .sales-dashboard .sales-topbar {
            padding: 14px;
        }
    
        .sales-dashboard .sales-user {
            gap: 7px;
        }
    
        .sales-dashboard .sales-content {
            padding: 17px 11px;
        }
    
        .sales-dashboard .sales-heading {
            display: block;
        }
    
        .sales-dashboard .sales-heading h1 {
            font-size: 23px;
        }
    
        .sales-dashboard .sales-actions {
            margin-top: 13px;
        }
    
        .sales-dashboard .sales-filterbar {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            padding: 12px;
            gap: 10px;
        }
    
        .sales-dashboard .sales-filter-actions {
            grid-column: 1 / -1;
        }
    
        .sales-dashboard .sales-filter-actions .sr-btn {
            flex: 1;
        }
    
        .sales-dashboard .sales-kpi {
            padding: 13px;
        }
    
        .sales-dashboard .sales-kpi > strong {
            font-size: 22px;
        }
    
        .sales-dashboard .sales-kpi > strong.sales-money {
            font-size: 18px;
        }
    
        .sales-dashboard .sales-financial-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    
        .sales-dashboard .sales-inventory-body {
            flex-direction: column;
            gap: 25px;
        }
    
        .sales-dashboard .sales-status-legend {
            max-width: 100%;
        }
    
        .sales-dashboard .sales-table-heading {
            align-items: flex-start;
            flex-direction: column;
            padding: 15px;
        }
    
        .sales-dashboard .sales-table-search {
            width: 100%;
        }
    }
    
    /* PRINT / PDF */
    
    @media print {
        body {
            background: #fff !important;
        }
    
        .sales-dashboard {
            background: #fff !important;
        }
    
        .sales-dashboard .no-print,
        .sales-dashboard .sales-filterbar {
            display: none !important;
        }
    
        .sales-dashboard .sales-content {
            max-width: none;
            padding: 0;
        }
    
        .sales-dashboard .sales-topbar,
        .sales-dashboard .sales-kpi,
        .sales-dashboard .sales-financial-card,
        .sales-dashboard .sales-panel {
            box-shadow: none !important;
            break-inside: avoid;
        }
    
        .sales-dashboard .sales-table-responsive {
            overflow: visible;
        }
    
        .sales-dashboard .sales-data-table {
            white-space: normal;
            font-size: 9px;
        }
    
        .sales-dashboard .sales-data-table th,
        .sales-dashboard .sales-data-table td {
            padding: 6px;
        }
    }