@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap
}

:root {
    --bg: #f8f9f6;
    --paper: #fff;
    --ink: #253c33;
    --muted: #7b847d;
    --green: #285c49;
    --green-dark: #204b3d;
    --pale: #eaf0e8;
    --line: #e5e9e2;
    --sand: #f1e9d7;
    --radius: 13px;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    color: var(--ink);
    background: var(--bg);
    font-synthesis: none
}

* {
    box-sizing: border-box
}

body {
    margin: 0
}

button,
input,
select,
textarea {
    font: inherit
}

button,
a,
input,
select,
textarea {
    -webkit-tap-highlight-color: transparent
}

button {
    cursor: pointer;
    color: inherit
}

button:disabled {
    opacity: .55;
    cursor: wait
}

a {
    color: inherit;
    text-decoration: none
}

button {
    border: 0;
    background: none
}

input,
textarea,
select {
    color: var(--ink)
}

:focus-visible {
    outline: 3px solid #b4cb91;
    outline-offset: 3px
}

.icon {
    width: 19px;
    height: 19px;
    flex-shrink: 0;
    vertical-align: middle
}

#app {
    min-height: 100vh
}

.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 240px;
    background: #fcfdfb;
    border-right: 1px solid var(--line);
    padding: 35px 22px 0;
    display: flex;
    flex-direction: column;
    z-index: 20
}

.brand {
    font-size: 34px;
    font-weight: 750;
    letter-spacing: -1.8px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #264d3c
}

.brand-period {
    color: #c7a777;
    margin-left: -8px
}

.brand-symbol {
    width: 29px;
    height: 31px;
    display: inline-flex;
    position: relative;
    font-family: 'Poppins', sans-serif;
    font-size: 43px;
    line-height: 30px;
    font-weight: 700;
    font-style: italic
}

.brand-symbol span {
    position: absolute;
    background: #d4b87b;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    top: 0;
    right: -1px
}

.workspace-label {
    font-size: 1rem;
    letter-spacing: 1.7px;
    margin: 15px 0 43px 4px;
    color: #929a90;
    font-weight: 650
}

.sidebar nav {
    display: flex;
    flex-direction: column;
    gap: 7px
}

.nav-item {
    display: flex;
    align-items: center;
    text-align: left;
    gap: 12px;
    padding: 13px 14px;
    border-radius: 8px;
    color: #6e7a70;
    font-size: 1rem;
    font-weight: 500;
    min-height: 45px
}

.nav-item .icon {
    width: 18px
}

.nav-item.active {
    background: #e9f0e7;
    color: #285c49;
    font-weight: 650
}

.nav-item:hover {
    background: #f0f3ed
}

.nav-count {
    margin-left: auto;
    background: #e2e9df;
    padding: 2px 6px;
    min-width: 20px;
    text-align: center;
    border-radius: 5px;
    font-size: 1rem;
    color: #55715d
}

.nav-divider {
    border-top: 1px solid var(--line);
    margin: 23px 9px 16px
}

.section-label {
    font-size: 1rem;
    letter-spacing: 1.3px;
    margin: 0 13px 6px;
    color: #93998f
}

.sidebar-bottom {
    margin-top: auto
}

.sidebar-note {
    padding: 23px 17px 22px;
    background: #f0f2e9;
    border: 1px solid #e6e9db;
    border-radius: 10px;
    margin: 44px 3px 26px;
    position: relative
}

.sidebar-note>.icon {
    display: block;
    margin-bottom: 16px;
    color: #5a7958;
    width: 26px;
    height: 26px
}

.sidebar-note strong {
    font-size: 1rem;
    font-weight: 600
}

.sidebar-note p {
    font-size: 1rem;
    line-height: 1.85;
    color: #89907f;
    margin: 9px 0 15px
}

.sidebar-note>span {
    font-size: 1rem;
    color: #697c57;
    display: flex;
    align-items: center;
    gap: 25px
}

.sidebar-note>span .icon {
    width: 15px
}

.profile {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 -22px;
    padding: 21px 17px;
    border-top: 1px solid var(--line)
}

.avatar {
    background: #ede7d8;
    color: #7c7155;
    border: 2px solid #fcfcfa;
    width: 37px;
    height: 37px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 650;
    flex-shrink: 0
}

.avatar.small {
    width: 32px;
    height: 32px;
    font-size: 1rem
}

.profile>div {
    min-width: 0;
    flex: 1
}

.profile strong {
    font-size: 1rem;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.profile small {
    font-size: 1rem;
    color: #92998e;
    display: block;
    margin-top: 4px
}

.profile .icon-btn {
    width: 25px;
    color: #939d92
}

.main {
    margin-left: 240px
}

.topbar {
    height: 83px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
    padding: 0 42px;
    background: #fffefa
}

.breadcrumb {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 1rem;
    color: #91988c
}

.breadcrumb .icon {
    width: 12px;
    color: #a5ada1
}

.breadcrumb strong {
    font-weight: 500;
    color: #53614f
}

.topbar-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    font-size: 1rem;
    color: #7e8979
}

.topbar-actions>.icon-btn {
    border-left: 1px solid var(--line);
    border-radius: 0;
    padding-left: 18px;
    width: 39px
}

.top-status {
    font-size: 1rem
}

.live-dot {
    width: 6px;
    height: 6px;
    background: #7e9e65;
    border-radius: 50%;
    margin-right: -11px
}

.demo-label {
    font-size: 1rem;
    letter-spacing: .3px;
    border: 1px solid #dedcc8;
    color: #887c50;
    padding: 5px 8px;
    border-radius: 5px;
    background: #faf7ed
}

.notification-btn {
    position: relative
}

.notification-btn i {
    position: absolute;
    right: 2px;
    top: 4px;
    width: 6px;
    height: 6px;
    background: #c19c61;
    border-radius: 50%
}

main#content {
    padding: 34px 42px 26px;
    max-width: 1550px;
    margin: auto
}

.hero {
    min-height: 292px;
    border: 1px solid #e5e8dc;
    display: flex;
    overflow: hidden;
    position: relative;
    border-radius: var(--radius);
    background: #edf0e5
}

.hero-copy {
    padding: 30px 34px;
    position: relative;
    z-index: 2;
    width: 67%
}

.eyebrow {
    font-size: 1rem;
    letter-spacing: 1.5px;
    font-weight: 650;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #63815d
}

.eyebrow>span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #759b61
}

.hero h1 {
    font: 400 clamp(33px, 3vw, 46px)/1.15 'Poppins', sans-serif;
    letter-spacing: -1.4px;
    margin: 18px 0 14px;
    color: #2c4d3b
}

.hero h1 em {
    font-style: italic;
    color: #71895c
}

.hero p {
    font-size: 1rem;
    line-height: 1.85;
    color: #7e8978;
    margin: 0
}

.hero-bottom {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 22px;
    font-size: 1rem;
    color: #8b9380;
    white-space: nowrap
}

.hero-bottom strong {
    color: #6c7a5f;
    font-weight: 500
}

.mini-avatars {
    display: flex;
    padding-left: 4px
}

.mini-avatars i {
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: #d7c9ac;
    color: #776546;
    font-style: normal;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #edf0e5;
    margin-left: -4px
}

.mini-avatars i:nth-child(2) {
    background: #c4d1c0;
    color: #4d6a4e
}

.mini-avatars i:nth-child(3) {
    background: #e6cfbd;
    color: #997959
}

.hero-art {
    width: 39%;
    position: absolute;
    inset: 0 0 0 auto;
    overflow: hidden;
    background: linear-gradient(130deg, #edf0e5, #ececdb)
}

.art-sun {
    position: absolute;
    top: 36px;
    left: 36%;
    width: 109px;
    height: 109px;
    border-radius: 50%;
    background: linear-gradient(150deg, #d5b779, #e2d09a)
}

.art-orbit {
    position: absolute;
    width: 238px;
    height: 238px;
    border: 1px solid #dce0ca;
    border-radius: 50%;
    top: 0;
    left: 13%
}

.orbit-two {
    width: 294px;
    height: 294px;
    top: -28px;
    left: 5%
}

.art-hill {
    position: absolute;
    border-radius: 50% 50% 0 0
}

.hill-back {
    width: 300px;
    height: 220px;
    background: #b2bb91;
    bottom: -78px;
    right: -35px;
    transform: rotate(-22deg)
}

.hill-middle {
    width: 310px;
    height: 170px;
    background: #829977;
    bottom: -68px;
    left: -45px;
    transform: rotate(28deg)
}

.hill-front {
    width: 330px;
    height: 160px;
    background: #4d7458;
    bottom: -95px;
    right: -63px;
    transform: rotate(-13deg)
}

.art-path {
    width: 100px;
    height: 170px;
    background: #e6dbaf;
    position: absolute;
    bottom: -113px;
    left: 29%;
    transform: rotate(-26deg);
    border-radius: 50% 15% 0 0;
    clip-path: polygon(41% 0, 56% 0, 100% 100%, 0 100%)
}

.art-caption {
    position: absolute;
    right: 24px;
    bottom: 19px;
    font-size: 1rem;
    color: #ecf0db;
    display: flex;
    gap: 10px;
    align-items: center;
    letter-spacing: .3px
}

.art-caption .icon {
    width: 13px
}

.art-star {
    position: absolute;
    color: #839269;
    font-size: 20px;
    z-index: 1
}

.star-one {
    top: 53px;
    left: 20%
}

.star-two {
    right: 27px;
    top: 99px;
    font-size: 27px
}

.search-panel {
    position: relative;
    background: white;
    border: 1px solid var(--line);
    border-radius: 9px;
    margin-top: 24px;
    padding: 8px 9px;
    box-shadow: 0 3px 12px #233c2c03
}

.search-row {
    display: flex;
    gap: 10px;
    align-items: center
}

.search-input {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 0 10px;
    flex: 1
}

.search-input .icon,
.location-input .icon {
    width: 18px;
    color: #8e9a87
}

input,
select,
textarea {
    min-width: 0
}

input::placeholder,
textarea::placeholder {
    color: #a0a69b
}

.search-input input {
    width: 100%;
    padding: 10px 0;
    background: transparent;
    border: 0;
    font-size: 1rem;
    outline-offset: 0
}

.location-input {
    display: flex;
    align-items: center;
    border-left: 1px solid var(--line);
    padding: 0 12px;
    gap: 8px;
    min-width: 210px
}

.location-input select {
    background: transparent;
    border: 0;
    max-width: 210px;
    font-size: 1rem;
    width: 100%;
    padding: 11px 0;
    color: #7a8673
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 39px;
    padding: 10px 17px;
    border: 1px solid #dde4d8;
    background: #fff;
    border-radius: 7px;
    font-size: 1rem;
    font-weight: 550;
    white-space: nowrap;
    transition: background .16s, transform .16s
}

.btn:hover {
    background: #f1f4ed
}

.btn.primary {
    background: var(--green);
    border-color: var(--green);
    color: #fff
}

.btn.primary:hover {
    background: #1c4939
}

.btn.primary .icon {
    width: 16px
}

.btn.light {
    background: #edf1e5;
    border-color: #edf1e5;
    color: #426345
}

.btn.small {
    padding: 7px 10px;
    min-height: 31px;
    font-size: 1rem
}

.btn.small .icon {
    width: 14px;
    height: 14px
}

.full {
    width: 100%
}

.icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    padding: 6px;
    width: 32px;
    height: 32px;
    color: #88917f
}

.icon-btn:hover {
    background: #edf1e7
}

.text-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 550;
    color: #4f7155;
    padding: 6px 0
}

