/* Woo Affiliate Pro — Public dashboard styles */

.wap-dashboard {
    --wap-bg: #ffffff;
    --wap-fg: #1d2327;
    --wap-muted: #6b7280;
    --wap-border: #e5e7eb;
    --wap-shadow: 0 1px 3px rgba( 0, 0, 0, 0.06 );
    --wap-shadow-md: 0 4px 12px rgba( 0, 0, 0, 0.08 );
    --wap-radius: 10px;
    --wap-primary: #2563eb;
    --wap-primary-fg: #ffffff;
    --wap-success: #10b981;
    --wap-warning: #f59e0b;
    --wap-danger: #ef4444;

    display: grid;
    gap: 20px;
    max-width: 1100px;
    margin: 0 auto;
    color: var( --wap-fg );
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
    font-size: 14px;
    line-height: 1.5;
}

.wap-dashboard h3 {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 600;
    color: var( --wap-fg );
}

.wap-dashboard .wap-meta { color: var( --wap-muted ); margin: 0 0 12px; font-size: 13px; }
.wap-dashboard .wap-muted { color: var( --wap-muted ); }

.wap-card {
    background: var( --wap-bg );
    border: 1px solid var( --wap-border );
    border-radius: var( --wap-radius );
    padding: 20px 22px;
    box-shadow: var( --wap-shadow );
}

/* Notices */
.wap-notice {
    border-radius: 8px;
    padding: 12px 16px;
    border: 1px solid transparent;
}
.wap-notice-info    { background: #eff6ff; border-color: #bfdbfe; color: #1e3a8a; }
.wap-notice-warning { background: #fffbeb; border-color: #fcd34d; color: #92400e; }
.wap-notice-error   { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.wap-notice-success { background: #ecfdf5; border-color: #a7f3d0; color: #065f46; }

/* Referral link box */
.wap-ref-box .wap-ref-label {
    color: var( --wap-muted );
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 10px;
}
.wap-ref-row { display: flex; gap: 8px; }
.wap-ref-row input {
    flex: 1;
    padding: 10px 12px;
    border: 1px solid var( --wap-border );
    border-radius: 8px;
    background: #f9fafb;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 13px;
    color: var( --wap-fg );
}
.wap-ref-sub { margin-top: 8px; color: var( --wap-muted ); font-size: 12px; }
.wap-ref-sub code { background: #f3f4f6; padding: 1px 6px; border-radius: 4px; }

/* Stat tiles */
.wap-grid { display: grid; gap: 14px; }
.wap-grid-stats { grid-template-columns: repeat( auto-fill, minmax( 170px, 1fr ) ); }
.wap-grid-2col  { grid-template-columns: 1fr 1fr; }

@media ( max-width: 720px ) {
    .wap-grid-2col { grid-template-columns: 1fr; }
}

.wap-tile {
    background: var( --wap-bg );
    border: 1px solid var( --wap-border );
    border-radius: var( --wap-radius );
    padding: 16px 18px;
    box-shadow: var( --wap-shadow );
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.wap-tile:hover { transform: translateY( -1px ); box-shadow: var( --wap-shadow-md ); }
.wap-tile-label { color: var( --wap-muted ); font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; }
.wap-tile-value { font-size: 22px; font-weight: 600; margin-top: 6px; color: var( --wap-fg ); }
.wap-tile-highlight { border-left: 4px solid var( --wap-primary ); }

/* Charts */
.wap-charts { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
@media ( max-width: 900px ) {
    .wap-charts { grid-template-columns: 1fr; }
}
.wap-charts canvas { width: 100% !important; max-width: 100%; }

/* Forms */
.wap-form { display: grid; gap: 12px; }
.wap-form label { display: grid; gap: 4px; font-size: 13px; }
.wap-form label > span { color: var( --wap-muted ); font-size: 12px; }
.wap-form input[type="text"],
.wap-form input[type="number"] {
    padding: 10px 12px;
    border: 1px solid var( --wap-border );
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
    color: var( --wap-fg );
    font-family: inherit;
    width: 100%;
    box-sizing: border-box;
}
.wap-form input:focus { outline: 2px solid var( --wap-primary ); outline-offset: 1px; border-color: transparent; }

.wap-form .wap-check { display: flex; flex-direction: row; align-items: center; gap: 8px; }
.wap-form .wap-check input { margin: 0; }

.wap-form-msg { font-size: 13px; min-height: 1em; }
.wap-form-msg.is-error { color: var( --wap-danger ); }
.wap-form-msg.is-success { color: var( --wap-success ); }

.wap-iban-current { margin: 4px 0; font-size: 13px; }
.wap-iban-current code { background: #f3f4f6; padding: 2px 6px; border-radius: 4px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }

/* Buttons */
.wap-btn {
    display: inline-block;
    padding: 10px 18px;
    border-radius: 8px;
    border: 1px solid transparent;
    background: #f3f4f6;
    color: var( --wap-fg );
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.15s ease, transform 0.1s ease;
    font-family: inherit;
}
.wap-btn:hover { background: #e5e7eb; }
.wap-btn:active { transform: translateY( 1px ); }
.wap-btn-primary { background: var( --wap-primary ); color: var( --wap-primary-fg ); }
.wap-btn-primary:hover { background: #1d4ed8; color: #fff; }

/* Locked state */
.wap-locked {
    background: #f9fafb;
    border: 1px dashed var( --wap-border );
    border-radius: 8px;
    padding: 16px;
    color: var( --wap-muted );
    text-align: center;
    font-size: 13px;
}
.wap-lock-icon { display: inline-block; margin-right: 6px; }

/* Tables */
.wap-table-wrap { overflow-x: auto; }
.wap-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.wap-table th, .wap-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid var( --wap-border );
}
.wap-table th {
    background: #f9fafb;
    font-weight: 600;
    color: var( --wap-muted );
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.04em;
}
.wap-table tr:last-child td { border-bottom: none; }
.wap-table code { font-size: 12px; background: #f3f4f6; padding: 1px 6px; border-radius: 4px; }

/* Badges */
.wap-badge {
    display: inline-block;
    padding: 2px 10px;
    font-size: 11px;
    line-height: 18px;
    border-radius: 999px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.04em;
    background: #e5e7eb;
    color: #1f2937;
}
.wap-badge-pending,
.wap-badge-requested  { background: #fef3c7; color: #92400e; }
.wap-badge-active,
.wap-badge-approved   { background: #d1fae5; color: #065f46; }
.wap-badge-rejected,
.wap-badge-banned     { background: #fee2e2; color: #991b1b; }
.wap-badge-paid       { background: #dbeafe; color: #1e3a8a; }
