:root {
  --green:#147c61;
  --green-dark:#125843;
  --green-soft:#eaf5ef;
  --ink:#202d2a;
  --muted:#5f7068;
  --line:#e8ece9;
  --bg:#f6f8f7;
  --white:#fff;
  --shadow:0 10px 35px #213c2b08;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  font-synthesis:none;
  color:var(--ink);
  background:var(--bg);
  font-size:14px;
  line-height:1.6
}
* {
  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
}
a {
  color:var(--green);
  text-decoration:none
}
button {
  border:0;
  background:none;
  color:inherit
}
input,textarea,select {
  min-width:0
}
button:disabled {
  cursor:not-allowed;
  opacity:.45
}
button:focus-visible,a:focus-visible {
  outline:3px solid #91c7b4;
  outline-offset:3px
}
input:focus,select:focus,textarea:focus {
  outline:2px solid #afd5c4;
  outline-offset:1px
}
svg {
  width:20px;
  height:20px;
  stroke:currentColor;
  stroke-width:1.7;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0
}
h1,h2,h3,p {
  margin:0
}
h1 {
  font-size:27px;
  letter-spacing:-1px;
  line-height:1.4;
  font-weight:650
}
h2 {
  font-size:19px;
  font-weight:650
}
h3 {
  font-size:15px;
  font-weight:620
}
small {
  font-size:12px
}
.muted {
  color:var(--muted)
}
.green-text {
  color:var(--green)
}
.small {
  font-size:12px
}
.row {
  display:flex;
  align-items:center;
  gap:10px
}
.between {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.wrap {
  flex-wrap:wrap
}
.stack {
  display:flex;
  flex-direction:column;
  gap:16px
}
.spacer {
  flex:1
}
.icon-btn {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:8px;
  border-radius:9px;
  color:#7a8881;
  position:relative
}
.icon-btn:hover {
  background:#edf3ef;
  color:var(--green)
}
.icon-btn svg {
  width:19px;
  height:19px
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 17px;
  min-height:42px;
  border-radius:8px;
  white-space:nowrap;
  font-size:13px;
  font-weight:550;
  transition:background .18s,transform .18s
}
.btn:hover {
  transform:translateY(-1px)
}
.btn.primary {
  background:var(--green);
  color:#fff
}
.btn.primary:hover {
  background:#10694f
}
.btn.secondary {
  background:#fff;
  border:1px solid #dce6df;
  color:#496258
}
.btn.ghost {
  background:#eff5f1;
  color:var(--green)
}
.btn.danger {
  background:#fbefed;
  color:#b35546
}
.btn.small {
  padding:6px 12px;
  min-height:33px;
  font-size:12px
}
.btn.wide {
  width:100%
}
.btn svg {
  width:16px;
  height:16px
}
.text-btn {
  color:var(--green);
  font-size:12px;
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:4px
}
.text-btn svg {
  width:14px;
  height:14px
}
.badge {
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:3px 7px;
  border-radius:5px;
  background:var(--green-soft);
  color:var(--green);
  font-size:11px;
  font-weight:500;
  white-space:nowrap
}
.badge.orange {
  background:#fff4e5;
  color:#b37a32
}
.badge.gray {
  background:#f0f3f1;
  color:#7e8983
}
.badge.blue {
  background:#eaf1fb;
  color:#6588b2
}
.badge svg {
  width:12px;
  height:12px
}
.tag {
  display:inline-block;
  padding:3px 9px;
  border-radius:5px;
  font-size:11px;
  color:#7f8c84;
  background:#f3f5f3;
  white-space:nowrap
}
.tags {
  display:flex;
  gap:6px;
  flex-wrap:wrap
}
.panel {
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:var(--shadow)
}
.avatar {
  width:44px;
  height:44px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  font-weight:600;
  background:#e3ece3;
  color:#628067;
  flex-shrink:0;
  border:3px solid #fff
}
.avatar.sm {
  width:30px;
  height:30px;
  font-size:12px;
  border-width:2px
}
.avatar.lg {
  width:72px;
  height:72px;
  font-size:27px;
  border-width:4px
}
.avatar.sage {
  background:#dfece3;
  color:#56816a
}
.avatar.orange {
  background:#f5e7db;
  color:#ad7e52
}
.avatar.blue {
  background:#e0e9f1;
  color:#6c8ba5
}
.avatar.purple {
  background:#e9e2ef;
  color:#8f75a6
}
.avatar.pink {
  background:#f3e1e6;
  color:#ac7b8d
}
.avatar.sand {
  background:#efe9d9;
  color:#a79663
}
.brand-icon {
  width:35px;
  height:35px;
  border-radius:11px;
  background:var(--green);
  color:white;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:600;
  box-shadow:0 3px 7px #147c611a
}
.brand-word {
  font-size:24px;
  font-weight:700;
  letter-spacing:2px
}
.brand-en {
  font-size:9px;
  letter-spacing:2px;
  line-height:1;
  color:#8d9c91
}
.brand {
  display:flex;
  align-items:center;
  gap:9px
}
.brand-copy {
  display:flex;
  flex-direction:column;
  gap:1px
}
.initial-loader {
  height:100vh;
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:center;
  justify-content:center;
  color:var(--muted)
}
.topbar {
  height:76px;
  background:#fff;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  padding:0 32px;
  gap:28px;
  position:sticky;
  top:0;
  z-index:30
}
.topbar .brand {
  width:180px;
  flex-shrink:0
}
.brand-tagline {
  font-size:12px;
  color:#9aa49e;
  letter-spacing:1px;
  padding-left:26px;
  border-left:1px solid #e8ece9
}
.location-button {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  margin-left:10px
}
.location-button svg {
  width:14px;
  height:14px
}
.top-actions {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:14px
}
.demo-label {
  font-size:10px;
  color:#9aaba1;
  padding:4px 9px;
  background:#f5f7f5;
  border-radius:5px
}
.notification-dot {
  position:absolute;
  width:6px;
  height:6px;
  background:#da8f67;
  border:1px solid white;
  border-radius:50%;
  right:8px;
  top:7px
}
.mobile-menu {
  display:none
}
.shell {
  display:flex;
  max-width:1640px;
  margin:0 auto
}
.sidebar {
  width:223px;
  flex-shrink:0;
  padding:31px 18px 22px;
  position:sticky;
  top:76px;
  height:calc(100vh - 76px);
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--line);
  background:#fbfcfb
}
.nav-label {
  font-size:10px;
  color:#a0aaa4;
  letter-spacing:2px;
  padding:0 17px;
  margin-bottom:14px
}
.nav-item {
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  padding:12px 17px;
  text-align:left;
  margin-bottom:7px;
  border-radius:8px;
  color:#77827b;
  font-size:13px;
  transition:background .18s
}
.nav-item svg {
  width:18px;
  height:18px
}
.nav-item:hover {
  background:#f0f4f1
}
.nav-item.active {
  color:var(--green);
  background:#e7f2eb;
  font-weight:600
}
.nav-count {
  margin-left:auto;
  border-radius:5px;
  background:#fff;
  padding:0 6px;
  font-size:10px;
  line-height:19px;
  color:var(--green)
}
.sidebar-divider {
  height:1px;
  background:var(--line);
  margin:18px 15px 23px
}
.sidebar-note {
  margin:auto 8px 20px;
  padding:20px 15px;
  border-radius:10px;
  background:#eef3ed;
  position:relative;
  overflow:hidden
}
.sidebar-note:after {
  content:'';
  position:absolute;
  width:80px;
  height:80px;
  right:-18px;
  top:15px;
  border:15px solid #e3ebe1;
  border-radius:50%;
  opacity:.6
}
.sidebar-note svg {
  position:relative;
  color:#83a78b;
  margin-bottom:12px
}
.sidebar-note p {
  font-size:12px;
  position:relative;
  z-index:1;
  color:#63836e;
  font-weight:500
}
.sidebar-note small {
  font-size:10px;
  color:#9aaa9c;
  display:block;
  margin-top:6px
}
.sidebar-user {
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 7px;
  padding-top:16px;
  border-top:1px solid var(--line)
}
.sidebar-user strong {
  font-size:12px;
  font-weight:550
}
.sidebar-user small {
  font-size:10px;
  color:#a2aaa5;
  display:block
}
.workspace {
  padding:30px 31px 50px;
  flex:1;
  min-width:0
}
.page-top {
  margin-bottom:24px
}
.eyebrow {
  font-size:11px;
  color:#91a097;
  letter-spacing:.5px;
  margin-bottom:6px
}
.page-top p {
  font-size:12px;
  color:#94a197;
  margin-top:7px
}
.page-top .icon-btn {
  background:white;
  border:1px solid var(--line);
  width:35px;
  height:35px
}
.content-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:24px
}
.main-content {
  min-width:0
}
.right-rail {
  display:flex;
  flex-direction:column;
  gap:18px
}
.hero {
  background:#e9f3e9;
  border-radius:12px;
  padding:27px 28px 28px;
  position:relative;
  overflow:hidden;
  min-height:201px;
  margin-bottom:25px;
  border:1px solid #e1ecdf
}
.hero-copy {
  position:relative;
  z-index:2
}
.hero-kicker {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:10px;
  color:#76927a;
  letter-spacing:1px;
  margin-bottom:10px
}
.hero-kicker .dot {
  width:5px;
  height:5px;
  background:#769b7d;
  border-radius:50%
}
.hero h2 {
  font-size:28px;
  font-weight:650;
  letter-spacing:1px;
  color:#2a553a;
  line-height:1.5
}
.hero p {
  font-size:11px;
  color:#819c83;
  margin-top:8px;
  max-width:300px
}
.hero .row {
  margin-top:22px;
  gap:13px
}
.hero .btn {
  min-height:34px;
  padding:7px 13px;
  font-size:11px
}
.hero-art {
  position:absolute;
  right:10px;
  top:3px;
  width:270px;
  height:218px;
  pointer-events:none
}
.hero-art svg {
  width:100%;
  height:100%;
  stroke-width:1;
  fill:none
}
.search-box {
  padding:6px;
  background:#fff;
  border:1px solid #e0e8e2;
  border-radius:9px;
  display:flex;
  gap:10px;
  align-items:center;
  box-shadow:0 3px 12px #23452b03
}
.search-box>svg {
  color:#99a69d;
  width:17px;
  height:17px;
  margin-left:10px
}
.search-box input {
  border:0;
  background:none;
  flex:1;
  font-size:12px;
  padding:8px 0;
  outline:none!important;
  width:0
}
.search-box input::placeholder {
  color:#abb4ae
}
.search-box select {
  border:0;
  border-left:1px solid var(--line);
  background:white;
  color:#7e8c83;
  font-size:11px;
  padding:5px 8px;
  max-width:100px
}
.search-box .btn {
  font-size:11px;
  min-height:33px;
  padding:6px 18px
}
.categories {
  display:flex;
  gap:19px;
  overflow-x:auto;
  white-space:nowrap;
  margin-top:12px;
  border-bottom:1px solid var(--line);
  scrollbar-width:none
}
.category {
  padding:13px 0 12px;
  color:#8b978f;
  font-size:12px;
  border-bottom:2px solid transparent
}
.category.active {
  color:var(--green);
  border-color:var(--green);
  font-weight:600
}
.filter-row {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:16px 0 23px
}
.filter-control {
  display:flex;
  align-items:center;
  gap:5px;
  border:1px solid #e7ece7;
  background:#fff;
  padding:6px 9px;
  border-radius:6px;
  color:#829087;
  font-size:10px;
  min-height:31px
}
.filter-control svg {
  width:13px;
  height:13px
}
.filter-control select,.filter-control input {
  border:0;
  background:none;
  font-size:10px;
  color:inherit;
  padding:0;
  max-width:119px
}
.filter-control input[type=date] {
  width:111px
}
.check-label {
  display:flex;
  gap:5px;
  align-items:center;
  font-size:10px;
  color:#829087;
  cursor:pointer
}
.check-label input {
  accent-color:var(--green);
  width:13px;
  height:13px
}
.result-bar {
  margin-bottom:14px
}
.result-bar h2 {
  font-size:15px;
  display:flex;
  align-items:center;
  gap:8px
}
.result-bar span {
  font-size:10px;
  color:#9aa59d;
  font-weight:400
}
.sort-select {
  border:0;
  background:transparent;
  color:#8b978f;
  font-size:10px;
  max-width:98px
}
.job-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px
}
.job-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:19px 19px 0;
  position:relative;
  cursor:pointer;
  transition:border .18s,box-shadow .18s,transform .18s;
  min-width:0
}
.job-card:hover {
  border-color:#afcdb9;
  box-shadow:0 7px 25px #174b3010;
  transform:translateY(-2px)
}
.job-category-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  width:37px;
  height:37px;
  background:#edf1e8;
  color:#8b9d61
}
.job-category-icon svg {
  width:21px;
  height:21px
}
.job-category-icon.blue {
  background:#ebf0f7;
  color:#8ca0be
}
.job-category-icon.orange {
  background:#faf0e6;
  color:#c8a075
}
.job-category-icon.purple {
  background:#f0eafa;
  color:#a191be
}
.job-category-icon.pink {
  background:#faedf0;
  color:#bf96a4
}
.job-card .bookmark {
  padding:5px;
  color:#b2bcb4
}
.bookmark.saved {
  color:var(--green)
}
.bookmark.saved svg {
  fill:#d7ebdf
}
.job-card h3 {
  font-size:14px;
  line-height:1.7;
  margin:13px 0 9px;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.pay {
  font-size:23px;
  font-weight:650;
  letter-spacing:-.5px;
  color:var(--green);
  line-height:1.4
}
.pay .currency {
  font-size:14px;
  margin-right:1px
}
.pay small {
  font-size:10px;
  font-weight:400;
  letter-spacing:0;
  color:#9da8a0;
  margin-left:3px
}
.job-meta {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:10px;
  color:#8b978f;
  margin-top:12px
}
.job-meta svg {
  width:13px;
  height:13px
}
.job-meta .divider {
  height:9px;
  background:#dce2dd;
  width:1px;
  margin:0 3px
}
.job-card .tags {
  margin-top:12px
}
.job-card .tag {
  font-size:10px;
  padding:2px 7px
}
.match-line {
  display:flex;
  align-items:center;
  gap:4px;
  color:#7f9d87;
  font-size:9px;
  min-height:34px;
  margin-top:4px
}
.match-line svg {
  width:11px;
  height:11px
}
.card-footer {
  padding:12px 0;
  border-top:1px solid #f0f3f0;
  display:flex;
  align-items:center;
  gap:6px;
  color:#98a197;
  font-size:10px
}
.card-footer .avatar {
  width:22px;
  height:22px;
  font-size:9px;
  border-width:0
}
.card-footer .link-arrow {
  margin-left:auto;
  color:#a5b0a6
}
.card-footer .link-arrow svg {
  width:13px;
  height:13px
}
.rail-card {
  padding:21px 19px
}
.profile-summary {
  text-align:center;
  padding-top:24px
}
.profile-summary .avatar {
  width:59px;
  height:59px;
  font-size:23px
}
.profile-summary h3 {
  margin-top:8px;
  font-size:15px
}
.profile-summary>p {
  color:#a0aca3;
  font-size:10px;
  margin:3px 0 14px
}
.profile-summary .tags {
  justify-content:center;
  gap:5px
}
.profile-summary .tag {
  font-size:9px
}
.progress-area {
  text-align:left;
  margin-top:20px
}
.progress-area .between {
  font-size:10px;
  color:#91a094
}
.progress-track {
  height:4px;
  border-radius:5px;
  background:#eff3ee;
  overflow:hidden;
  margin:7px 0 16px
}
.progress-track span {
  height:100%;
  display:block;
  background:#8eb596;
  border-radius:5px
}
.profile-summary .btn {
  font-size:10px;
  min-height:33px;
  padding:5px
}
.rail-card h3 {
  font-size:12px
}
.rail-card .text-btn {
  font-size:9px
}
.rail-card .text-btn svg {
  width:11px;
  height:11px
}
.week-mini {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:5px;
  margin-top:18px
}
.mini-day {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  font-size:9px;
  color:#a2ada4;
  padding:5px 0
}
.mini-day strong {
  font-size:12px;
  font-weight:500;
  color:#7c8f80;
  width:24px;
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:5px
}
.mini-day.available strong {
  background:#e9f3e9;
  color:#5d8d67
}
.mini-day.today strong {
  background:var(--green);
  color:#fff
}
.mini-day .point {
  width:3px;
  height:3px;
  background:#a3c0a3;
  border-radius:50%
}
.mini-day:not(.available) .point {
  visibility:hidden
}
.mini-slot {
  margin-top:14px;
  display:flex;
  gap:8px;
  align-items:center;
  font-size:10px;
  color:#839986
}
.mini-slot svg {
  width:13px;
  height:13px
}
.rail-tip {
  font-size:9px;
  color:#b0b9b0;
  margin-top:10px;
  line-height:1.9
}
.quick-stats {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  text-align:center;
  margin-top:17px
}
.quick-stats>div+div {
  border-left:1px solid var(--line)
}
.quick-stats strong {
  font-size:23px;
  font-weight:550;
  color:#477653;
  display:block;
  line-height:1.5
}
.quick-stats span {
  font-size:9px;
  color:#9ca99e
}
.rail-foot {
  font-size:9px;
  text-align:center;
  color:#b5beb5;
  line-height:2.3;
  padding-top:3px
}
.rail-foot .row {
  justify-content:center;
  gap:10px
}
.bottom-note {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:24px;
  font-size:10px;
  color:#adb7ae
}
.bottom-note:before,.bottom-note:after {
  content:'';
  height:1px;
  width:35px;
  background:#e2e8e1
}
.empty-state {
  padding:55px 22px;
  text-align:center;
  grid-column:1/-1
}
.empty-state>svg {
  width:36px;
  height:36px;
  color:#abc2b2;
  margin-bottom:15px
}
.empty-state h3 {
  font-size:16px;
  margin-bottom:6px
}
.empty-state p {
  font-size:12px;
  color:#94a098;
  margin-bottom:20px
}
.loading-state {
  opacity:.6;
  pointer-events:none
}
.inline-note {
  padding:11px 14px;
  border-radius:8px;
  background:#eef5f0;
  color:#7a9280;
  font-size:11px;
  line-height:1.9
}
.inline-note.orange {
  background:#fdf4e8;
  color:#ac8e61
}
.inline-note svg {
  width:14px;
  height:14px;
  vertical-align:-3px;
  margin-right:4px
}
.talent-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px
}
.talent-card {
  padding:22px;
  transition:box-shadow .18s
}
.talent-card:hover {
  box-shadow:0 7px 25px #174b3010
}
.talent-card h3 {
  font-size:16px
}
.talent-card .subtitle {
  font-size:11px;
  color:#9aa59e;
  margin-top:2px
}
.talent-card .bio {
  font-size:12px;
  color:#8e9c93;
  margin:18px 0;
  min-height:56px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.talent-card .tags {
  min-height:29px
}
.talent-card .talent-bottom {
  display:flex;
  align-items:center;
  gap:8px;
  border-top:1px solid var(--line);
  padding-top:17px;
  margin-top:20px
}
.talent-card .pay {
  font-size:19px;
  margin-right:auto
}
.talent-card .btn {
  font-size:11px;
  min-height:32px;
  padding:5px 10px
}
.talent-filter {
  margin:22px 0
}
.list-tabs {
  display:flex;
  gap:26px;
  border-bottom:1px solid var(--line);
  margin-bottom:22px
}
.list-tabs button {
  font-size:13px;
  color:#96a398;
  border-bottom:2px solid transparent;
  padding:11px 2px
}
.list-tabs button.active {
  color:var(--green);
  border-color:var(--green)
}
.collab-card {
  padding:21px 24px;
  margin-bottom:15px;
  display:flex;
  gap:15px
}
.collab-content {
  flex:1;
  min-width:0
}
.collab-card h3 {
  font-size:15px
}
.collab-card .job-meta {
  margin-top:9px
}
.collab-card .row.actions {
  margin-top:18px;
  justify-content:flex-end;
  flex-wrap:wrap
}
.collab-card .badge {
  margin-left:auto
}
.collab-card .inline-note {
  margin-top:15px
}
.stats-strip {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-bottom:25px
}
.stat-card {
  padding:18px 21px
}
.stat-card>span {
  font-size:11px;
  color:#94a298
}
.stat-card strong {
  display:block;
  font-size:28px;
  font-weight:550;
  margin-top:4px
}
.stat-card svg {
  color:#9cbaaa
}
.my-job-actions {
  margin-top:14px;
  display:flex;
  gap:8px;
  justify-content:flex-end
}
.form-panel {
  padding:30px
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.field {
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:12px;
  color:#687e70
}
.field.full {
  grid-column:1/-1
}
.field label {
  font-size:12px;
  font-weight:500
}
.field label .required {
  color:#c6876a;
  margin-left:3px
}
.field input,.field select,.field textarea {
  border:1px solid #dfe7e0;
  border-radius:7px;
  background:#fff;
  padding:10px 12px;
  color:#40594a;
  width:100%;
  font-size:12px;
  min-height:41px
}
.field textarea {
  resize:vertical;
  min-height:115px;
  line-height:1.9
}
.field input::placeholder,.field textarea::placeholder {
  color:#b0bab2
}
.field .help {
  font-size:10px;
  color:#a3afa6;
  line-height:1.8
}
.form-section {
  font-size:15px;
  font-weight:600;
  margin:26px 0 20px;
  padding-bottom:13px;
  border-bottom:1px solid var(--line)
}
.form-section:first-child {
  margin-top:0
}
.form-footer {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:20px;
  margin-top:30px;
  padding-top:21px;
  border-top:1px solid var(--line)
}
.form-footer p {
  font-size:10px;
  color:#98a69d
}
.draft-badge {
  font-size:10px;
  color:#8ba18e;
  margin-left:10px
}
.location-fields {
  grid-column:1/-1;
  padding:17px;
  background:#f7f9f7;
  border-radius:8px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px
}
.schedule-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:24px
}
.schedule-days {
  margin-top:25px
}
.schedule-day {
  display:flex;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid #f0f3ef;
  gap:18px
}
.schedule-day:last-child {
  border-bottom:0
}
.day-checkbox {
  display:flex;
  align-items:center;
  gap:9px;
  min-width:92px;
  font-size:12px;
  color:#667e6d
}
.day-checkbox input {
  accent-color:var(--green);
  width:15px;
  height:15px
}
.schedule-day input[type=time] {
  border:1px solid #e1e8e1;
  border-radius:6px;
  padding:6px 8px;
  font-size:12px;
  color:#6b8070;
  width:110px;
  background:white
}
.schedule-day .not-available {
  font-size:11px;
  color:#abb4ae;
  flex:1
}
.slot-list {
  display:flex;
  flex-direction:column;
  gap:9px;
  flex:1
}
.slot-line {
  display:flex;
  align-items:center;
  gap:10px
}
.schedule-day>button {
  font-size:10px;
  margin-left:auto
}
.exceptions-list {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:17px
}
.exception-item {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:11px;
  color:#899d8e;
  background:#f5f8f4;
  padding:8px 10px;
  border-radius:6px
}
.booking-item {
  padding:13px 0;
  border-bottom:1px solid var(--line)
}
.booking-item h3 {
  font-size:12px
}
.booking-item p {
  font-size:10px;
  color:#9daa9f;
  margin-top:5px
}
.profile-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:24px
}
.profile-banner {
  padding:28px;
  background:linear-gradient(115deg,#e7f0e5,#f4f7ec);
  border-bottom:1px solid var(--line);
  border-radius:12px 12px 0 0
}
.profile-banner h2 {
  font-size:23px
}
.profile-banner p {
  font-size:12px;
  color:#8c9e8e;
  margin-top:4px
}
.profile-body {
  padding:28px
}
.profile-info {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:24px 0
}
.profile-info>div+div {
  border-left:1px solid var(--line);
  padding-left:25px
}
.profile-info strong {
  display:block;
  color:#617e69;
  font-size:17px;
  font-weight:500
}
.profile-info small {
  color:#a1aea4;
  font-size:10px
}
.profile-bio {
  font-size:13px;
  white-space:pre-line;
  color:#87968b;
  line-height:2
}
.resume-drop {
  border:1px dashed #b8d1bd;
  border-radius:9px;
  background:#f7faf6;
  padding:24px;
  text-align:center;
  cursor:pointer;
  width:100%
}
.resume-drop:hover {
  background:#eff6ee
}
.resume-drop svg {
  width:26px;
  height:26px;
  color:#8bad92;
  margin-bottom:10px
}
.resume-drop strong {
  display:block;
  font-size:12px;
  color:#6b8e73;
  font-weight:500
}
.resume-drop small {
  font-size:10px;
  color:#a4b3a6;
  display:block;
  margin-top:5px
}
.file-item {
  display:flex;
  gap:9px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--line)
}
.file-item>svg {
  width:19px;
  height:19px;
  color:#8eb398
}
.file-item strong {
  font-size:11px;
  font-weight:500;
  display:block;
  overflow-wrap:anywhere
}
.file-item small {
  font-size:9px;
  color:#a3afa6;
  display:block
}
.profile-actions {
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:22px
}
.toggle {
  width:32px;
  height:18px;
  border-radius:20px;
  background:#cbd6cc;
  padding:2px;
  display:inline-flex;
  align-items:center;
  transition:background .2s
}
.toggle.on {
  background:var(--green)
}
.toggle span {
  width:14px;
  height:14px;
  background:#fff;
  border-radius:50%;
  transition:transform .2s
}
.toggle.on span {
  transform:translateX(14px)
}
.inbox {
  display:grid;
  grid-template-columns:285px minmax(0,1fr);
  height:calc(100vh - 215px);
  min-height:470px;
  overflow:hidden
}
.conversation-list {
  border-right:1px solid var(--line);
  overflow:auto
}
.inbox-list-header {
  padding:20px;
  border-bottom:1px solid var(--line);
  font-size:12px;
  color:#7c9283
}
.conversation-item {
  width:100%;
  padding:19px 17px;
  display:flex;
  gap:10px;
  text-align:left;
  border-bottom:1px solid #f1f4f1
}
.conversation-item.active {
  background:#f0f6f0;
  box-shadow:inset 3px 0 var(--green)
}
.conversation-item .avatar {
  width:38px;
  height:38px;
  font-size:14px
}
.conversation-item .conv-info {
  min-width:0;
  flex:1
}
.conv-info strong {
  font-size:12px;
  font-weight:550
}
.conv-info small {
  font-size:9px;
  color:#acb6ad
}
.conv-info p {
  font-size:11px;
  color:#9caaa0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  margin-top:4px
}
.unread-number {
  font-size:9px;
  min-width:16px;
  height:16px;
  background:var(--green);
  color:white;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-left:5px
}
.chat-area {
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  background:#fff
}
.chat-header {
  height:76px;
  border-bottom:1px solid var(--line);
  padding:15px 23px;
  flex-shrink:0
}
.chat-header h3 {
  font-size:13px
}
.chat-header p {
  font-size:10px;
  color:#9dad9f;
  margin-top:2px
}
.chat-context {
  padding:13px 20px;
  background:#f8faf7;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:9px;
  font-size:11px;
  color:#809886
}
.chat-context svg {
  width:15px;
  height:15px
}
.message-stream {
  flex:1;
  overflow:auto;
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:19px
}
.message {
  display:flex;
  gap:8px;
  max-width:85%;
  align-self:flex-start
}
.message.mine {
  align-self:flex-end;
  flex-direction:row-reverse
}
.message .avatar {
  width:29px;
  height:29px;
  font-size:11px;
  border:0
}
.message-bubble {
  background:#f2f5f1;
  border-radius:0 10px 10px 10px;
  padding:11px 14px;
  font-size:12px;
  color:#687f6f;
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
.message.mine .message-bubble {
  background:#e4f0e6;
  border-radius:10px 0 10px 10px;
  color:#41694b
}
.message-time {
  font-size:9px;
  color:#b0bcb2;
  margin-top:4px
}
.mine .message-time {
  text-align:right
}
.system-message {
  align-self:center;
  font-size:10px;
  color:#a5b1a7;
  background:#f6f8f5;
  padding:5px 12px;
  border-radius:5px;
  max-width:90%;
  text-align:center;
  overflow-wrap:anywhere
}
.chat-composer {
  border-top:1px solid var(--line);
  padding:13px 20px 17px
}
.chat-composer .toolbar {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:5px;
  font-size:10px;
  color:#a3b1a5
}
.chat-composer .toolbar button {
  display:flex;
  align-items:center;
  gap:5px;
  color:#8fa494;
  font-size:10px
}
.chat-composer .toolbar svg {
  width:14px;
  height:14px
}
.chat-composer textarea {
  border:0;
  resize:none;
  min-height:65px;
  max-height:130px;
  width:100%;
  font-size:12px;
  padding:6px 0;
  outline:none;
  color:#5b7563
}
.chat-composer textarea::placeholder {
  color:#b5c0b6
}
.chat-composer .btn {
  font-size:11px;
  min-height:32px;
  padding:5px 16px
}
.notification-item {
  display:flex;
  gap:15px;
  padding:22px 25px;
  border-bottom:1px solid var(--line);
  width:100%;
  text-align:left;
  align-items:flex-start
}
.notification-item:last-child {
  border-bottom:0
}
.notification-item.unread {
  background:#f9fcf8
}
.notice-icon {
  width:36px;
  height:36px;
  border-radius:10px;
  background:#eaf3e8;
  color:#86a58c;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0
}
.notice-icon svg {
  width:17px;
  height:17px
}
.notification-item h3 {
  font-size:13px
}
.notification-item p {
  font-size:12px;
  color:#9aab9d;
  margin-top:6px
}
.notification-item small {
  font-size:10px;
  color:#b0bdb2;
  display:block;
  margin-top:9px
}
.read-dot {
  height:6px;
  width:6px;
  border-radius:50%;
  background:var(--green);
  margin-top:9px
}
.modal-backdrop {
  position:fixed;
  inset:0;
  background:#173c2c55;
  backdrop-filter:blur(4px);
  z-index:60;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  animation:fade-in .15s
}
.modal {
  background:#fff;
  border-radius:15px;
  box-shadow:0 25px 100px #14332130;
  width:600px;
  max-width:100%;
  max-height:90vh;
  display:flex;
  flex-direction:column;
  overflow:hidden
}
.modal.wide {
  width:760px
}
.modal.narrow {
  width:430px
}
.modal-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 25px;
  border-bottom:1px solid var(--line)
}
.modal-header h2 {
  font-size:16px
}
.modal-body {
  padding:26px;
  overflow:auto
}
.modal-footer {
  padding:17px 25px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:flex-end;
  gap:10px;
  align-items:center
}
.modal-footer .muted {
  font-size:11px;
  margin-right:auto
}
.detail-title {
  font-size:23px;
  line-height:1.7;
  font-weight:650;
  margin:16px 0 13px
}
.detail-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  padding:21px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin:23px 0
}
.detail-grid .row {
  font-size:12px;
  color:#84998a;
  align-items:flex-start
}
.detail-grid svg {
  width:16px;
  height:16px;
  color:#9caf9f;
  margin-top:2px
}
.detail-grid small {
  display:block;
  color:#adb9b0;
  font-size:10px
}
.detail-description {
  white-space:pre-line;
  font-size:13px;
  line-height:2.1;
  color:#7e9386;
  margin:13px 0 25px;
  overflow-wrap:anywhere
}
.detail-owner {
  padding:16px;
  background:#f7f9f5;
  border-radius:8px;
  display:flex;
  align-items:center;
  gap:10px
}
.detail-owner strong {
  font-size:12px;
  display:block
}
.detail-owner small {
  font-size:10px;
  color:#a2b0a6
}
.detail-reasons {
  font-size:11px;
  display:flex;
  gap:7px;
  align-items:center;
  color:#78a081;
  margin:13px 0
}
.detail-reasons svg {
  width:14px;
  height:14px
}
.modal .form-grid {
  gap:16px
}
.modal .field input,.modal .field select {
  min-height:39px
}
.auth-brand {
  display:flex;
  justify-content:center;
  margin:2px 0 21px
}
.auth-title {
  text-align:center;
  font-size:22px;
  font-weight:600
}
.auth-subtitle {
  text-align:center;
  font-size:11px;
  color:#a1b0a4;
  margin:6px 0 25px
}
.auth-tabs {
  display:flex;
  background:#f2f6f1;
  border-radius:7px;
  padding:3px;
  margin-bottom:23px
}
.auth-tabs button {
  flex:1;
  padding:7px;
  border-radius:5px;
  font-size:12px;
  color:#8b9d8d
}
.auth-tabs button.active {
  background:#fff;
  box-shadow:0 2px 5px #203d2510;
  color:var(--green)
}
.auth-form {
  display:flex;
  flex-direction:column;
  gap:17px
}
.demo-login {
  border-top:1px solid var(--line);
  margin-top:24px;
  padding-top:17px
}
.demo-login>p {
  font-size:10px;
  color:#9eb0a1;
  text-align:center;
  margin-bottom:12px
}
.demo-login .row {
  gap:10px
}
.demo-login .btn {
  flex:1;
  font-size:11px
}
.auth-error,.form-error {
  color:#bd7862;
  font-size:11px;
  min-height:0
}
.modal .confirm-summary {
  background:#f4f8f2;
  padding:16px;
  border-radius:8px;
  font-size:12px;
  color:#7a9581;
  line-height:2
}
.confirm-summary strong {
  color:#4e7559
}
.confirm-summary .between {
  align-items:flex-start
}
.invite-option {
  display:flex;
  gap:10px;
  align-items:flex-start;
  border:1px solid var(--line);
  border-radius:8px;
  padding:15px;
  margin-bottom:10px;
  cursor:pointer;
  font-size:12px
}
.invite-option input {
  accent-color:var(--green);
  margin-top:5px
}
.invite-option small {
  display:block;
  color:#a5b5a8;
  margin-top:4px
}
.invite-option:has(input:checked) {
  border-color:#a9c7b0;
  background:#f5faf3
}
.confirm-check {
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:11px;
  color:#8ba18f;
  margin-top:17px
}
.confirm-check input {
  accent-color:var(--green);
  margin-top:4px
}
.confirm-check span {
  line-height:1.9
}
.toast {
  position:fixed;
  bottom:32px;
  left:50%;
  transform:translateX(-50%);
  padding:12px 21px;
  background:#284d37;
  color:#fff;
  box-shadow:0 4px 18px #20452b25;
  border-radius:9px;
  font-size:12px;
  z-index:100;
  animation:toast-in .2s;
  max-width:calc(100vw - 30px);
  display:flex;
  gap:9px;
  align-items:center
}
.toast.error {
  background:#9a6551
}
.toast svg {
  width:17px;
  height:17px
}
.form-step {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:11px;
  color:#a4b2a7
}
.form-step .number {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:23px;
  height:23px;
  border-radius:50%;
  background:#e7f1e4;
  color:#6c9a78;
  font-size:10px
}
.form-step.active {
  color:#557c5e
}
.saved-title {
  margin-bottom:20px
}
.account-note {
  font-size:10px;
  color:#9bad9f;
  margin-top:14px
}
.mobile-nav {
  display:none
}
@keyframes fade-in {
  from {
    opacity:0
  }
  to {
    opacity:1
  }
}
@keyframes toast-in {
  from {
    opacity:0;
    transform:translate(-50%,10px)
  }
  to {
    opacity:1;
    transform:translate(-50%,0)
  }
}
@media(min-width:1500px) {
  .workspace {
    padding:35px 45px 55px
  }
  .content-grid {
    grid-template-columns:minmax(0,1fr) 285px;
    gap:28px
  }
  .job-card {
    padding:23px 23px 0
  }
  .hero {
    padding:32px;
    min-height:218px
  }
  .hero-art {
    right:30px
  }
  .job-card h3 {
    font-size:16px
  }
  .job-meta {
    font-size:11px
  }
  .job-card .tag {
    font-size:11px
  }
}
@media(max-width:1250px) {
  .topbar {
    padding:0 23px;
    gap:15px
  }
  .sidebar {
    width:195px;
    padding:28px 13px
  }
  .topbar .brand {
    width:160px
  }
  .workspace {
    padding:25px 24px 40px
  }
  .content-grid {
    grid-template-columns:minmax(0,1fr) 230px;
    gap:19px
  }
  .rail-card {
    padding:19px 15px
  }
  .hero-art {
    right:-25px;
    width:220px;
    opacity:.85
  }
  .hero h2 {
    font-size:25px
  }
  .hero p {
    max-width:250px
  }
  .categories {
    gap:14px
  }
  .job-card {
    padding:15px 15px 0
  }
  .job-card h3 {
    font-size:13px
  }
  .talent-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .brand-tagline {
    font-size:10px
  }
  .inbox {
    grid-template-columns:245px minmax(0,1fr)
  }
}
@media(max-width:1080px) {
  .content-grid {
    grid-template-columns:minmax(0,1fr)
  }
  .right-rail {
    display:none
  }
  .hero-art {
    right:35px;
    width:270px;
    opacity:1
  }
  .hero p {
    max-width:330px
  }
  .hero h2 {
    font-size:28px
  }
  .hero {
    min-height:205px
  }
  .schedule-layout {
    grid-template-columns:minmax(0,1fr) 245px;
    gap:18px
  }
  .profile-layout {
    grid-template-columns:minmax(0,1fr) 250px;
    gap:18px
  }
  .form-panel {
    padding:23px
  }
  .brand-tagline {
    display:none
  }
  .topbar .brand {
    width:150px
  }
  .stats-strip {
    gap:12px
  }
  .stat-card {
    padding:15px
  }
}
@media(max-width:850px) {
  .sidebar {
    width:170px;
    padding:25px 10px
  }
  .nav-item {
    padding:11px 13px;
    font-size:12px;
    gap:9px
  }
  .nav-label {
    padding-left:12px
  }
  .workspace {
    padding:23px 20px 40px
  }
  .topbar {
    height:67px
  }
  .sidebar {
    top:67px;
    height:calc(100vh - 67px)
  }
  .topbar .brand {
    width:125px
  }
  .hero-art {
    right:-20px;
    width:230px;
    opacity:.7
  }
  .hero h2 {
    font-size:25px
  }
  .hero p {
    max-width:260px
  }
  .hero {
    padding:23px
  }
  .job-card h3 {
    font-size:12px
  }
  .job-meta {
    font-size:9px
  }
  .job-grid {
    gap:12px
  }
  .job-card {
    padding:14px 13px 0
  }
  .top-actions {
    gap:9px
  }
  .demo-label {
    display:none
  }
  .schedule-layout,.profile-layout {
    grid-template-columns:1fr
  }
  .inbox {
    grid-template-columns:210px minmax(0,1fr)
  }
  .stats-strip {
    grid-template-columns:repeat(2,1fr)
  }
  .collab-card {
    padding:18px
  }
  .inbox-list-header {
    padding:17px 14px
  }
  .conversation-item {
    padding:16px 10px;
    gap:7px
  }
  .conversation-item .avatar {
    width:31px;
    height:31px;
    font-size:12px
  }
  .form-step {
    font-size:10px;
    gap:7px
  }
  .talent-card {
    padding:18px
  }
  .page-top p {
    max-width:360px
  }
}
@media(max-width:680px) {
  :root {
    font-size:13px
  }
  .topbar {
    padding:0 17px;
    height:64px;
    gap:12px
  }
  .topbar .brand {
    width:auto
  }
  .brand-icon {
    width:31px;
    height:31px;
    font-size:20px;
    border-radius:9px
  }
  .brand-word {
    font-size:21px
  }
  .brand-en {
    font-size:8px
  }
  .location-button {
    font-size:11px;
    margin-left:3px
  }
  .top-actions {
    gap:5px
  }
  .top-actions .publish-top {
    display:none
  }
  .top-actions>.avatar {
    display:none
  }
  .sidebar {
    display:none
  }
  .sidebar.mobile-open {
    display:flex;
    position:fixed;
    top:64px;
    left:0;
    width:220px;
    background:#fbfcfb;
    z-index:45;
    height:calc(100dvh - 64px);
    box-shadow:10px 0 40px #31543920;
    padding-bottom:80px
  }
  .mobile-menu {
    display:inline-flex;
    margin-left:-8px;
    padding:6px
  }
  .workspace {
    padding:22px 16px 95px
  }
  .page-top {
    margin-bottom:20px
  }
  h1 {
    font-size:24px
  }
  .page-top p {
    font-size:11px;
    max-width:280px
  }
  .eyebrow {
    font-size:10px
  }
  .page-top .text-btn {
    font-size:10px
  }
  .hero {
    padding:22px 19px;
    min-height:190px;
    margin-bottom:20px
  }
  .hero h2 {
    font-size:23px;
    letter-spacing:0
  }
  .hero p {
    font-size:10px;
    max-width:215px
  }
  .hero-art {
    right:-58px;
    top:16px;
    width:210px;
    opacity:.48
  }
  .hero-kicker {
    font-size:9px
  }
  .hero .row {
    margin-top:20px
  }
  .hero .btn {
    font-size:10px;
    padding:6px 11px;
    min-height:32px
  }
  .search-box {
    gap:5px
  }
  .search-box>svg {
    width:15px;
    height:15px;
    margin-left:7px
  }
  .search-box input {
    font-size:11px
  }
  .search-box select {
    max-width:75px;
    font-size:10px;
    padding:4px 3px
  }
  .search-box .btn {
    padding:5px 13px
  }
  .categories {
    gap:21px
  }
  .category {
    font-size:11px;
    padding-top:14px
  }
  .filter-row {
    gap:6px;
    margin:13px 0 20px
  }
  .filter-control {
    padding:5px 7px
  }
  .filter-control,.filter-control input,.filter-control select {
    font-size:9px
  }
  .filter-control input[type=date] {
    width:100px
  }
  .check-label {
    font-size:9px
  }
  .job-grid {
    grid-template-columns:1fr;
    gap:13px
  }
  .job-card {
    padding:18px 18px 0
  }
  .job-card h3 {
    font-size:15px;
    margin-top:12px
  }
  .job-card .tags {
    margin-top:11px
  }
  .job-card .tag {
    font-size:10px
  }
  .job-meta {
    font-size:11px;
    margin-top:10px
  }
  .job-card .job-meta {
    display:inline-flex;
    margin-right:11px
  }
  .match-line {
    font-size:10px
  }
  .card-footer {
    padding:13px 0;
    font-size:11px
  }
  .job-category-icon {
    width:36px;
    height:36px
  }
  .job-card .pay {
    font-size:24px
  }
  .result-bar {
    margin-bottom:12px
  }
  .result-bar h2 {
    font-size:14px
  }
  .mobile-nav {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    background:#fffffff5;
    backdrop-filter:blur(12px);
    border-top:1px solid var(--line);
    display:flex;
    justify-content:space-around;
    padding:8px 7px max(8px,env(safe-area-inset-bottom));
    z-index:40
  }
  .mobile-nav button {
    display:flex;
    flex-direction:column;
    gap:2px;
    align-items:center;
    color:#9ba89f;
    font-size:9px;
    position:relative;
    min-width:50px
  }
  .mobile-nav button svg {
    width:20px;
    height:20px
  }
  .mobile-nav button.active {
    color:var(--green)
  }
  .mobile-nav button.publish-mobile {
    margin-top:-20px
  }
  .publish-mobile .plus-circle {
    width:42px;
    height:42px;
    background:var(--green);
    border:4px solid #f6f8f7;
    border-radius:50%;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:2px
  }
  .mobile-nav .notification-dot {
    right:10px;
    top:0
  }
  .talent-grid {
    grid-template-columns:1fr;
    gap:14px
  }
  .talent-card {
    padding:21px
  }
  .talent-card .bio {
    min-height:0;
    margin:15px 0
  }
  .talent-card .talent-bottom {
    margin-top:16px
  }
  .stats-strip {
    gap:10px;
    margin-bottom:18px
  }
  .stat-card {
    padding:15px 17px
  }
  .stat-card strong {
    font-size:25px
  }
  .collab-card {
    padding:17px;
    gap:9px
  }
  .collab-card>.avatar {
    width:32px;
    height:32px;
    font-size:12px
  }
  .collab-card h3 {
    font-size:13px
  }
  .collab-card .between {
    align-items:flex-start;
    gap:6px
  }
  .collab-card .badge {
    font-size:9px
  }
  .collab-card .job-meta {
    font-size:10px;
    flex-wrap:wrap
  }
  .collab-card .row.actions {
    gap:7px;
    margin-top:15px
  }
  .btn {
    padding:9px 13px;
    min-height:39px
  }
  .collab-card .btn.small {
    font-size:10px
  }
  .form-panel {
    padding:21px 17px
  }
  .form-grid {
    gap:16px 12px
  }
  .field input,.field select,.field textarea {
    padding:9px;
    font-size:12px
  }
  .field label {
    font-size:11px
  }
  .field.full-mobile {
    grid-column:1/-1
  }
  .field .help {
    font-size:9px
  }
  .form-footer {
    align-items:flex-start;
    gap:10px;
    flex-direction:column-reverse
  }
  .form-footer .btn {
    width:100%
  }
  .form-footer p {
    font-size:9px
  }
  .location-fields {
    padding:13px;
    gap:12px
  }
  .form-step {
    font-size:9px;
    gap:4px
  }
  .form-step .number {
    height:20px;
    width:20px
  }
  .page-top .stepper {
    display:none
  }
  .schedule-day {
    gap:10px;
    padding:16px 0;
    flex-wrap:wrap
  }
  .day-checkbox {
    min-width:70px;
    font-size:11px
  }
  .schedule-day input[type=time] {
    width:98px;
    font-size:11px;
    padding:6px
  }
  .slot-line {
    gap:5px
  }
  .schedule-day>button {
    margin-left:80px;
    font-size:9px
  }
  .schedule-days {
    margin-top:15px
  }
  .profile-banner {
    padding:22px 18px
  }
  .profile-banner .avatar.lg {
    width:61px;
    height:61px;
    font-size:24px
  }
  .profile-banner h2 {
    font-size:20px
  }
  .profile-body {
    padding:21px 18px
  }
  .profile-info>div+div {
    padding-left:15px
  }
  .profile-info strong {
    font-size:15px
  }
  .profile-banner .btn {
    font-size:10px;
    min-height:30px;
    padding:4px 9px
  }
  .profile-bio {
    font-size:12px
  }
  .inbox {
    height:calc(100dvh - 253px);
    min-height:390px;
    grid-template-columns:1fr
  }
  .conversation-list {
    border-right:0
  }
  .chat-area {
    display:none
  }
  .inbox.has-chat .conversation-list {
    display:none
  }
  .inbox.has-chat .chat-area {
    display:flex
  }
  .chat-header {
    padding:12px 14px;
    height:65px
  }
  .chat-header .chat-back {
    display:flex
  }
  .chat-context {
    padding:10px 14px;
    font-size:10px
  }
  .message-stream {
    padding:19px 14px
  }
  .message-bubble {
    padding:10px 12px;
    font-size:12px
  }
  .message {
    max-width:95%
  }
  .chat-composer {
    padding:12px 14px
  }
  .chat-composer textarea {
    min-height:54px
  }
  .notification-item {
    padding:19px 16px;
    gap:11px
  }
  .notification-item h3 {
    font-size:12px
  }
  .notification-item p {
    font-size:11px
  }
  .notification-item small {
    font-size:9px
  }
  .notice-icon {
    width:31px;
    height:31px
  }
  .modal-backdrop {
    padding:13px;
    align-items:center
  }
  .modal {
    max-height:92dvh;
    border-radius:12px
  }
  .modal-header {
    padding:16px 18px
  }
  .modal-body {
    padding:21px 18px
  }
  .modal-footer {
    padding:14px 17px;
    flex-wrap:wrap;
    gap:8px
  }
  .modal-footer .muted {
    font-size:9px;
    flex-basis:100%
  }
  .modal-footer .btn {
    font-size:11px
  }
  .detail-title {
    font-size:20px
  }
  .detail-grid {
    gap:16px 10px
  }
  .detail-grid .row {
    font-size:11px;
    gap:7px
  }
  .detail-description {
    font-size:12px
  }
  .modal .form-grid {
    gap:13px 10px
  }
  .toast {
    bottom:85px;
    font-size:11px;
    padding:11px 16px
  }
  .list-tabs {
    gap:24px
  }
  .list-tabs button {
    font-size:12px
  }
  .empty-state {
    padding:44px 15px
  }
  .empty-state p {
    font-size:11px
  }
  .modal-body .auth-title {
    font-size:21px
  }
  .bottom-note {
    font-size:9px
  }
  .chat-back {
    padding:3px
  }
  .profile-layout>.stack {
    min-width:0
  }
}
@media(min-width:681px) {
  .chat-back {
    display:none
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}
.sidebar {
  overflow-y:auto;
  scrollbar-width:thin
}
.sidebar-note {
  flex-shrink:0;
  min-height:136px;
  margin-top:24px
}
.sidebar-user {
  flex-shrink:0
}
.job-card h3 {
  white-space:normal;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  min-height:44px
}
.muted {
  color:#718477
}
.job-meta {
  color:#74877a
}
.rail-tip {
  color:#879c8c
}
.filter-control {
  color:#6e8475
}
.hero p {
  color:#64816a
}
.hero-kicker {
  color:#5e7f63
}
.card-footer {
  color:#7e9384
}
@media (min-width:681px) {
  .page-top { margin-bottom:20px; }
  .hero { min-height:177px; padding:22px 26px; margin-bottom:20px; }
  .hero h2 { font-size:26px; }
  .hero p { margin-top:6px; }
  .hero .row { margin-top:16px; }
  .hero-art { top:-14px; }
  .categories { margin-top:8px; }
  .category { padding-top:11px; padding-bottom:10px; }
  .filter-row { margin:12px 0 17px; }
}