.text-btn .icon {
    width: 16px
}

.theme-row {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 18px 0 36px;
    flex-wrap: wrap
}

.theme-label {
    font-size: 1rem;
    color: #929a88;
    padding-right: 5px
}

.theme-chip {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 1rem;
    color: #849079;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 8px 10px;
    white-space: nowrap
}

.theme-chip .icon {
    width: 12px;
    height: 12px
}

.theme-chip.selected {
    background: #e8eee3;
    color: #426442;
    border-color: #d8e2d0
}

.theme-chip:hover {
    border-color: #adc0a3
}

.section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px
}

.section-heading h2 {
    font-size: 19px;
    font-weight: 550;
    letter-spacing: -.5px;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px
}

.section-heading h2>span {
    font-size: 1rem;
    border: 1px solid #e1e8d9;
    background: #f0f3eb;
    border-radius: 5px;
    padding: 3px 7px;
    color: #849375;
    letter-spacing: 0
}

.section-heading p {
    font-size: 1rem;
    color: #969d90;
    margin: 8px 0 0
}

.section-heading>.text-btn {
    font-size: 1rem;
    gap: 7px
}

.section-heading>.text-btn .icon:last-child {
    width: 12px;
    margin-left: 5px
}

.results-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
    gap: 10px
}

.filter-group,
.sort-group {
    display: flex;
    align-items: center;
    gap: 9px
}

.filter-group label {
    display: flex;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 0 8px;
    background: #fff
}

.filter-group .icon {
    width: 13px;
    color: #96a08b
}

.filter-group select {
    font-size: 1rem;
    padding: 8px 5px;
    color: #7f8976;
    background: transparent;
    border: 0;
    max-width: 140px
}

.sort-group label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 1rem;
    color: #a0a795
}

.sort-group select {
    font-size: 1rem;
    border: 0;
    background: transparent;
    color: #69785c;
    padding: 4px 0;
    max-width: 125px
}

.layout-buttons {
    display: flex;
    gap: 2px;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 2px;
    background: white;
    margin-left: 7px
}

.layout-buttons .icon-btn {
    width: 25px;
    height: 25px
}

.layout-buttons .icon {
    width: 14px;
    height: 14px
}

.layout-buttons .selected {
    background: #edf1e6;
    color: #4f7050
}

.reset-filters {
    font-size: 1rem;
    text-decoration: underline;
    color: #859376
}

.hidden {
    display: none
}

.jobs-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px
}

.job-card {
    border: 1px solid #e3e8dd;
    border-radius: 10px;
    background: #fff;
    padding: 20px 20px 0;
    min-width: 0;
    transition: box-shadow .2s, border-color .2s, transform .2s
}

.job-card:hover {
    border-color: #c5d3bb;
    box-shadow: 0 6px 22px #31472508;
    transform: translateY(-2px)
}

.card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px
}

.company-mark {
    height: 43px;
    width: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size: 1rem;
    letter-spacing: -.5px;
    font-weight: 600;
    border-radius: 11px;
    background: #f2e8da;
    color: #887458
}

.mark-1 {
    background: #f0eee7;
    color: #2b3c35;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 22px
}

.mark-2 {
    background: #f1e5db;
    color: #a26f48;
    border-radius: 50% 50% 10px 10px
}

.mark-3 {
    background: #eee9f3;
    color: #827095;
    font-size: 1rem;
    letter-spacing: -1px
}

.mark-4 {
    background: #e5eddf;
    color: #718752
}

.mark-5 {
    background: #e5edf4;
    color: #627f9e
}

.mark-0 {
    background: #efe5dd;
    color: #ac7b54
}

.mark-dot {
    position: absolute;
    background: currentColor;
    opacity: .25;
    width: 7px;
    height: 7px;
    bottom: 6px;
    right: 6px;
    border-radius: 50%
}

.card-flags {
    display: flex;
    gap: 8px;
    align-items: center
}

.tag {
    font-size: 1rem;
    font-weight: 500;
    display: inline-flex;
    border-radius: 4px;
    padding: 5px 7px;
    background: #f3f4ef;
    color: #8a937e;
    line-height: 1.2
}

.tag.new {
    background: #f1f4e8;
    color: #809550;
    font-size: 1rem;
    padding: 4px 6px
}

.tag.theme-tag {
    background: #f3f1e9;
    color: #9b957b
}

.tag.ai-tag {
    background: #eeeaf5;
    color: #8b77a7
}

.tag.warning {
    background: #f8eedc;
    color: #a28754
}

.tag.muted {
    background: #eeeeeb;
    color: #93968e
}

.save-btn {
    color: #a8b09f;
    display: flex;
    padding: 3px
}

.save-btn .icon {
    width: 17px;
    height: 17px
}

.save-btn.saved {
    color: #738e5e
}

.save-btn.saved .icon {
    fill: #e6eddf
}

.card-company {
    font-size: 1rem;
    color: #909984;
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 8px
}

.verified {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #849b78;
    border: 1px solid #a4b798;
    border-radius: 50%;
    width: 9px;
    height: 9px
}

.verified .icon {
    width: 7px;
    height: 7px;
    stroke-width: 2
}

.job-card h3 {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -.35px;
    margin: 0 0 11px;
    min-height: 19px;
    line-height: 1.4
}

.job-card h3 button {
    text-align: left;
    padding: 0;
    font-weight: 600
}

.job-card h3 button:hover {
    color: #719559
}

.card-location {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 1rem;
    color: #99a08e;
    margin-bottom: 14px;
    flex-wrap: wrap
}

.card-location .icon {
    width: 12px;
    height: 12px;
    color: #9da88f
}

.card-location>span {
    padding: 0 2px
}

.card-tags {
    display: flex;
    gap: 5px;
    flex-wrap: wrap
}

.card-salary {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 1rem;
    color: #87927a;
    margin: 16px 0 18px
}

.card-salary .icon {
    width: 13px;
    height: 13px;
    color: #98a58b
}

.card-bottom {
    border-top: 1px solid #edf0e8;
    padding: 14px 0 15px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.card-bottom>span {
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 5px;
    color: #a3aa99
}

.card-bottom>span .icon {
    width: 11px;
    height: 11px
}

.card-bottom button {
    display: flex;
    gap: 7px;
    align-items: center;
    padding: 0;
    font-size: 1rem;
    color: #638052;
    font-weight: 550
}

.card-bottom button .icon {
    width: 13px;
    height: 13px
}

.list-view {
    grid-template-columns: 1fr
}

.list-view .job-card {
    display: grid;
    grid-template-columns: 55px 1.4fr 1fr;
    gap: 5px 18px;
    padding: 18px;
    align-items: center
}

.list-view .card-top {
    grid-row: 1/5;
    margin: 0;
    align-items: flex-start;
    flex-direction: column;
    gap: 8px
}

.list-view .card-company,
.list-view h3,
.list-view .card-location {
    margin: 0
}

.list-view .card-company {
    grid-column: 2;
    grid-row: 1
}

.list-view h3 {
    grid-column: 2;
    grid-row: 2
}

.list-view .card-location {
    grid-column: 2;
    grid-row: 3
}

.list-view .card-tags {
    grid-column: 3;
    grid-row: 1
}

.list-view .card-salary {
    grid-column: 3;
    grid-row: 2;
    margin: 0
}

.list-view .card-bottom {
    grid-column: 3;
    grid-row: 3;
    padding: 6px 0 0;
    border: 0
}

.demo-footnote {
    font-size: 1rem;
    color: #a4a895;
    margin: 18px 0 0;
    text-align: center
}

.bottom-banner {
    background: #eef2e9;
    border: 1px solid #e4e9db;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 23px 26px;
    margin-top: 29px;
    gap: 15px
}

.bottom-banner>div {
    display: flex;
    align-items: center;
    gap: 18px
}

.bottom-banner>div>.icon {
    width: 31px;
    height: 31px;
    color: #6f885f
}

.bottom-banner h3 {
    font: 400 21px 'Poppins', sans-serif;
    letter-spacing: -.3px;
    margin: 0 0 6px;
    color: #4a6544
}

.bottom-banner p {
    font-size: 1rem;
    color: #909c82;
    margin: 0
}

.bottom-banner .btn {
    font-size: 1rem
}

.bottom-banner .btn .icon {
    width: 15px
}

footer {
    max-width: 1550px;
    margin: 6px auto 0;
    padding: 20px 42px 27px;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    color: #a8af9d;
    font-size: 1rem
}

footer>span:first-child {
    font-size: 1rem;
    letter-spacing: -.4px;
    font-weight: 650;
    color: #8a9981
}

.footer-note {
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0;
    padding-left: 12px;
    color: #adb3a3
}

footer>span:last-child {
    display: flex;
    align-items: center;
    gap: 10px
}

footer .icon {
    width: 12px;
    height: 12px
}

.page-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 20px 0 33px
}

.page-heading h1 {
    font: 400 35px/1.2 'Poppins', sans-serif;
    letter-spacing: -1px;
    margin: 16px 0 12px;
    color: #34543d
}

.page-heading p {
    font-size: 1rem;
    line-height: 1.8;
    color: #929b88;
    margin: 0
}

.empty-state {
    grid-column: 1/-1;
    text-align: center;
    padding: 55px 25px;
    background: #fff;
    border: 1px dashed #dbe4d3;
    border-radius: 12px;
    width: 100%
}

.empty-state>span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f0f4ea;
    width: 55px;
    height: 55px;
    margin-bottom: 6px;
    color: #7e976d
}

