/* Xtedder Archives — Custom Styles */

:root {
    --brand: #00B485;
    --brand-dark: #009c73;
    --brand-light: #e6f9f4;
}

/* ── Brand utilities ─────────────────────────────── */
.brand-bg         { background-color: var(--brand) !important; }
.brand-text       { color: var(--brand) !important; }
.btn-brand        { background-color: var(--brand); color: #fff; border-color: var(--brand); }
.btn-brand:hover  { background-color: var(--brand-dark); border-color: var(--brand-dark); color: #fff; }
.btn-brand:focus  { box-shadow: 0 0 0 .2rem rgba(0,180,133,.4); }
.btn-outline-brand         { border-color: var(--brand); color: var(--brand); }
.btn-outline-brand:hover   { background-color: var(--brand); color: #fff; }
.nav-tabs .nav-link.active { border-bottom-color: var(--brand); color: var(--brand); font-weight: 600; }
.nav-tabs .nav-link:hover  { color: var(--brand-dark); }

/* ── Login ───────────────────────────────────────── */
.login-page { background: linear-gradient(135deg, #f0faf7 0%, #e6f9f4 100%); }
.login-logo { max-height: 64px; max-width: 180px; }
.login-page .card { border-radius: 12px; }

/* ── Navbar ──────────────────────────────────────── */
.navbar { box-shadow: 0 2px 6px rgba(0,0,0,.15); }

/* ── Tables ──────────────────────────────────────── */
.table th { white-space: nowrap; }
.table td { vertical-align: middle; }
.table-sm td, .table-sm th { font-size: .875rem; }

/* Password cell */
.pwd-cell { font-family: monospace; letter-spacing: .05em; }
.pwd-masked { color: #999; letter-spacing: .1em; }
.btn-icon { padding: 2px 6px; font-size: .8rem; }

/* ── Strength meter ──────────────────────────────── */
.strength-bar { height: 6px; border-radius: 3px; transition: width .3s; }
.strength-0  { background-color: #dc3545; }
.strength-1  { background-color: #fd7e14; }
.strength-2  { background-color: #ffc107; }
.strength-3  { background-color: #198754; }
.strength-4  { background-color: var(--brand); }

/* ── Modals ──────────────────────────────────────── */
.modal-header { border-bottom: none; }

/* ── Manage lists (types/categories) ────────────── */
.list-group-item .edit-inline { display: none; }
.list-group-item.editing .view-inline  { display: none; }
.list-group-item.editing .edit-inline  { display: flex; }

/* ── DataTables overrides ────────────────────────── */
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    border-radius: 6px;
    border: 1px solid #dee2e6;
    padding: 4px 8px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--brand-light);
    border-color: var(--brand);
    color: var(--brand) !important;
}

/* ── Action badges ───────────────────────────────── */
.badge-action {
    font-size: .7rem;
    font-weight: 600;
    padding: 3px 7px;
    border-radius: 4px;
}
.action-LOGIN    { background:#d1ecf1; color:#0c5460; }
.action-LOGOUT   { background:#e2e3e5; color:#383d41; }
.action-CREATE   { background:#d4edda; color:#155724; }
.action-UPDATE   { background:#fff3cd; color:#856404; }
.action-DELETE   { background:#f8d7da; color:#721c24; }
.action-VIEW_PWD { background:#e8d5f0; color:#6f42c1; }
.action-EXPORT   { background:#cce5ff; color:#004085; }
.action-LOGIN_LOCKED { background:#f8d7da; color:#721c24; }

/* ── Toast ───────────────────────────────────────── */
.toast.bg-success { background-color: var(--brand) !important; }

/* ── Responsive ──────────────────────────────────── */
@media (max-width: 768px) {
    .dataTables_wrapper .dataTables_filter { float: none; text-align: left; }
    .table-responsive { font-size: .8rem; }
}
