/* Some Plus Bulk Manager — Admin Styles */

:root {
    --spbm-primary: #2271b1;
    --spbm-danger: #d63638;
    --spbm-success: #00a32a;
    --spbm-warning: #dba617;
    --spbm-border: #c3c4c7;
    --spbm-bg: #f6f7f7;
}

.spbm-wrap { max-width: 1200px; }

/* Dashboard cards */
.spbm-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
    margin: 20px 0;
}
.spbm-card {
    background: #fff;
    border: 1px solid var(--spbm-border);
    border-radius: 4px;
    padding: 16px 20px;
    text-decoration: none;
    color: inherit;
    display: block;
    transition: box-shadow 0.15s;
}
.spbm-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.12); color: inherit; }
.spbm-card__count { font-size: 2em; font-weight: 600; color: var(--spbm-primary); line-height: 1; }
.spbm-card__label { font-size: 13px; color: #646970; margin-top: 4px; }
.spbm-card--warning .spbm-card__count { color: var(--spbm-warning); }

/* Module pages */
.spbm-module-header { border-bottom: 1px solid var(--spbm-border); padding-bottom: 12px; margin-bottom: 20px; }
.spbm-filters { background: #fff; border: 1px solid var(--spbm-border); padding: 16px 20px; border-radius: 4px; margin-bottom: 16px; }
.spbm-filters label { display: inline-block; margin-right: 16px; }
.spbm-filters select, .spbm-filters input[type="number"] { margin-left: 6px; }

/* Preview area */
.spbm-preview { background: #fff; border: 1px solid var(--spbm-border); border-radius: 4px; padding: 16px; margin: 16px 0; display: none; }
.spbm-preview.is-visible { display: block; }
.spbm-preview__summary { font-size: 15px; margin-bottom: 12px; }
.spbm-preview__summary strong { color: var(--spbm-primary); }
.spbm-preview__items { max-height: 250px; overflow-y: auto; }

/* Risk level warnings in preview */
.spbm-preview__warning { 
    margin: 12px 0; 
    padding: 12px 16px; 
    border-radius: 4px; 
    border-left: 4px solid;
    font-size: 14px;
}
.spbm-preview__warning--high {
    background: #fcf0f1;
    border-left-color: var(--spbm-danger);
    color: #8a2424;
}
.spbm-preview__warning--medium {
    background: #fcf9e8;
    border-left-color: var(--spbm-warning);
    color: #785600;
}

/* Action buttons */
.spbm-actions { margin: 16px 0; display: flex; gap: 10px; align-items: center; }
.spbm-btn { padding: 6px 14px; border-radius: 3px; cursor: pointer; font-size: 13px; border: 1px solid; }
.spbm-btn--preview { background: #f6f7f7; border-color: var(--spbm-border); color: #2c3338; }
.spbm-btn--execute { background: var(--spbm-danger); border-color: #a42123; color: #fff; display: none; }
.spbm-btn--execute.is-visible { display: inline-block; }
.spbm-btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* Progress & status */
.spbm-progress { display: none; align-items: center; gap: 10px; }
.spbm-progress.is-visible { display: flex; }
.spbm-spinner { display: inline-block; width: 16px; height: 16px; border: 2px solid var(--spbm-border); border-top-color: var(--spbm-primary); border-radius: 50%; animation: spbm-spin 0.6s linear infinite; }
@keyframes spbm-spin { to { transform: rotate(360deg); } }

.spbm-notice { padding: 10px 14px; border-radius: 3px; margin: 12px 0; display: none; }
.spbm-notice.is-visible { display: block; }
.spbm-notice--success { background: #edfaef; border-left: 4px solid var(--spbm-success); }
.spbm-notice--error   { background: #fde8e8; border-left: 4px solid var(--spbm-danger); }

/* Operation log */
.spbm-log { margin-top: 30px; }
.spbm-log table { border-collapse: collapse; width: 100%; }
.spbm-log th, .spbm-log td { text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--spbm-border); font-size: 13px; }
.spbm-log th { background: var(--spbm-bg); }