.empty-state h3 {
    font: 400 24px 'Poppins', sans-serif;
    color: #56744b;
    margin: 15px 0 10px
}

.empty-state p {
    font-size: 1rem;
    line-height: 1.9;
    color: #929b87;
    max-width: 500px;
    margin: 0 auto 20px
}

.empty-state .btn {
    margin-top: 5px
}

.board-summary {
    display: flex;
    justify-content: space-between;
    font-size: 1rem;
    color: #929d87;
    margin-bottom: 20px;
    gap: 15px
}

.board-summary>span:last-child {
    display: flex;
    align-items: center;
    gap: 6px
}

.board-summary .icon {
    width: 14px
}

.kanban {
    display: grid;
    grid-template-columns: repeat(5, minmax(195px, 1fr));
    gap: 13px;
    overflow-x: auto;
    padding-bottom: 20px;
    align-items: start;
    min-height: 440px
}

.kanban-column {
    background: #eef1ea;
    border: 1px solid #e6eade;
    border-radius: 10px;
    padding: 14px 10px;
    min-height: 390px;
    transition: background .2s
}

.column-heading {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 2px 4px 19px
}

.column-heading h2 {
    font-size: 1rem;
    font-weight: 550;
    margin: 0
}

.column-heading>span:last-child {
    margin-left: auto;
    font-size: 1rem;
    border-radius: 4px;
    padding: 2px 5px;
    background: #e3e9da;
    color: #829573
}

.stage-dot {
    width: 6px;
    height: 6px;
    background: #a4b28c;
    border-radius: 50%
}

.stage-sent .stage-dot {
    background: #8ba8bb
}

.stage-interview .stage-dot {
    background: #c3a16b
}

.stage-offer .stage-dot {
    background: #719465
}

.stage-closed .stage-dot {
    background: #a2a29b
}

.application-card {
    background: white;
    border: 1px solid #e2e7da;
    box-shadow: 0 2px 3px #33462703;
    border-radius: 8px;
    padding: 18px 13px 12px;
    margin-bottom: 12px;
    cursor: grab;
    position: relative
}

.application-card.dragging {
    opacity: .4
}

.drag-over {
    background: #e0ebd5;
    border-color: #91ae7d
}

.drag-grip {
    position: absolute;
    right: 9px;
    top: 8px;
    color: #c4cebb;
    font-size: 18px;
    line-height: 10px
}

.application-company {
    font-size: 1rem;
    color: #91a080
}

.application-card h3 {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    margin: 10px 0
}

.application-card h3 button {
    text-align: left;
    padding: 0
}

.application-card>p {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 1rem;
    color: #9ba58e
}

.application-card>p .icon {
    width: 11px;
    height: 11px
}

.application-note {
    border-radius: 5px;
    background: #f7f8f3;
    padding: 9px;
    font-size: 1rem;
    color: #919c83;
    line-height: 1.6;
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 15px 0
}

.application-note .icon {
    width: 11px;
    height: 11px;
    margin-top: 2px
}

.stage-select {
    width: 100%;
    border: 1px solid #e6ebdf;
    border-radius: 4px;
    color: #7d916d;
    font-size: 1rem;
    padding: 7px;
    background: #fcfdf9;
    margin-top: 8px
}

.notes-btn {
    font-size: 1rem;
    margin-top: 8px;
    color: #94a183
}

.notes-btn .icon {
    width: 11px;
    height: 11px
}

.kanban-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    text-align: center;
    color: #adb7a0;
    padding: 32px 6px;
    border: 1px dashed #dbe3d1;
    border-radius: 7px;
    font-size: 1rem;
    line-height: 1.7
}

.kanban-empty .icon {
    width: 17px
}

.push-panel {
    display: flex;
    align-items: center;
    gap: 18px;
    background: #edf2e6;
    border: 1px solid #e0e8d5;
    padding: 25px;
    border-radius: 10px;
    margin-bottom: 25px
}

.push-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e1ead6;
    border: 1px solid #d6e2ca;
    color: #79966b;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    flex-shrink: 0
}

.push-panel>div {
    flex: 1
}

.push-panel h3 {
    font: 400 20px 'Poppins', sans-serif;
    margin: 0 0 9px;
    color: #5c774f
}

.push-panel p {
    font-size: 1rem;
    color: #94a086;
    line-height: 1.8;
    margin: 0
}

.alert-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 23px;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 13px
}

.alert-card-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f3e9;
    color: #95a47d
}

.alert-card>div:nth-child(2) {
    flex: 1
}

.alert-card h3 {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 7px
}

.alert-card p {
    font-size: 1rem;
    color: #91a07e;
    margin: 0 0 9px
}

.alert-meta {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 1rem;
    color: #a0ab94
}

.alert-meta .icon {
    width: 12px;
    height: 12px
}

.status-pill {
    display: inline-flex;
    align-items: center;
    font-size: 1rem;
    color: #759063;
    background: #edf4e7;
    padding: 5px 8px;
    border-radius: 5px;
    white-space: nowrap
}

.status-pill:before {
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    display: inline-block;
    margin-right: 5px
}

.status-pill.paused,
.status-archived,
.status-rejected {
    color: #a5a48f;
    background: #f1f1e9
}

.status-pending {
    background: #f9f1e2;
    color: #ab945f
}

.switch {
    width: 34px;
    height: 20px;
    background: #dce1d5;
    border: 0;
    border-radius: 20px;
    position: relative;
    flex-shrink: 0;
    transition: background .2s
}

.switch:after {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    position: absolute;
    top: 3px;
    left: 3px;
    background: white;
    box-shadow: 0 1px 2px #0001;
    transition: left .2s
}

.switch.on {
    background: #79966a
}

.switch.on:after {
    left: 17px
}

.admin-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 0 0 32px
}

.admin-stats>div {
    background: white;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 20px;
    position: relative
}

.admin-stats strong {
    display: block;
    font: 400 34px 'Poppins', sans-serif;
    margin-bottom: 10px;
    color: #587849
}

.admin-stats span {
    font-size: 1rem;
    color: #94a084
}

.admin-stats .icon {
    position: absolute;
    right: 20px;
    top: 23px;
    color: #a2b28f;
    width: 21px;
    height: 21px
}

.admin-tabs {
    display: flex;
    gap: 25px;
    border-bottom: 1px solid var(--line);
    margin-bottom: 24px
}

.admin-tabs button {
    font-size: 1rem;
    padding: 12px 3px 16px;
    color: #92a080;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px
}

.admin-tabs button.selected {
    color: #426f41;
    border-color: #6a925b;
    font-weight: 600
}

.admin-table {
    background: white;
    border: 1px solid var(--line);
    border-radius: 10px;
    overflow: hidden
}

.table-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px
}

.table-heading h2 {
    font-size: 1rem;
    font-weight: 550;
    margin: 0
}

.table-heading span {
    font-size: 1rem;
    color: #9ca88e
}

.table-scroll {
    overflow-x: auto
}

table {
    border-collapse: collapse;
    width: 100%;
    font-size: 1rem;
    text-align: left;
    white-space: nowrap
}

th {
    font-weight: 500;
    padding: 13px 20px;
    color: #95a085;
    background: #f6f8f2;
    border-top: 1px solid #eaf0e1;
    border-bottom: 1px solid #eaf0e1
}

td {
    padding: 18px 20px;
    border-bottom: 1px solid #eef1e8;
    color: #7e906c
}

tr:last-child td {
    border-bottom: 0
}

td strong {
    display: block;
    font-size: 1rem;
    font-weight: 550;
    color: #5a744b;
    margin-bottom: 6px
}

td>span:not(.tag):not(.status-pill) {
    font-size: 1rem;
    color: #a0ac90
}

.table-actions {
    display: flex;
    gap: 6px
}

.moderation-card {
    background: white;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 24px;
    margin-bottom: 17px
}

.moderation-heading {
    display: flex;
    align-items: center;
    gap: 10px
}

.moderation-heading>div {
    flex: 1
}

.moderation-heading strong {
    font-size: 1rem;
    display: block;
    margin-bottom: 6px
}

.moderation-heading>div>span {
    font-size: 1rem;
    color: #9ba88d
}

.moderation-card>p {
    color: #889a77;
    font-size: 1rem;
    line-height: 1.9;
    margin: 22px 0;
    white-space: pre-wrap
}

.moderation-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap
}

.report-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border-radius: 9px;
    background: #fbf0dc;
    color: #b29a62
}

.settings-card {
    background: white;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 27px;
    margin-bottom: 20px
}

.settings-card h2 {
    font-size: 1rem;
    font-weight: 550;
    margin: 0 0 23px
}

.settings-card>div {
    display: flex;
    align-items: center;
    gap: 30px
}

.settings-card strong {
    font-size: 1rem;
    font-weight: 550
}

.settings-card p {
    font-size: 1rem;
    line-height: 1.9;
    color: #94a186;
    max-width: 700px
}

.settings-card .switch {
    margin-left: auto
}

.settings-card code {
    font-size: 1rem;
    background: #f2f5eb;
    padding: 3px 6px;
    border-radius: 4px;
    overflow-wrap: anywhere
}

.modal {
    border: 1px solid #e2e8d9;
    border-radius: 16px;
    padding: 28px 30px;
    max-width: calc(100vw - 30px);
    width: 510px;
    max-height: 90vh;
    color: var(--ink);
    box-shadow: 0 20px 120px #192c2433
}

.modal::backdrop {
    background: #1e342b66;
    backdrop-filter: blur(3px)
}

.modal-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px
}

.modal-heading h2 {
    font: 400 25px/1.3 'Poppins', sans-serif;
    letter-spacing: -.5px;
    margin: 3px 0 14px;
    color: #42643e
}

.modal-heading .icon-btn {
    flex-shrink: 0;
    margin-top: -3px;
    margin-right: -9px
}

.modal-intro {
    font-size: 1rem;
    color: #98a28e;
    line-height: 1.9;
    margin: 0 0 23px
}

.modal form>label,
.form-grid>label {
    display: flex;
    flex-direction: column;
    font-size: 1rem;
    color: #7f936f;
    gap: 9px;
    margin: 17px 0
}

.modal label>span {
    color: #b0baa6;
    font-size: 1rem
}

.modal input:not([type="checkbox"]),
.modal select,
.modal textarea {
    background: #fbfcf8;
    border: 1px solid #e1e8d8;
    border-radius: 6px;
    padding: 11px 12px;
    min-height: 40px;
    width: 100%;
    font-size: 1rem
}

