/* Overlay on the legacy Atlantis theme (assets/css). Brand colours match the old LIS header. */
:root { --font:'Martel Sans', sans-serif; --brand-dark:#39090b; --brand:#ae0c0c; --line:#ebedf2; --muted:#8d9498; }

.lis-brand { background:var(--brand-dark) !important; }
.lis-navbar { background:linear-gradient(90deg, #39090b -3.24%, #ae0c0c 105.08%) !important; }
.lis-navbar .profile-username, .lis-navbar .profile-username .op-7, .lis-navbar .profile-username .fw-bold { color:#fff !important; }
.lis-navbar .profile-username .op-7 { opacity:.75; }
.nav-toggle .toggle-sidebar { color:#fff !important; }
.role-select { min-width:150px; }
.role-chip { margin-right:12px; padding:3px 12px; font-size:.8rem; background:rgba(255,255,255,.18); border-radius:12px; }
.dropdown-user form .dropdown-item { background:none; border:0; width:100%; text-align:left; cursor:pointer; }

/* Pages without the shell (login, forced password change) */
.plain-page { min-height:100vh; background:#f0f2f5; }
.plain-bar { background:var(--brand-dark); text-align:right; padding:6px 12px; }
.login-card { max-width:380px; margin:64px auto; padding:28px; background:#fff; border-radius:6px; box-shadow:0 1px 6px rgba(0,0,0,.12); }
.login-card h1 { margin-top:0; font-size:1.4rem; color:var(--brand-dark); }
.login-card label { display:block; margin-top:14px; color:#575962; font-size:.85rem; font-weight:600; }
.login-card input { display:block; width:100%; padding:.6rem 1rem; font-size:.9rem; border:1px solid #ebedf2; border-radius:3px; }
.login-card input:focus { outline:0; border-color:var(--brand); }
.login-card button { margin-top:20px; width:100%; }

/* Page content: plain markup in the admin/lead pages picks up Atlantis control styling */
.page-inner h1 { font-size:1.4rem; font-weight:700; color:#575962; margin-bottom:1rem; }
.page-inner h2 { font-size:1.1rem; font-weight:700; color:#575962; margin:1.2rem 0 .6rem; }
.page-inner a { color:var(--brand); }
.page-inner table { width:100%; border-collapse:collapse; margin:12px 0; font-size:.85rem; }
.page-inner th { text-align:left; padding:10px 8px; border-bottom:2px solid var(--line); color:#575962; font-weight:700; white-space:nowrap; }
.page-inner td { padding:8px; border-bottom:1px solid var(--line); vertical-align:top; }
.page-inner tbody tr:hover { background:#fafafa; }
.table-wrap { overflow-x:auto; }

.toolbar, .filters { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:12px 0; }
.page-inner input:not([type=checkbox]):not([type=radio]), .page-inner select {
    padding:.45rem .75rem; font-size:.85rem; color:#495057; background:#fff; border:1px solid #ebedf2; border-radius:3px; }
.page-inner input:focus, .page-inner select:focus { outline:0; border-color:var(--brand); }
.page-inner button[type=submit], a.btn, .login-card button {
    display:inline-block; padding:.55rem 1.2rem; font-size:.85rem; font-weight:600; color:#fff !important; background:var(--brand);
    border:1px solid var(--brand); border-radius:3px; cursor:pointer; text-decoration:none; }
.page-inner button[type=submit]:hover, a.btn:hover, .login-card button:hover { background:var(--brand-dark); border-color:var(--brand-dark); }
button.link { background:none !important; border:0 !important; color:var(--brand) !important; padding:0 !important; font-weight:400 !important; cursor:pointer; }

.form { max-width:560px; }
.form label { display:block; margin-top:12px; color:#575962; font-size:.85rem; font-weight:600; }
.form label input:not([type=checkbox]):not([type=radio]), .form label select { display:block; width:100%; margin-top:3px; }
.form label.check, .check { display:inline-flex; align-items:center; gap:6px; font-weight:400; color:#575962; }
.form fieldset { margin-top:16px; padding:8px 14px 12px; border:1px solid var(--line); border-radius:4px; }
.form legend { font-size:.85rem; font-weight:700; width:auto; padding:0 6px; }
.role-row { display:flex; justify-content:space-between; padding:2px 0; }

.alert { margin:8px 0; padding:8px 12px; border:1px solid #f25961; color:#c0392b; background:#fdf0f0; border-radius:3px; }
.field-error { color:#c0392b; font-size:.8rem; }
.muted { color:var(--muted); font-size:.8rem; }
.ok { color:#31ce36; }
.pager { display:flex; gap:12px; align-items:center; margin:12px 0; }
.kv { display:grid; grid-template-columns:150px 1fr; gap:4px 12px; margin:0 0 8px; font-size:.88rem; }
.kv dt { color:var(--muted); font-weight:600; }
.kv dd { margin:0; word-break:break-word; }
.form textarea { display:block; width:100%; margin-top:3px; padding:.45rem .75rem; font-size:.85rem; border:1px solid #ebedf2; border-radius:3px; }
.stat-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:12px; margin:8px 0 16px; }
.stat { display:flex; flex-direction:column; padding:14px 16px; background:#fff; border:1px solid var(--line); border-radius:4px; text-decoration:none; color:inherit; }
a.stat:hover { border-color:var(--brand); }
.stat-n { font-size:1.8rem; font-weight:700; color:var(--brand-dark); line-height:1.1; }
.stat-l { color:var(--muted); font-size:.82rem; }
td.num { text-align:right; width:80px; font-variant-numeric:tabular-nums; }
.form-wide { max-width:none; }
.contact-link { margin-left:10px; font-size:.8rem; white-space:nowrap; }
.owner-input { width:90px; margin:0 10px; }

/* Martel Sans everywhere. Set on the page and on the elements the theme gives their own font; icon elements are never listed,
   so their icon fonts (.fa, .la, .icon-*, .flaticon-*) keep working. */
html, body { font-family:var(--font); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, p, label, th, td, small, strong, input, select, textarea, button, .btn, .form-control,
.navbar, .sidebar, .sidebar .nav-item a p, .card, .card-title, .table, .dropdown-menu, .dropdown-item, .alert, .pager { font-family:var(--font) !important; }

/* Reports: print-friendly page. */
.print-only { display:none; }
.total-row td { font-weight:700; background:#f6f7fb; }
@media print {
    .sidebar, .main-header, .no-print, .filters, footer { display:none !important; }
    .main-panel { width:100% !important; margin:0 !important; float:none !important; }
    .print-only { display:block; }
    .card { box-shadow:none !important; border:0 !important; }
    table { font-size:11px; }
}
