/* =======================================================
   POLISH — Global visual refinements (added after core build)
   Keeps all existing design tokens; only elevates finish.
======================================================= */

/* ----- Soft elevation for every dashboard card ----- */
.dashboard-panel,
.sales-card,
.inventory-card,
.current-inventory-panel,
.records-page > .sales-card,
.dashboard-content > section > .dashboard-panel
{
    background:#fff;
    border-radius:16px;
    box-shadow:0 1px 3px rgba(30,27,27,.06), 0 4px 12px rgba(30,27,27,.04);
    border:1px solid #edf2f7;
    transition:box-shadow .2s ease, transform .15s ease;
}

.dashboard-panel:hover,
.sales-card:hover,
.inventory-card:hover,
.current-inventory-panel:hover
{
    box-shadow:0 6px 20px rgba(30,27,27,.08);
    transform:translateY(-1px);
}

/* ----- Refined header inside cards ----- */
.page-header h2,
.dashboard-panel h4,
.sales-card > .page-header h2,
.inventory-card > .page-header h2
{
    font-weight:700;
    letter-spacing:-.02em;
    color:#1e1b1b;
}

/* ----- Subtle divider under card headers ----- */
.dashboard-panel h4,
.current-inventory-header h4,
.page-header
{
    border-bottom:1px solid #edf2f7;
    padding-bottom:10px;
    margin-bottom:14px;
}

/* ----- Table polish ----- */
.table th,
.sales-table th,
.batch-detail-table th,
.inventory-table th,
.current-inventory-table th
{
    background:#118d6d !important;
    color:#fff !important;
    font-weight:600;
    letter-spacing:.01em;
    border-bottom:2px solid #0d6e55;
}

.table td,
.sales-table td,
.batch-detail-table td,
.inventory-table td,
.current-inventory-table td
{
    border-top:1px solid #edf2f7;
    vertical-align:middle;
}

.table tr:hover td,
.sales-table tbody tr:hover td,
.inventory-table tbody tr:hover td,
.current-inventory-table tbody tr:hover td
{
    background:#f6faf7 !important;
}

/* ----- Badge/pill polish ----- */
.inventory-status,
.batch-status,
.badge,
.status-available,
.status-low,
.status-expired,
.status-out,
.batch-status-active,
.batch-status-expired,
.batch-status-depleted
{
    border-radius:999px !important;
    padding:4px 10px !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:.01em !important;
    border:1px solid rgba(0,0,0,.06) !important;
    box-shadow:inset 0 1px 2px rgba(255,255,255,.6) !important;
}

/* ----- Button elevation ----- */
.btn-success,
.btn-warning,
.btn-danger,
.btn-outline-success,
.btn-outline-warning,
.btn-outline-danger,
.btn-outline-primary,
.btn-outline-secondary,
.complete-sale,
.login-btn,
.inventory-add-btn,
.inventory-reset-btn,
.inventory-page-btn,
.pagination-controls a,
.pagination-controls button
{
    border-radius:8px !important;
    font-weight:600 !important;
    letter-spacing:.01em !important;
    transition:all .18s ease !important;
    box-shadow:0 1px 2px rgba(30,27,27,.06) !important;
}

.btn-success:hover,
.btn-warning:hover,
.btn-danger:hover,
.btn-outline-success:hover,
.btn-outline-warning:hover,
.btn-outline-danger:hover,
.btn-outline-primary:hover,
.btn-outline-secondary:hover
{
    transform:translateY(-1px) !important;
    box-shadow:0 4px 10px rgba(30,27,27,.1) !important;
}

/* ----- Search / input polish ----- */
.search-box,
.inventory-search,
.inventory-filter,
.form-control,
.form-select,
#current-inventory-search
{
    border-radius:8px !important;
    border:1px solid #d9e2de !important;
    background:#fff !important;
    transition:border-color .18s ease, box-shadow .18s ease !important;
    font-size:13px !important;
    padding:9px 12px !important;
}

.search-box:focus,
.inventory-search:focus,
.inventory-filter:focus,
.form-control:focus,
.form-select:focus,
#current-inventory-search:focus
{
    border-color:#118d6d !important;
    box-shadow:0 0 0 3px rgba(17,141,107,.12) !important;
    outline:none !important;
}

/* ----- Modal polish ----- */
.modal-content
{
    border-radius:14px !important;
    box-shadow:0 20px 50px rgba(30,27,27,.2), 0 8px 24px rgba(30,27,27,.12) !important;
    border:1px solid #edf2f7 !important;
}

.modal-header
{
    border-bottom:1px solid #edf2f7 !important;
    padding:16px 20px !important;
}

.modal-body
{
    padding:20px !important;
}

.modal-footer
{
    border-top:1px solid #edf2f7 !important;
    padding:14px 20px !important;
}

/* ----- Card header polish ----- */
.current-inventory-header,
.page-header,
.chart-header,
.inventory-summary,
.records-pagination,
.pagination-info,
.current-inventory-pagination
{
    align-items:center !important;
    gap:12px !important;
}

/* ----- Empty state polish ----- */
.empty-state,
.empty-chart,
.inventory-empty,
.notification-empty,
.batch-empty
{
    color:#7b8794 !important;
    padding:30px 16px !important;
    border-radius:12px !important;
    background:#f8fafb !important;
    border:1px dashed #e3e7e8 !important;
    text-align:center !important;
}

/* ----- Toast / notification panel polish ----- */
.notification-panel
{
    border-radius:14px !important;
    box-shadow:0 20px 50px rgba(30,27,27,.18) !important;
    border:1px solid #edf2f7 !important;
}

.notification-item
{
    border-bottom:1px solid #f1f3f5 !important;
    padding:14px 16px !important;
    transition:background .15s ease !important;
}

.notification-item:hover
{
    background:#f6faf7 !important;
}

/* ----- Receipt polish ----- */
.receipt
{
    max-width:340px !important;
    padding:24px !important;
    border-radius:12px !important;
    background:#fff !important;
    box-shadow:0 8px 30px rgba(30,27,27,.12) !important;
    border:1px solid #ececec !important;
}

/* ----- Responsive polish: tighter mobile spacing ----- */
@media (max-width:768px)
{
    .dashboard-content { padding:16px !important; }
    .terminal-layout { grid-template-columns:1fr !important; }
    .left-panel { grid-template-rows:auto auto !important; }
}