.modal textarea {
    resize: vertical;
    line-height: 1.8
}

.modal input:focus,
.modal select:focus,
.modal textarea:focus {
    outline: 2px solid #c5d6b6;
    outline-offset: 1px
}

.modal .checkbox-label {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    line-height: 1.8;
    font-size: 1rem;
    gap: 7px
}

.checkbox-label input {
    accent-color: var(--green);
    margin: 2px 0 0
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 17px
}

.subtle {
    font-size: 1rem;
    color: #a1ab95;
    line-height: 1.9
}

.form-error {
    font-size: 1rem;
    color: #b87358;
    line-height: 1.7;
    white-space: pre-wrap
}

.form-error:empty {
    display: none
}

.modal form>.btn[type="submit"] {
    margin-top: 12px
}

.google-btn {
    width: 100%;
    font-size: 1rem;
    padding: 12px
}

.google-g {
    font: 700 17px 'Poppins', sans-serif;
    color: #4977b0;
    margin-right: 7px
}

.google-disabled {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px;
    background: #f7f8f3;
    border: 1px solid #edf0e5;
    border-radius: 7px;
    color: #a5ad9b;
    font-size: 1rem;
    line-height: 1.6
}

.or-divider {
    display: flex;
    align-items: center;
    gap: 13px;
    font-size: 1rem;
    color: #b4bca8;
    margin: 25px 0 20px
}

.or-divider:after,
.or-divider:before {
    content: '';
    height: 1px;
    background: #edf0e6;
    flex: 1
}

.auth-switch {
    font-size: 1rem;
    color: #a4ac99;
    text-align: center;
    margin: 21px 0 0
}

.auth-switch .text-btn {
    font-size: 1rem;
    margin-left: 5px
}

.detail-modal,
.editor-modal {
    width: 720px
}

.detail-header {
    display: flex;
    align-items: center;
    gap: 19px;
    margin: 20px 0
}

.detail-header .company-mark {
    width: 60px;
    height: 60px;
    font-size: 23px
}

.detail-header>div {
    flex: 1
}

.detail-header>div>span {
    font-size: 1rem;
    color: #93a082
}

.detail-header h1 {
    font: 400 31px/1.2 'Poppins', sans-serif;
    letter-spacing: -.7px;
    margin: 7px 0 11px;
    color: #42673c
}

.detail-header p {
    font-size: 1rem;
    color: #9ba88e;
    display: flex;
    align-items: center;
    gap: 5px
}

.detail-header p .icon {
    width: 13px;
    height: 13px
}

.detail-tags {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--line)
}

.detail-tags .tag {
    font-size: 1rem;
    padding: 6px 8px
}

.detail-description {
    white-space: pre-wrap;
    font-size: 1rem;
    line-height: 1.95;
    color: #859675;
    padding: 22px 0 18px
}

.detail-cta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap
}

.detail-tools {
    display: flex;
    gap: 10px;
    border-bottom: 1px solid var(--line);
    padding: 9px 0 23px
}

.detail-tools .btn {
    border: 0;
    background: transparent;
    font-size: 1rem;
    padding: 7px 0;
    margin-right: 18px;
    color: #9ba98b
}

.detail-tools .icon {
    width: 14px
}

.comments-section {
    padding-top: 21px
}

.comments-section h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 550;
    margin: 0 0 20px
}

.comments-section h3 .icon {
    width: 17px;
    color: #8b9e77
}

.comment {
    background: #f7f9f2;
    border-radius: 8px;
    padding: 13px 15px;
    margin: 13px 0
}

.comment>div {
    display: flex;
    align-items: center;
    gap: 9px
}

.comment strong {
    font-size: 1rem;
    color: #8b9c78
}

.comment p {
    white-space: pre-wrap;
    font-size: 1rem;
    line-height: 1.8;
    color: #91a082;
    margin: 9px 0 0
}

.comment .avatar {
    width: 25px;
    height: 25px;
    font-size: 1rem
}

.comments-section form {
    margin-top: 26px
}

.comments-section form>label {
    font-size: 1rem;
    margin-bottom: 10px;
    color: #8b9b79
}

.comment-footer {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: center;
    margin-top: 9px
}

.comment-footer>span {
    font-size: 1rem;
    color: #aab59b
}

.form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 21px
}

.form-actions>.text-btn,
.form-actions>.btn:not(.primary) {
    font-size: 1rem;
    color: #a39274
}

.editor-publish {
    padding-top: 19px;
    margin-top: 22px;
    border-top: 1px solid var(--line)
}

.notification-item {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 18px 3px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    font-size: 1rem;
    color: #829773
}

.notification-item span {
    flex: 1
}

.notification-item .icon {
    width: 16px
}

.loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70vh;
    font: 400 38px 'Poppins', sans-serif;
    color: #547a48;
    flex-direction: column;
    gap: 20px
}

.loading span {
    font: 1rem Poppins, sans-serif;
    color: #a3b394
}

.setup-screen {
    max-width: 720px;
    margin: 8vh auto;
    padding: 30px
}

.setup-screen>.brand {
    margin-bottom: 50px
}

.setup-screen>.subtle {
    text-align: center
}

#toast {
    position: fixed;
    bottom: 27px;
    left: calc(50% + 100px);
    max-width: calc(100vw - 30px);
    transform: translate(-50%, 20px);
    opacity: 0;
    pointer-events: none;
    background: #294f3c;
    color: #f2f5e9;
    padding: 14px 22px;
    font-size: 1rem;
    line-height: 1.7;
    border-radius: 10px;
    z-index: 100;
    box-shadow: 0 8px 30px #193e2626;
    transition: opacity .2s, transform .2s
}

#toast.visible {
    opacity: 1;
    transform: translate(-50%, 0)
}

@media(min-width:1600px) {
    main#content {
        padding: 44px 65px
    }

    .topbar {
        padding: 0 65px
    }

    .hero {
        min-height: 320px
    }

    .hero-copy {
        padding: 37px 40px
    }

    .hero h1 {
        font-size: 49px
    }

    .hero p {
        font-size: 1rem
    }

    .hero-bottom {
        margin-top: 27px
    }

    .hero-art {
        width: 39%
    }

    .hill-back {
        width: 400px;
        height: 250px
    }

    .hill-middle {
        width: 400px;
        height: 220px
    }

    .hill-front {
        width: 400px;
        height: 190px
    }

    .art-sun {
        width: 130px;
        height: 130px
    }

    .theme-chip {
        font-size: 1rem;
        padding: 9px 13px
    }

    .job-card {
        padding: 23px 23px 0
    }

    .job-card h3 {
        font-size: 16px
    }

    .card-location,
    .card-salary {
        font-size: 1rem
    }

    .card-company {
        font-size: 1rem
    }

    .tag {
        font-size: 1rem
    }

    .card-bottom>span {
        font-size: 1rem
    }

    .card-bottom button {
        font-size: 1rem
    }
}

@media(max-width:1200px) {
    .sidebar {
        width: 210px;
        padding-left: 16px;
        padding-right: 16px
    }

    .profile {
        margin: 0 -16px;
        padding: 20px 12px
    }

    .brand {
        font-size: 31px
    }

    .workspace-label {
        font-size: 1rem;
        letter-spacing: 1.5px
    }

    .main {
        margin-left: 210px
    }

    .topbar {
        padding: 0 28px
    }

    main#content {
        padding: 28px
    }

    .hero-copy {
        padding: 28px
    }

    .hero h1 {
        font-size: 36px
    }

    .hero-bottom {
        font-size: 1rem
    }

    .theme-row {
        gap: 6px
    }

    .theme-chip {
        font-size: 1rem;
        padding: 7px 8px
    }

    .theme-label {
        display: none
    }

    .jobs-grid {
        gap: 12px
    }

    .job-card {
        padding: 16px 15px 0
    }

    .job-card h3 {
        font-size: 1rem
    }

    .section-heading h2 {
        font-size: 17px
    }

    .location-input {
        min-width: 180px
    }

    .hero-art {
        width: 36%
    }

    .admin-stats {
        gap: 10px
    }

    .admin-stats>div {
        padding: 18px 14px
    }

    .admin-stats .icon {
        right: 12px
    }

    .bottom-banner {
        padding: 20px
    }

    .bottom-banner h3 {
        font-size: 18px
    }
}

@media(max-width:1000px) {
    .jobs-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .sidebar {
        width: 195px;
        padding-left: 12px;
        padding-right: 12px
    }

    .profile {
        margin: 0 -12px;
        padding: 18px 8px
    }

    .brand {
        font-size: 29px
    }

    .nav-item {
        font-size: 1rem;
        gap: 9px;
        padding-left: 10px;
        padding-right: 10px
    }

    .main {
        margin-left: 195px
    }

    .workspace-label {
        font-size: 1rem
    }

    .sidebar-note {
        padding: 18px 12px
    }

    .sidebar-note strong {
        font-size: 1rem
    }

    .top-status,
    .live-dot {
        display: none
    }

    main#content {
        padding: 24px
    }

    .hero-copy {
        width: 77%;
        padding: 26px
    }

    .hero h1 {
        font-size: 34px
    }

    .hero p {
        font-size: 1rem
    }

    .hero-art {
        width: 34%;
        opacity: .85
    }

    .hero-bottom {
        font-size: 1rem
    }

    .hero-bottom strong {
        display: block;
        margin-top: 3px
    }

    .search-row {
        flex-wrap: wrap;
        gap: 5px
    }

    .search-input {
        flex-basis: 50%
    }

    .location-input {
        min-width: 150px;
        width: 155px;
        padding: 0 8px
    }

    .search-row>.btn {
        padding: 10px 12px
    }

    .theme-chip {
        font-size: 1rem
    }

    .theme-row {
        margin-bottom: 30px
    }

    .section-heading>.text-btn {
        font-size: 1rem
    }

    .section-heading p {
        font-size: 1rem
    }

    .section-heading h2 {
        font-size: 16px
    }

    .section-heading h2>span {
        font-size: 1rem
    }

    .filter-group {
        gap: 5px
    }

    .filter-group select {
        font-size: 1rem
    }

    .sort-group label {
        font-size: 1rem
    }

    .sort-group select {
        font-size: 1rem
    }

    .layout-buttons {
        display: none
    }

    .results-toolbar {
        gap: 6px
    }

    .bottom-banner p {
        max-width: 240px;
        line-height: 1.7;
        font-size: 1rem
    }

    .bottom-banner>div {
        gap: 10px
    }

    .bottom-banner>div>.icon {
        width: 24px
    }

    .bottom-banner .btn {
        font-size: 1rem;
        padding: 10px
    }

    .footer-note {
        display: none
    }

    .page-heading {
        align-items: flex-start
    }

    .page-heading h1 {
        font-size: 29px
    }

    .page-heading>.btn {
        font-size: 1rem
    }

    .push-panel {
        flex-wrap: wrap
    }

    .push-panel>.btn {
        margin-left: 65px
    }

    .alert-card {
        padding: 18px;
        gap: 12px
    }

    .alert-card-icon {
        display: none
    }

    .alert-card h3 {
        font-size: 1rem
    }

    .admin-stats {
        grid-template-columns: repeat(2, 1fr)
    }

    .table-heading {
        gap: 15px
    }

    .table-heading span {
        font-size: 1rem
    }

    .admin-tabs {
        gap: 20px
    }

    .admin-tabs button {
        font-size: 1rem
    }

    #toast {
        left: calc(50% + 90px)
    }
}

