:root {
    color-scheme: dark;
    --bg-dark: #080a09;
    --panel-dark: #0f1310;
    --card-dark: #0c0f0d;
    --muted-text: #858e87;
    --primary-accent: #79e89e;
    --soft-border: #252b26;
    --control-bg: #0a0d0b;
    --input-text: #eef2ee;
    --field-border: #303832;
    --pagination-bg: transparent;
    --pagination-active-bg: rgba(121, 232, 158, .11);
    --pagination-active-color: #79e89e;
    --pagination-color: #9aa39c;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg-dark); }
body.theme-dark { min-width: 320px; min-height: 100vh; margin: 0; background: var(--bg-dark); color: #d9ded9; font: 12px/1.5 ui-monospace, "Cascadia Code", Consolas, monospace; }
a { color: inherit; }
.navbar { min-height: 52px; padding: 0 20px; display: flex; align-items: center; border-bottom: 1px solid var(--soft-border) !important; }
.navbar-brand { color: #f0f3ef !important; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.container-fluid { width: 100%; }
.container { width: min(1380px, calc(100% - 32px)); margin: 0 auto; }
.py-4 { padding-top: 18px; padding-bottom: 36px; }
.mb-0 { margin-bottom: 0; }
.mb-3 { margin-bottom: 14px; }
.mt-2 { margin-top: 9px; }
.mt-4 { margin-top: 20px; }
.search-panel { padding: 13px !important; border: 1px solid var(--soft-border) !important; border-radius: 9px !important; background: var(--panel-dark) !important; }
.search-panel form { display: grid; grid-template-columns: minmax(190px, 1.4fr) repeat(7, minmax(115px, auto)); gap: 8px; align-items: center; }
.search-panel .col-12, .search-panel .results-inline, .search-mode-hint { grid-column: 1 / -1; }
.form-control, .form-select { width: 100%; min-width: 0; height: 38px; padding: 0 11px !important; border: 1px solid var(--field-border) !important; border-radius: 6px !important; background: var(--control-bg) !important; color: var(--input-text) !important; font: inherit; outline: 0; }
.form-control:focus, .form-select:focus { border-color: #587061 !important; box-shadow: 0 0 0 2px rgba(121, 232, 158, .08) !important; }
.form-control::placeholder { color: #626b64 !important; }
.d-flex { display: flex; }
.align-items-center { align-items: center; }
.justify-content-start { justify-content: flex-start; flex-wrap: wrap; }
.justify-content-between { justify-content: space-between; }
.gap-2 { gap: 8px; }
.text-end { text-align: right; }
.text-muted { color: var(--muted-text) !important; }
.small, small { font-size: 10px; }
.results-inline { color: #737d75 !important; font-size: 9px !important; letter-spacing: .04em; text-align: left !important; }
.search-mode-hint { min-height: 17px; color: #7f8981; font-size: 9px; line-height: 1.45; }
.search-mode-hint span[hidden] { display: none; }
.btn, .return-rockstar { min-height: 36px; margin: 0 !important; padding: 0 12px !important; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--field-border) !important; border-radius: 6px !important; background: #141915 !important; color: #bdc5bf !important; font-family: inherit; font-size: 10px; font-weight: 700; line-height: 1; text-decoration: none; cursor: pointer; }
.btn-primary { border-color: #54705c !important; background: var(--primary-accent) !important; color: #071009 !important; }
.btn:hover, .return-rockstar:hover { border-color: #5c6b60 !important; color: #fff !important; box-shadow: none !important; }
.h5 { margin: 0; color: #f0f3ef; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.pagination { margin: 0; padding: 0 !important; display: flex; gap: 3px; list-style: none; }
.page-link { min-width: 31px; height: 31px; padding: 0 8px; display: grid; place-items: center; border: 1px solid transparent !important; border-radius: 5px !important; color: var(--pagination-color) !important; background: transparent !important; font-size: 9px; text-decoration: none; }
.page-link:hover { border-color: var(--soft-border) !important; }
.page-item.active .page-link { border-color: #3b5543 !important; background: var(--pagination-active-bg) !important; color: var(--pagination-active-color) !important; }
.page-item.disabled { opacity: .35; pointer-events: none; }
main > .row.g-3 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.card { height: 100%; overflow: hidden; border: 1px solid var(--soft-border) !important; border-radius: 8px; background: var(--card-dark) !important; box-shadow: none !important; transition: border-color .12s ease, transform .12s ease; }
.card:hover { transform: translateY(-2px) !important; border-color: #39423b !important; }
.card-link { display: flex !important; flex-direction: column; height: 100%; text-decoration: none; }
.job-image { width: 100%; height: auto !important; aspect-ratio: 16 / 9; display: block; object-fit: cover; background: #111512 !important; }
.card-body { padding: 12px !important; }
.card-title { min-height: 36px; color: #edf1ed !important; font-size: 12px !important; font-weight: 700 !important; line-height: 1.45; }
.meta-line { margin-top: 9px !important; display: flex; flex-wrap: wrap; gap: 4px !important; }
.meta-item { padding: 3px 5px !important; border: 1px solid #202521 !important; border-radius: 4px !important; background: #111512 !important; color: #788179 !important; font-size: 8px !important; }
.job-description { margin-top: 8px; display: -webkit-box; overflow: hidden; color: #98a199; font-size: 9px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.job-tags { margin-top: 7px; display: flex; flex-wrap: wrap; gap: 4px; }
.job-tags span { padding: 2px 5px; border-radius: 4px; background: rgba(121, 232, 158, .07); color: #789682; font-size: 8px; }
.card-footer { margin-top: auto; padding: 0 12px 11px !important; display: flex; border: 0 !important; }
.alert { padding: 14px; border: 1px solid #4b432a; border-radius: 7px; background: #17150e; color: #cabd8f; }
body.is-embedded .navbar { display: none; }

@media (max-width: 1050px) {
    main > .row.g-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .search-panel form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .container { width: min(100% - 20px, 1380px); }
    main > .row.g-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .search-panel form { grid-template-columns: 1fr 1fr; }
    .search-panel .col-md-3 { grid-column: span 1; }
}
@media (max-width: 480px) {
    main > .row.g-3, .search-panel form { grid-template-columns: 1fr; }
    .search-panel .col-md-3 { grid-column: auto; }
    main > .d-flex.justify-content-between { align-items: flex-start; gap: 10px; }
    .pagination .page-item:not(:first-child):not(:last-child) { display: none; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