@media(max-width:760px) {
    .sidebar {
        position: fixed;
        bottom: 0;
        top: auto;
        width: 100%;
        height: 65px;
        padding: 0;
        border-right: 0;
        border-top: 1px solid var(--line);
        background: #fdfefa;
        box-shadow: 0 -4px 20px #2b442209
    }

    .sidebar>.brand,
    .workspace-label,
    .sidebar-bottom,
    .nav-divider,
    .section-label {
        display: none
    }

    .sidebar nav {
        flex-direction: row;
        justify-content: space-around;
        gap: 0;
        height: 100%;
        align-items: center
    }

    .nav-item {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        padding: 5px 7px;
        height: 53px;
        border-radius: 7px;
        font-size: 1rem;
        position: relative;
        min-width: 60px
    }

    .nav-item .icon {
        width: 18px;
        height: 18px
    }

    .nav-item.active {
        background: #edf2e6
    }

    .nav-count {
        position: absolute;
        top: 2px;
        right: 4px;
        font-size: 1rem;
        min-width: 13px;
        padding: 2px 3px
    }

    .main {
        margin-left: 0;
        padding-bottom: 65px
    }

    .topbar {
        height: 65px;
        padding: 0 20px
    }

    .topbar .breadcrumb {
        font-size: 1rem;
        gap: 8px
    }

    .topbar-actions {
        gap: 10px
    }

    .topbar-actions>.avatar {
        display: none
    }

    .topbar-actions>.icon-btn {
        border: 0;
        padding: 5px;
        width: 28px
    }

    .demo-label {
        font-size: 1rem
    }

    .hero {
        min-height: 275px
    }

    .hero-copy {
        padding: 26px;
        width: 80%
    }

    .hero h1 {
        font-size: 36px
    }

    .hero p {
        font-size: 1rem;
        max-width: 275px
    }

    .hero p br {
        display: none
    }

    .hero-art {
        width: 37%;
        opacity: .7;
        mask-image: linear-gradient(to right, transparent, #000 50%)
    }

    .hero-bottom {
        font-size: 1rem
    }

    .hero-bottom strong {
        display: inline
    }

    .hero-bottom .mini-avatars {
        display: none
    }

    main#content {
        padding: 20px
    }

    .search-panel {
        margin-top: 17px;
        padding: 8px
    }

    .search-input {
        flex-basis: 100%;
        padding: 0 5px;
        border-bottom: 1px solid var(--line);
        margin-bottom: 2px
    }

    .search-input input {
        font-size: 1rem;
        padding: 12px 0
    }

    .location-input {
        border: 0;
        flex: 1;
        min-width: 140px;
        padding: 0 5px
    }

    .location-input select {
        max-width: none;
        font-size: 1rem
    }

    .search-row>.btn {
        font-size: 1rem
    }

    .theme-row {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin: 14px -20px 25px;
        padding: 0 20px 7px;
        scrollbar-width: none
    }

    .theme-row::-webkit-scrollbar {
        display: none
    }

    .theme-chip {
        font-size: 1rem;
        padding: 8px 10px
    }

    .section-heading {
        gap: 15px;
        align-items: flex-start;
        margin-bottom: 18px
    }

    .section-heading h2 {
        font-size: 16px;
        line-height: 1.4
    }

    .section-heading p {
        font-size: 1rem;
        line-height: 1.8;
        margin-top: 6px
    }

    .section-heading>.text-btn {
        font-size: 1rem;
        gap: 0;
        margin-top: 2px
    }

    .section-heading>.text-btn>.icon {
        width: 19px;
        height: 19px
    }

    .section-heading>.text-btn>.icon:last-child {
        display: none
    }

    .sort-group label {
        font-size: 1rem
    }

    .sort-group select {
        font-size: 1rem;
        max-width: 95px
    }

    .filter-group select {
        font-size: 1rem;
        max-width: 120px;
        padding: 9px 1px
    }

    .filter-group label {
        padding: 0 6px
    }

    .filter-group .icon {
        width: 12px
    }

    .reset-filters {
        display: none
    }

    .jobs-grid {
        gap: 12px
    }

    .job-card {
        padding: 16px 14px 0
    }

    .card-flags {
        gap: 4px
    }

    .tag.new {
        font-size: 1rem
    }

    .company-mark {
        width: 36px;
        height: 36px;
        border-radius: 9px;
        font-size: 1rem
    }

    .card-top {
        margin-bottom: 13px
    }

    .card-company {
        font-size: 1rem
    }

    .job-card h3 {
        font-size: 1rem;
        min-height: 36px;
        line-height: 1.45
    }

    .card-location {
        font-size: 1rem;
        gap: 3px;
        margin-bottom: 12px
    }

    .card-tags {
        gap: 4px;
        min-height: 23px
    }

    .card-tags .tag {
        font-size: 1rem;
        padding: 4px 5px
    }

    .card-salary {
        font-size: 1rem;
        gap: 4px;
        margin: 13px 0 15px
    }

    .card-salary .icon {
        width: 11px
    }

    .card-bottom {
        padding: 12px 0
    }

    .card-bottom>span {
        font-size: 1rem;
        gap: 3px
    }

    .card-bottom button {
        font-size: 1rem;
        gap: 4px
    }

    .card-bottom button .icon {
        width: 11px
    }

    .card-bottom>span .icon {
        display: none
    }

    .bottom-banner {
        padding: 20px;
        flex-direction: column;
        align-items: flex-start;
        gap: 17px
    }

    .bottom-banner>div {
        gap: 13px
    }

    .bottom-banner h3 {
        font-size: 20px
    }

    .bottom-banner p {
        max-width: 100%;
        font-size: 1rem;
        line-height: 1.8
    }

    .bottom-banner>.btn {
        align-self: flex-end;
        padding: 10px 15px
    }

    .bottom-banner>div>.icon {
        width: 24px;
        flex-shrink: 0
    }

    .bottom-banner {
        margin-top: 22px
    }

    .demo-footnote {
        font-size: 1rem;
        line-height: 1.7
    }

    footer {
        padding: 18px 20px 24px;
        font-size: 1rem;
        gap: 15px
    }

    footer>span:first-child {
        font-size: 1rem
    }

    footer>span:last-child {
        gap: 5px;
        line-height: 1.6
    }

    .page-heading {
        flex-direction: column;
        margin-top: 14px;
        gap: 20px
    }

    .page-heading h1 {
        font-size: 31px;
        margin-top: 13px
    }

    .page-heading p {
        font-size: 1rem
    }

    .page-heading>.btn {
        align-self: flex-start
    }

    .board-summary {
        font-size: 1rem;
        flex-direction: column;
        gap: 10px
    }

    .kanban {
        grid-template-columns: repeat(5, 225px);
        margin-right: -20px;
        padding-right: 20px
    }

    .column-heading h2 {
        font-size: 1rem
    }

    .application-card h3 {
        font-size: 1rem
    }

    .application-company {
        font-size: 1rem
    }

    .push-panel {
        padding: 21px;
        gap: 14px;
        align-items: flex-start
    }

    .push-icon {
        width: 37px;
        height: 37px
    }

    .push-icon .icon {
        width: 20px
    }

    .push-panel>div {
        min-width: 200px
    }

    .push-panel h3 {
        font-size: 20px;
        line-height: 1.35
    }

    .push-panel>.btn {
        margin-left: 51px;
        font-size: 1rem
    }

    .alert-card {
        flex-wrap: wrap;
        gap: 11px;
        padding: 18px
    }

    .alert-card>div:nth-child(2) {
        flex-basis: 75%
    }

    .alert-card h3 {
        font-size: 1rem
    }

    .alert-card .status-pill {
        order: 4
    }

    .alert-card .switch {
        order: 5;
        margin-left: auto
    }

    .alert-card>.icon-btn {
        margin-left: auto
    }

    .alert-meta {
        font-size: 1rem;
        line-height: 1.7
    }

    .admin-stats {
        gap: 11px
    }

    .admin-stats>div {
        padding: 20px
    }

    .admin-stats strong {
        font-size: 31px
    }

    .admin-stats span {
        font-size: 1rem
    }

    .admin-stats .icon {
        right: 16px
    }

    .admin-tabs {
        gap: 21px;
        overflow-x: auto
    }

    .admin-tabs button {
        font-size: 1rem
    }

    .table-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px
    }

    .table-heading span {
        font-size: 1rem
    }

    .moderation-card {
        padding: 19px
    }

    .moderation-heading .tag {
        font-size: 1rem
    }

    .moderation-heading strong {
        font-size: 1rem
    }

    .moderation-heading>div>span {
        font-size: 1rem;
        line-height: 1.6
    }

    .moderation-actions .btn {
        font-size: 1rem;
        padding: 9px
    }

    .settings-card {
        padding: 21px
    }

    .settings-card>div {
        gap: 16px
    }

    .settings-card p {
        font-size: 1rem
    }

    .modal {
        padding: 24px 22px;
        border-radius: 13px;
        max-height: 92vh
    }

    .modal-heading h2 {
        font-size: 25px
    }

    .detail-header {
        gap: 13px
    }

    .detail-header h1 {
        font-size: 26px
    }

    .detail-header .company-mark {
        width: 47px;
        height: 47px;
        font-size: 18px
    }

    .detail-description {
        font-size: 1rem
    }

    .detail-cta .btn {
        font-size: 1rem;
        padding: 10px 13px
    }

    .detail-tools .btn {
        font-size: 1rem
    }

    .modal .form-grid {
        gap: 0 13px
    }

    .modal label {
        font-size: 1rem
    }

    .modal input,
    .modal select,
    .modal textarea {
        font-size: 1rem !important
    }

    .modal .checkbox-label {
        font-size: 1rem
    }

    .form-actions {
        gap: 9px
    }

    .form-actions>.btn {
        font-size: 1rem;
        padding: 10px
    }

    .comment-footer {
        align-items: flex-start
    }

    .comment-footer>span {
        font-size: 1rem;
        line-height: 1.7
    }

    .comment>div {
        flex-wrap: wrap
    }

    .comment .tag {
        font-size: 1rem
    }

    .setup-screen {
        padding: 20px
    }

    #toast {
        left: 50%;
        bottom: 82px;
        width: max-content;
        max-width: calc(100vw - 30px);
        font-size: 1rem;
        padding: 12px 17px
    }
}

@media(max-width:390px) {
    main#content {
        padding: 15px
    }

    .theme-row {
        margin-right: -15px;
        margin-left: -15px;
        padding-left: 15px;
        padding-right: 15px
    }

    .hero-copy {
        padding: 24px 20px
    }

    .hero h1 {
        font-size: 32px
    }

    .hero p {
        font-size: 1rem
    }

    .jobs-grid {
        grid-template-columns: 1fr
    }

    .job-card {
        padding: 20px 20px 0
    }

    .job-card h3 {
        min-height: auto;
        font-size: 16px
    }

    .card-company {
        font-size: 1rem
    }

    .card-location,
    .card-salary {
        font-size: 1rem
    }

    .card-tags .tag {
        font-size: 1rem
    }

    .card-bottom>span,
    .card-bottom button {
        font-size: 1rem
    }

    .company-mark {
        width: 43px;
        height: 43px
    }

    .card-top {
        margin-bottom: 16px
    }

    .card-bottom {
        padding: 15px 0
    }

    .results-toolbar {
        flex-wrap: wrap
    }

    .sort-group {
        margin-left: auto
    }

    .section-heading h2 {
        font-size: 1rem
    }

    .topbar {
        padding: 0 15px
    }

    .breadcrumb {
        gap: 5px !important;
        font-size: 1rem !important
    }

    .topbar-actions {
        gap: 6px
    }

    .hero-bottom {
        font-size: 1rem
    }

    .hero-bottom strong {
        display: block
    }

    .push-panel>div {
        min-width: 170px
    }

    .nav-item {
        font-size: 1rem;
        min-width: 50px
    }
}

@media(prefers-reduced-motion:reduce) {
    * {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important
    }
}

/* Type readable at every breakpoint; Poppins is served locally. */
:root {
    --cta: #f08f04;
    --cta-hover: #db8000;
    font-size: 16px
}

body {
    font-family: 'Poppins', sans-serif
}

.btn.primary,
.btn.light {
    background: var(--cta);
    border-color: var(--cta);
    color: #272e24;
    font-weight: 600
}

.btn.primary:hover,
.btn.light:hover {
    background: var(--cta-hover);
    border-color: var(--cta-hover)
}

.btn {
    min-height: 46px;
    padding: 11px 17px;
    font-size: 1rem;
    white-space: normal;
    line-height: 1.5
}

.btn.small {
    min-height: 42px;
    padding: 8px 12px;
    font-size: 1rem
}

.icon-btn {
    width: 40px;
    height: 40px
}

.icon-btn .icon {
    width: 20px;
    height: 20px
}

.account-button {
    display: flex;
    align-items: center;
    padding: 0;
    flex-shrink: 0;
    border-radius: 50%
}

.avatar,
.avatar.small {
    width: 42px;
    height: 42px;
    font-size: 1rem
}

.account-details {
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 18px 0 25px
}

.account-details p {
    font-size: 1rem;
    overflow-wrap: anywhere;
    color: #697763
}

.account-details+.btn {
    margin-bottom: 16px
}

.account-details~.btn {
    margin-top: 12px
}

.hero-copy {
    width: 72%
}

.hero h1 {
    font-weight: 500;
    font-style: normal;
    line-height: 1.22
}

.hero h1 em {
    font-style: normal
}

.hero p,
.hero-bottom {
    line-height: 1.85
}

.hero-bottom {
    white-space: normal;
    max-width: 650px
}

.mini-avatars {
    display: none
}

.hero-bottom strong {
    display: inline
}

.hero-art {
    width: 34%
}

.hero-copy {
    padding-top: 30px;
    padding-bottom: 30px
}

.eyebrow {
    font-size: 1rem;
    letter-spacing: 1px;
    line-height: 1.7;
    max-width: 100%;
    flex-wrap: wrap
}

.search-input input {
    font-size: 1rem;
    line-height: 1.7
}

.search-input {
    min-width: 210px
}

.location-input {
    min-width: 235px
}

.location-input select {
    max-width: 260px;
    font-size: 1rem;
    line-height: 1.7
}

.search-row {
    flex-wrap: wrap
}

.search-panel {
    padding: 10px
}

.search-row>.btn {
    padding: 12px 20px
}

.theme-chip {
    font-size: 1rem;
    padding: 10px 13px;
    line-height: 1.5
}

.theme-chip .icon {
    width: 17px;
    height: 17px
}

.theme-row {
    gap: 9px;
    margin-bottom: 32px
}

.theme-label {
    font-size: 1rem
}

.section-heading {
    gap: 20px;
    align-items: flex-start
}

.section-heading h2 {
    font-size: 1.4rem;
    line-height: 1.5;
    flex-wrap: wrap
}

.section-heading p {
    font-size: 1rem;
    line-height: 1.8;
    color: #707c67
}

.section-heading h2>span {
    font-size: 1rem
}

.section-heading>.text-btn {
    font-size: 1rem;
    white-space: normal;
    line-height: 1.6;
    flex-shrink: 0;
    max-width: 220px
}

.results-toolbar {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 22px
}

.filter-group {
    display: grid;
    grid-template-columns: repeat(4, minmax(165px, 1fr));
    gap: 10px;
    width: 100%;
    align-items: start
}

.filter-group label {
    min-height: 46px;
    padding: 0 9px
}

.filter-group select {
    font-size: 1rem;
    padding: 11px 4px;
    max-width: none;
    width: 100%
}

.filter-group .icon {
    width: 18px
}

.reset-filters {
    font-size: 1rem;
    width: max-content;
    padding: 3px 0
}

.sort-group {
    margin-left: auto;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap
}

.sort-group label {
    font-size: 1rem;
    gap: 10px;
    flex-wrap: wrap
}

.sort-group select {
    font-size: 1rem;
    max-width: 250px;
    padding: 7px
}

.layout-buttons {
    display: flex;
    margin-left: 4px
}

.layout-buttons .icon-btn {
    width: 34px;
    height: 34px
}

.card-company {
    font-size: 1rem;
    line-height: 1.6;
    color: #697a5f
}

.card-top {
    margin-bottom: 17px
}

.job-card h3 {
    font-size: 1.15rem;
    line-height: 1.55;
    min-height: 57px;
    margin-bottom: 12px
}

.job-card {
    padding: 22px 20px 0
}

.card-location {
    font-size: 1rem;
    line-height: 1.7;
    color: #728069;
    gap: 6px
}

.card-location .icon {
    width: 16px;
    height: 16px
}

.card-flags {
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end
}

.company-mark {
    width: 48px;
    height: 48px;
    font-size: 1.2rem;
    flex-shrink: 0
}

.card-tags {
    gap: 7px;
    min-height: 70px;
    align-content: flex-start
}

.tag,
.tag.new {
    font-size: 1rem;
    padding: 5px 8px;
    line-height: 1.5
}

.tag {
    color: #68785b
}

.tag.theme-tag {
    color: #7b704b
}

.tag.experience-tag {
    background: #edf2f1;
    color: #657f76
}

.tag.new {
    color: #637a37
}

.card-salary {
    font-size: 1rem;
    line-height: 1.7;
    color: #66785b;
    margin: 18px 0 21px;
    gap: 8px;
    min-height: 28px
}

.card-salary .icon {
    width: 17px;
    height: 17px
}

.card-bottom {
    gap: 8px;
    flex-wrap: wrap;
    min-height: 63px
}

.card-bottom>span,
.card-bottom button {
    font-size: 1rem;
    line-height: 1.6
}

.card-bottom>span {
    color: #78846e
}

.card-bottom button .icon,
.card-bottom>span .icon {
    width: 16px;
    height: 16px
}

.save-btn .icon {
    width: 22px;
    height: 22px
}

.demo-footnote {
    font-size: 1rem;
    line-height: 1.8;
    color: #6e7b61;
    margin-top: 23px
}

.bottom-banner {
    gap: 23px;
    flex-wrap: wrap
}

.bottom-banner>div {
    flex: 1;
    min-width: 240px
}

.bottom-banner p {
    font-size: 1rem;
    line-height: 1.85;
    color: #6e7f62;
    max-width: 700px
}

.bottom-banner h3 {
    font-size: 1.45rem;
    line-height: 1.5
}

.bottom-banner .btn {
    font-size: 1rem
}

.page-heading p {
    font-size: 1rem;
    line-height: 1.8;
    color: #6d7c61
}

.page-heading {
    flex-wrap: wrap
}

.page-heading>.btn {
    font-size: 1rem
}

.page-heading h1 {
    font-size: 2.1rem;
    line-height: 1.4
}

.subtle,
.modal-intro,
.modal label>span,
.form-error {
    font-size: 1rem;
    line-height: 1.85
}

.subtle,
.modal-intro,
.modal label>span {
    color: #697a5c
}

.modal {
    width: 590px;
    padding: 28px;
    max-width: calc(100vw - 28px)
}

.detail-modal,
.editor-modal {
    width: 800px
}

.modal-heading h2 {
    font-size: 1.65rem;
    line-height: 1.5;
    font-weight: 500
}

.modal form>label,
.form-grid>label,
.modal .checkbox-label {
    font-size: 1rem;
    color: #5d744d;
    line-height: 1.6
}

.modal input:not([type="checkbox"]),
.modal select,
.modal textarea {
    font-size: 1rem !important;
    padding: 12px;
    line-height: 1.8
}

.modal .google-btn,
.google-disabled,
.or-divider,
.auth-switch,
.auth-switch .text-btn {
    font-size: 1rem;
    line-height: 1.8
}

.google-disabled {
    padding: 15px;
    gap: 10px
}

.detail-header>div>span,
.detail-header p,
.detail-tags .tag,
.detail-description,
.detail-tools .btn {
    font-size: 1rem;
    line-height: 1.8
}

.detail-header h1 {
    font-size: 2rem;
    line-height: 1.4
}

.detail-description {
    color: #5e7350
}

.detail-cta .btn {
    font-size: 1rem
}

.detail-tools {
    flex-wrap: wrap;
    gap: 10px
}

.detail-tools .btn {
    padding: 7px 0;
    margin-right: 12px;
    color: #617751
}

.comments-section h3 {
    font-size: 1.1rem;
    line-height: 1.7
}

.comment strong,
.comment p,
.comment .tag,
.comments-section form>label,
.comment-footer>span {
    font-size: 1rem;
    line-height: 1.85
}

.comment p {
    color: #627654
}

.comment>div {
    flex-wrap: wrap
}

.comment .avatar {
    font-size: 1rem;
    width: 36px;
    height: 36px;
    flex-shrink: 0
}

.comment-footer {
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap
}

.comment-footer>span {
    color: #6c7b60
}

.form-actions>.btn,
.form-actions>.text-btn {
    font-size: 1rem;
    line-height: 1.6
}

.application-company,
.application-card>p,
.application-note,
.stage-select,
.notes-btn,
.kanban-empty,
.column-heading h2,
.column-heading>span:last-child,
.board-summary {
    font-size: 1rem;
    line-height: 1.7
}

.application-card h3 {
    font-size: 1.05rem;
    line-height: 1.7
}

.application-card {
    padding: 24px 16px 16px
}

.kanban {
    grid-template-columns: repeat(5, 280px)
}

.kanban-column {
    min-height: 440px
}

.column-heading {
    gap: 8px
}

.column-heading h2 {
    font-weight: 550
}

.column-heading>span:last-child {
    padding: 2px 7px
}

.stage-dot {
    width: 8px;
    height: 8px;
    flex-shrink: 0
}

.application-note {
    padding: 12px;
    color: #667b56
}

.stage-select {
    padding: 10px
}

.board-summary {
    flex-wrap: wrap;
    color: #687c55
}

.push-panel h3 {
    font-size: 1.4rem;
    line-height: 1.5
}

.push-panel p,
.push-panel>.btn {
    font-size: 1rem;
    line-height: 1.85;
    color: #637c53
}

.push-panel>.btn.primary {
    color: #272e24
}

.push-panel>div {
    min-width: 230px
}

.alert-card h3 {
    font-size: 1.1rem;
    line-height: 1.6
}

.alert-card p,
.alert-meta,
.status-pill {
    font-size: 1rem;
    line-height: 1.8
}

.alert-card p,
.alert-meta {
    color: #6e805f
}

.alert-card {
    flex-wrap: wrap
}

.alert-meta {
    flex-wrap: wrap
}

.alert-card>div:nth-child(2) {
    min-width: 220px
}

.switch {
    width: 44px;
    height: 26px
}

.switch:after {
    width: 20px;
    height: 20px;
    top: 3px;
    left: 3px
}

.switch.on:after {
    left: 21px
}

.admin-stats span,
.admin-tabs button,
.table-heading span,
table,
th,
td strong,
td>span:not(.tag):not(.status-pill) {
    font-size: 1rem;
    line-height: 1.7
}

.admin-stats span {
    max-width: 160px;
    display: block
}

.admin-stats>div {
    padding-top: 22px
}

.admin-stats .icon {
    top: 30px
}

.table-heading h2 {
    font-size: 1.15rem
}

.table-heading {
    gap: 20px;
    flex-wrap: wrap
}

.table-heading span {
    color: #667b55
}

.admin-tabs {
    gap: 27px
}

.table-actions {
    flex-wrap: wrap
}

.moderation-heading strong,
.moderation-heading>div>span,
.moderation-card>p,
.moderation-actions .btn,
.settings-card strong,
.settings-card p,
.settings-card code,
.notification-item {
    font-size: 1rem;
    line-height: 1.8
}

.moderation-card>p,
.settings-card p {
    color: #637a52
}

.moderation-heading {
    flex-wrap: wrap
}

.moderation-heading>div {
    min-width: 220px
}

.settings-card h2 {
    font-size: 1.2rem
}

.notification-item {
    color: #617b4e
}

.text-btn {
    font-size: 1rem;
    line-height: 1.6
}

.section-label,
.workspace-label {
    font-size: 1rem;
    line-height: 1.7;
    letter-spacing: .6px
}

.workspace-label {
    margin-bottom: 26px
}

.nav-item {
    font-size: 1rem;
    line-height: 1.6;
    min-height: 51px
}

.nav-count {
    font-size: 1rem;
    min-width: 27px
}

.nav-divider {
    margin: 18px 8px
}

.section-label {
    margin-bottom: 10px
}

.sidebar-note strong,
.sidebar-note p,
.sidebar-note>span {
    font-size: 1rem;
    line-height: 1.8
}

.sidebar-note p br {
    display: none
}

.profile strong,
.profile small {
    font-size: 1rem;
    line-height: 1.6
}

.profile {
    gap: 10px
}

.profile strong {
    white-space: normal
}

.profile .icon-btn {
    width: 32px;
    flex-shrink: 0
}

.sidebar-note {
    margin-top: 25px;
    padding: 20px 16px
}

.profile>div {
    min-width: 0
}

.brand {
    font-family: 'Poppins', sans-serif;
    font-size: 2.1rem
}

.breadcrumb,
.topbar-actions,
.top-status,
.demo-label {
    font-size: 1rem;
    line-height: 1.6
}

.topbar {
    min-height: 83px;
    height: auto;
    padding-top: 16px;
    padding-bottom: 16px;
    gap: 20px
}

.topbar-actions {
    gap: 12px;
    flex-shrink: 0
}

.top-status {
    display: none
}

.live-dot {
    display: none
}

.breadcrumb {
    gap: 10px;
    flex-wrap: wrap
}

.demo-label {
    font-size: 1rem;
    padding: 5px 8px
}

footer,
footer>span:first-child,
.footer-note {
    font-size: 1rem;
    line-height: 1.8
}

.footer-note {
    display: none
}

footer>span:last-child {
    gap: 10px
}

#toast {
    font-size: 1rem;
    line-height: 1.8;
    width: max-content;
    max-width: calc(100vw - 35px)
}

.empty-state p {
    font-size: 1rem;
    line-height: 1.85;
    color: #687b58
}

.empty-state h3 {
    font-size: 1.5rem;
    line-height: 1.5
}

@media(min-width:761px) {
    .sidebar {
        width: 280px;
        padding-left: 20px;
        padding-right: 20px
    }

    .main {
        margin-left: 280px
    }

    .profile {
        margin-left: -20px;
        margin-right: -20px;
        padding-left: 16px;
        padding-right: 16px
    }

    .sidebar {
        overflow-y: auto
    }

    .sidebar-note {
        display: none
    }

    .sidebar-bottom {
        padding-top: 25px
    }

    .hero-art {
        mask-image: linear-gradient(to right, transparent, #000 40%)
    }

    .list-view .job-card {
        grid-template-columns: 62px 1.4fr 1.2fr
    }

    .list-view h3 {
        min-height: auto
    }

    .list-view .card-tags {
        min-height: 0
    }

    .list-view .card-bottom {
        grid-row: 4;
        grid-column: 2/4;
        padding: 10px 0 0
    }

    .list-view .card-location {
        margin-top: 6px
    }

    .list-view .card-salary {
        align-self: start
    }

    .list-view .card-tags {
        grid-row: 1/3
    }

    .list-view .card-salary {
        grid-row: 3
    }

    .list-view .card-top {
        justify-content: flex-start
    }

    .list-view .card-flags {
        justify-content: flex-start
    }

    .profile .avatar {
        width: 40px;
        height: 40px
    }
}

@media(min-width:761px) and (max-width:1300px) {
    .jobs-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .list-view {
        grid-template-columns: 1fr
    }

    .hero-copy {
        width: 83%
    }

    .hero h1 {
        font-size: 2.25rem
    }

    .hero p {
        font-size: 1rem
    }

    .filter-group {
        grid-template-columns: repeat(2, minmax(165px, 1fr))
    }

    .topbar {
        padding-left: 24px;
        padding-right: 24px
    }

    .breadcrumb {
        font-size: 1rem
    }

    .hero-art {
        opacity: .7;
        width: 35%
    }

    .hero-bottom {
        font-size: 1rem
    }

    .location-input {
        min-width: 200px
    }

    .search-input {
        min-width: 250px;
        flex-basis: 100%;
        border-bottom: 1px solid var(--line);
        padding-bottom: 5px
    }

    .search-row>.btn {
        margin-left: auto
    }

    .search-row {
        gap: 10px
    }

    .section-heading {
        flex-wrap: wrap
    }
}

@media(max-width:760px) {
    .main {
        margin-left: 0;
        padding-bottom: 110px
    }

    .sidebar {
        height: 100px;
        padding: 0;
        overflow: visible
    }

    .sidebar nav {
        gap: 0
    }

    .nav-item {
        min-width: 0;
        height: 86px;
        padding: 8px 3px;
        flex: 1;
        font-size: 1rem;
        line-height: 1.3;
        gap: 8px;
        max-width: 145px
    }

    .nav-item span:not(.nav-count) {
        overflow-wrap: normal;
        text-align: center
    }

    .nav-item .icon {
        width: 23px;
        height: 23px
    }

    .nav-count {
        font-size: 1rem;
        min-width: 23px;
        top: 0;
        right: 1px;
        padding: 0 3px
    }

    .topbar {
        padding: 14px 18px;
        min-height: 80px;
        gap: 10px
    }

    .topbar-actions {
        gap: 6px
    }

    .topbar .breadcrumb {
        font-size: 1rem !important;
        gap: 8px !important
    }

    .breadcrumb>strong {
        display: none
    }

    .topbar-actions .demo-label {
        font-size: 1rem
    }

    .topbar-actions>.icon-btn {
        width: 35px;
        height: 40px
    }

    .account-button .avatar {
        width: 39px;
        height: 39px;
        font-size: 1rem
    }

    .hero {
        min-height: 360px
    }

    .hero-copy {
        width: 100%;
        padding: 26px 23px
    }

    .hero h1 {
        font-size: 2.15rem;
        letter-spacing: -1px;
        line-height: 1.25;
        margin-top: 20px
    }

    .hero-art {
        width: 39%;
        opacity: .3;
        mask-image: linear-gradient(to right, transparent, #000 65%)
    }

    .hero p {
        font-size: 1rem;
        line-height: 1.85;
        max-width: 100%
    }

    .hero-bottom {
        font-size: 1rem;
        margin-top: 18px;
        max-width: 100%;
        color: #6c7d5d
    }

    .hero-bottom strong {
        display: inline
    }

    .eyebrow {
        font-size: 1rem;
        letter-spacing: .8px
    }

    .hero .eyebrow {
        max-width: 90%
    }

    .search-panel {
        padding: 9px
    }

    .search-input {
        min-width: 0;
        flex-basis: 100%;
        padding: 0 4px 5px
    }

    .search-input input {
        font-size: 1rem;
        line-height: 1.8;
        padding: 10px 0
    }

    .location-input {
        min-width: 180px;
        padding: 0 4px;
        flex: 1
    }

    .location-input select {
        font-size: 1rem;
        max-width: none;
        padding: 11px 0
    }

    .search-row>.btn {
        font-size: 1rem;
        padding: 11px 16px
    }

    .theme-row {
        gap: 9px
    }

    .theme-chip {
        font-size: 1rem;
        padding: 10px 12px
    }

    .theme-label {
        display: none
    }

    .jobs-grid {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .job-card {
        padding: 23px 22px 0
    }

    .job-card h3 {
        font-size: 1.25rem;
        min-height: 0;
        line-height: 1.55;
        margin-bottom: 12px
    }

    .card-company {
        font-size: 1rem
    }

    .card-top {
        margin-bottom: 20px
    }

    .company-mark {
        width: 49px;
        height: 49px;
        font-size: 1.25rem
    }

    .tag.new,
    .tag,
    .card-tags .tag {
        font-size: 1rem;
        padding: 5px 8px;
        line-height: 1.6
    }

    .card-tags {
        min-height: 0;
        gap: 8px
    }

    .card-location,
    .card-salary {
        font-size: 1rem;
        line-height: 1.8
    }

    .card-salary {
        margin: 20px 0
    }

    .card-location {
        gap: 5px
    }

    .card-location .icon,
    .card-salary .icon {
        width: 18px;
        height: 18px
    }

    .card-bottom {
        padding: 17px 0;
        min-height: 65px
    }

    .card-bottom>span,
    .card-bottom button {
        font-size: 1rem
    }

    .card-bottom>span .icon {
        display: inline-block
    }

    .section-heading {
        gap: 15px;
        flex-wrap: wrap
    }

    .section-heading h2 {
        font-size: 1.3rem;
        line-height: 1.6
    }

    .section-heading h2>span,
    .section-heading p {
        font-size: 1rem
    }

    .section-heading>.text-btn {
        font-size: 1rem;
        gap: 8px;
        max-width: 100%
    }

    .section-heading>.text-btn>.icon:last-child {
        display: inline-block;
        width: 16px
    }

    .section-heading>.text-btn>.icon {
        width: 18px
    }

    .results-toolbar {
        gap: 15px
    }

    .filter-group {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px
    }

    .filter-group label {
        padding: 0 5px
    }

    .filter-group select {
        font-size: 1rem;
        max-width: none;
        padding: 10px 2px
    }

    .filter-group .icon {
        display: none
    }

    .reset-filters {
        font-size: 1rem;
        display: inline-flex
    }

    .reset-filters.hidden {
        display: none
    }

    .sort-group {
        width: 100%;
        justify-content: space-between
    }

    .sort-group label,
    .sort-group select {
        font-size: 1rem
    }

    .sort-group label {
        gap: 4px;
        flex: 1
    }

    .sort-group select {
        max-width: 230px;
        width: 100%;
        flex: 1
    }

    .layout-buttons {
        display: none
    }

    .bottom-banner {
        padding: 22px;
        gap: 20px
    }

    .bottom-banner h3 {
        font-size: 1.4rem
    }

    .bottom-banner p,
    .bottom-banner>.btn {
        font-size: 1rem
    }

    .bottom-banner>div {
        gap: 14px;
        align-items: flex-start;
        min-width: 0
    }

    .bottom-banner>div>.icon {
        margin-top: 5px
    }

    .bottom-banner>.btn {
        align-self: stretch
    }

    .demo-footnote {
        font-size: 1rem;
        line-height: 1.8
    }

    .page-heading h1 {
        font-size: 2rem;
        line-height: 1.4
    }

    .page-heading p,
    .page-heading>.btn {
        font-size: 1rem
    }

    .board-summary {
        font-size: 1rem;
        line-height: 1.7
    }

    .kanban {
        grid-template-columns: repeat(5, 280px)
    }

    .column-heading h2,
    .application-company,
    .application-card>p,
    .application-note,
    .stage-select,
    .notes-btn {
        font-size: 1rem
    }

    .application-card h3 {
        font-size: 1.1rem
    }

    .push-panel {
        padding: 20px;
        gap: 14px
    }

    .push-panel>div {
        min-width: 180px;
        flex: 1
    }

    .push-panel h3 {
        font-size: 1.4rem
    }

    .push-panel p,
    .push-panel>.btn {
        font-size: 1rem
    }

    .push-panel>.btn {
        margin-left: 0;
        width: 100%
    }

    .alert-card {
        padding: 20px;
        gap: 14px
    }

    .alert-card>div:nth-child(2) {
        min-width: 0;
        flex-basis: 100%
    }

    .alert-card>.icon-btn {
        order: 6
    }

    .alert-card .status-pill {
        order: 3
    }

    .alert-card .switch {
        margin-left: auto
    }

    .alert-card h3 {
        font-size: 1.1rem
    }

    .alert-card p,
    .alert-meta {
        font-size: 1rem;
        line-height: 1.8
    }

    .admin-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .admin-stats>div {
        padding: 20px 14px
    }

    .admin-stats span {
        font-size: 1rem;
        line-height: 1.6
    }

    .admin-stats strong {
        font-size: 2rem
    }

    .admin-stats .icon {
        width: 20px;
        height: 20px;
        top: 27px;
        right: 15px
    }

    .admin-tabs {
        gap: 20px
    }

    .admin-tabs button {
        font-size: 1rem
    }

    .table-heading span {
        font-size: 1rem
    }

    .moderation-heading strong,
    .moderation-heading>div>span,
    .moderation-heading .tag,
    .moderation-actions .btn,
    .settings-card p {
        font-size: 1rem
    }

    .moderation-heading>div {
        min-width: 180px
    }

    .modal {
        padding: 23px 20px
    }

    .modal-heading h2 {
        font-size: 1.5rem
    }

    .modal .form-grid {
        grid-template-columns: 1fr;
        gap: 0
    }

    .modal-intro,
    .modal label,
    .modal .checkbox-label,
    .modal input,
    .modal select,
    .modal textarea {
        font-size: 1rem !important;
        line-height: 1.85
    }

    .detail-header {
        align-items: flex-start
    }

    .detail-header h1 {
        font-size: 1.6rem
    }

    .detail-description,
    .detail-cta .btn,
    .detail-tools .btn,
    .comment-footer>span,
    .comment .tag,
    .form-actions>.btn {
        font-size: 1rem
    }

    .detail-cta {
        flex-direction: column
    }

    .detail-cta .btn {
        width: 100%
    }

    .detail-tools {
        flex-direction: column;
        align-items: flex-start
    }

    .form-actions {
        flex-wrap: wrap
    }

    .comment-footer {
        flex-direction: column
    }

    .comment-footer .btn {
        align-self: flex-end
    }

    .comment .tag {
        margin-top: 5px
    }

    .detail-tags {
        gap: 8px
    }

    .detail-tags .tag {
        font-size: 1rem
    }

    .account-details {
        align-items: flex-start
    }

    .account-details strong,
    .account-details p {
        font-size: 1rem
    }

    .notification-item {
        font-size: 1rem
    }

    .empty-state p {
        font-size: 1rem
    }

    footer,
    footer>span:first-child {
        font-size: 1rem;
        line-height: 1.8
    }

    footer {
        flex-direction: column;
        gap: 10px;
        padding: 20px
    }

    #toast {
        left: 50%;
        bottom: 118px;
        font-size: 1rem;
        max-width: calc(100vw - 30px);
        padding: 14px 17px
    }
}

@media(max-width:400px) {
    .nav-item {
        font-size: 1rem;
        padding: 8px 1px;
        line-height: 1.25
    }

    .nav-item span:not(.nav-count) {
        font-size: 1rem
    }

    .hero-copy {
        padding: 23px 19px
    }

    .hero h1 {
        font-size: 1.95rem
    }

    .hero .eyebrow {
        max-width: 100%;
        font-size: 1rem
    }

    .filter-group {
        grid-template-columns: 1fr
    }

    .location-input {
        flex-basis: 100%;
        min-width: 0
    }

    .search-row>.btn {
        width: 100%
    }

    .topbar-actions {
        gap: 3px
    }

    .topbar-actions .demo-label {
        font-size: 1rem;
        padding: 4px 5px
    }

    .topbar {
        padding-left: 15px;
        padding-right: 15px
    }

    .breadcrumb {
        display: none
    }

    .topbar-actions {
        margin-left: auto
    }

    .card-bottom {
        gap: 15px
    }

    .card-bottom>span,
    .card-bottom button {
        font-size: 1rem
    }

    .admin-stats {
        grid-template-columns: 1fr
    }

    .admin-tabs {
        gap: 17px
    }

    .page-heading h1 {
        font-size: 1.8rem
    }

    .sort-group select {
        max-width: 205px
    }

    .push-panel>div {
        min-width: 170px
    }
}

.nav-short {
    display: none
}

@media(max-width:760px) {
    .nav-title {
        display: none
    }

    .nav-short {
        display: block;
        font-size: 1rem;
        line-height: 1.4
    }
}

@media(max-width:760px) {
    .kanban {
        margin-right: 0;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding-right: 0
    }
}

.admin-tabs {
    overflow-x: auto
}

.admin-tabs button {
    flex-shrink: 0
}
/* Import proposals use the existing typography and CTA palette. */
.import-notice {padding: 1rem; margin: 1rem 0; background: #fff6e5; border-radius: .75rem; overflow-wrap: anywhere;}
.import-notice p {margin: .5rem 0;}
.import-actions {display: flex; gap: 1rem; flex-wrap: wrap; padding: 1.5rem;}
.import-message {padding: 0 1.5rem 1rem; overflow-wrap: anywhere;}
.settings-card details {margin: 1rem 0;}
.settings-card summary {cursor: pointer; margin-bottom: 1rem;}
.settings-card li {overflow-wrap: anywhere; margin: .5rem 0;}
