:root{--green:#0b7d61;--green-dark:#075c49;--green-soft:#e8f4ec;--cream:#fbf7ed;--paper:#fffdf8;--ink:#163b34;--muted:#647a73;--line:#dbe7e1;--accent:#e9ad35;--danger:#c94444;--shadow:0 18px 55px rgba(7,92,73,.12);--radius:20px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--cream)}button,input,select,textarea{font:inherit}button,a{transition:.2s ease}.hidden{display:none!important}.muted{color:var(--muted);line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-size:11px;font-weight:800}.auth-page{min-height:100vh;display:grid;place-items:center;padding:70px 20px;position:relative;background:radial-gradient(circle at 15% 15%,#d8efe2 0,transparent 30%),radial-gradient(circle at 90% 80%,#f6e2b8 0,transparent 27%),var(--cream)}.auth-brand{position:absolute;left:36px;top:28px;color:var(--green);font-size:28px;font-weight:800;text-decoration:none}.auth-card{width:min(900px,100%);display:grid;grid-template-columns:1fr 1fr;border-radius:30px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow);border:1px solid rgba(11,125,97,.12)}.auth-hero{padding:64px 48px;min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(155deg,rgba(7,92,73,.95),rgba(17,147,111,.87)),url('/images/partner.webp') center/cover}.auth-mark{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.15);font-size:25px;margin-bottom:auto}.auth-hero strong{font-size:31px}.auth-hero span{opacity:.78;margin-top:8px}.auth-form{padding:58px 48px;display:flex;flex-direction:column;justify-content:center}.auth-form h1{font-size:34px;margin:6px 0 8px}.auth-form form{display:grid;gap:15px;margin-top:22px}.auth-form label,.form-grid label,.field{display:grid;gap:7px;font-size:12px;font-weight:800;color:#345b50}.auth-form input,.form-grid input,.form-grid select,.form-grid textarea,.filters select,.inline-form input,.inline-form textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px 14px;outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(11,125,97,.1)}.button{border:0;border-radius:13px;padding:12px 17px;font-weight:800;cursor:pointer;text-decoration:none;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:var(--green-dark)}.button.secondary{background:var(--green-soft);color:var(--green-dark)}.button.outline{background:transparent;color:var(--green);border:1px solid var(--green)}.button.danger{background:#fff0f0;color:var(--danger);border:1px solid #f2cece}.button:disabled{opacity:.55;cursor:not-allowed}.wide{width:100%}.form-error{min-height:18px;margin:0;color:var(--danger);font-size:12px;font-weight:700}.auth-note{font-size:12px;color:var(--muted);text-align:center;margin:18px 0 5px}.back-link{color:var(--green);text-align:center;font-size:13px;font-weight:700;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--green-dark);color:#fff;padding:28px 20px;display:flex;flex-direction:column}.brand{font-size:27px;font-weight:800;color:#fff;text-decoration:none;padding:0 10px}.partner-mini{display:flex;gap:11px;align-items:center;margin:28px 0 22px;padding:13px;border-radius:16px;background:rgba(255,255,255,.08)}.avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--accent);color:var(--green-dark);font-weight:800}.partner-mini div{min-width:0}.partner-mini strong,.partner-mini small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.partner-mini strong{font-size:13px}.partner-mini small{font-size:10px;opacity:.65;margin-top:3px}.nav-list{display:grid;gap:6px}.nav-list button,.logout-button{border:0;background:transparent;color:rgba(255,255,255,.7);border-radius:13px;padding:12px 14px;text-align:left;font-weight:700;cursor:pointer}.nav-list button span{display:inline-grid;width:26px}.nav-list button:hover,.nav-list button.active{background:rgba(255,255,255,.12);color:#fff}.logout-button{margin-top:auto}.workspace{min-width:0}.topbar{height:92px;padding:18px 34px;display:flex;align-items:center;gap:18px;background:rgba(251,247,237,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar p{font-size:10px;color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin:0}.topbar h1{font-size:23px;margin:3px 0 0}.menu-button,.icon-button{border:1px solid var(--line);background:#fff;border-radius:12px;width:42px;height:42px;cursor:pointer;color:var(--green-dark);font-size:20px}.menu-button{display:none}.icon-button{margin-left:auto}.content{padding:28px 34px 50px;max-width:1450px;width:100%;margin:0 auto}.hero-panel{padding:26px;border-radius:24px;background:linear-gradient(135deg,var(--green-dark),var(--green));color:#fff;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.hero-panel h2{margin:5px 0;font-size:25px}.hero-panel p{margin:0;opacity:.75}.hero-icon{width:58px;height:58px;border-radius:17px;background:rgba(255,255,255,.13);display:grid;place-items:center;font-size:25px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.filters select{width:auto;min-width:160px;padding:10px 34px 10px 12px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:0 8px 26px rgba(7,92,73,.05)}.card.clickable{cursor:pointer}.card.clickable:hover{transform:translateY(-2px);border-color:rgba(11,125,97,.45);box-shadow:var(--shadow)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card h3{font-size:16px;margin:0}.card p{color:var(--muted);font-size:13px;line-height:1.55}.meta-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.pill{display:inline-flex;padding:5px 9px;border-radius:99px;background:var(--green-soft);color:var(--green-dark);font-size:10px;font-weight:800}.pill.gold{background:#fff1cf;color:#8b6213}.pill.gray{background:#eef2f0;color:#5a6d67}.pill.red{background:#ffeded;color:#a93b3b}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}.price{font-size:18px;font-weight:800;color:var(--green-dark)}.empty-state,.loading-state{border:1px dashed var(--line);border-radius:22px;padding:55px 20px;text-align:center;color:var(--muted);background:rgba(255,255,255,.45)}.loading-state::before{content:'';display:block;width:30px;height:30px;margin:0 auto 15px;border-radius:50%;border:3px solid var(--green-soft);border-top-color:var(--green);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.details-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:18px}.details-main,.details-side{display:grid;gap:15px;align-content:start}.section-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:21px}.section-card h3{margin:0 0 14px;font-size:15px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fact{padding:11px;border-radius:12px;background:#f5f8f6}.fact small,.profile-row small{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.fact strong{font-size:13px}.conversation{display:grid;gap:9px}.message{max-width:82%;padding:10px 12px;border-radius:13px;background:#eef2f0;font-size:12px;line-height:1.5}.message.partner{margin-left:auto;background:var(--green-soft)}.offers{display:grid;gap:9px}.offer{padding:12px;border:1px solid var(--line);border-radius:13px}.offer.mine{border-color:var(--green);background:var(--green-soft)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.gallery img{width:100%;height:110px;object-fit:cover;border-radius:12px;background:#eee}.inline-form,.form-grid{display:grid;gap:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-2{grid-column:1/-1}.actions{display:flex;gap:9px;flex-wrap:wrap}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:18px}.profile-hero{background:linear-gradient(135deg,var(--green-dark),var(--green));color:#fff}.profile-hero h2{font-size:25px;margin:8px 0}.profile-hero p{color:rgba(255,255,255,.7)}.profile-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.profile-row:last-child{border:0}.status-banner{padding:14px;border-radius:14px;background:#fff4d7;color:#735517;font-size:12px;margin-bottom:15px}.modal-backdrop{position:fixed;inset:0;background:rgba(5,34,27,.58);z-index:100;display:grid;place-items:center;padding:20px}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:var(--paper);border-radius:24px;padding:25px;box-shadow:var(--shadow)}.modal h2{margin:0 0 8px}.modal-close{float:right;border:0;background:transparent;font-size:22px;cursor:pointer}.toast-region{position:fixed;right:20px;bottom:20px;z-index:200;display:grid;gap:8px}.toast{max-width:360px;padding:13px 16px;border-radius:13px;background:var(--green-dark);color:#fff;box-shadow:var(--shadow);font-size:12px;animation:toast-in .2s ease}.toast.error{background:#a53b3b}@keyframes toast-in{from{transform:translateY(10px);opacity:0}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-285px;z-index:50;width:270px;transition:.25s}.sidebar.open{left:0}.menu-button{display:block}.content{padding:22px 18px 40px}.topbar{padding:14px 18px}.details-grid,.profile-layout{grid-template-columns:1fr}.auth-card{grid-template-columns:1fr}.auth-hero{display:none}.auth-form{padding:42px 28px}}@media(max-width:580px){.auth-page{padding:70px 12px 20px}.auth-brand{left:20px}.content{padding-inline:12px}.hero-panel{padding:20px}.hero-panel h2{font-size:21px}.hero-icon{display:none}.card-grid{grid-template-columns:1fr}.facts,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.modal{padding:20px}.filters select{flex:1;min-width:135px}}

/* Lead cards: visually separate new, viewed, pending and purchased requests. */
.card-grid {
  gap: 18px;
}

.lead-card {
  position: relative;
  display: flex;
  min-height: 330px;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  border-color: #dce8e2;
  background: #fff;
  box-shadow: 0 10px 28px rgba(16, 42, 34, 0.07);
}

.lead-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #c5d1cc;
  content: "";
}

.lead-card__status {
  display: grid;
  grid-template-columns: 9px auto 1fr;
  align-items: center;
  gap: 8px;
  padding: 14px 20px 13px 22px;
  border-bottom: 1px solid #e8efeb;
  color: #52645d;
  background: #f5f8f6;
}

.lead-card__status strong {
  font-size: 0.76rem;
  letter-spacing: 0.02em;
}

.lead-card__status small {
  justify-self: end;
  color: #82918b;
  font-size: 0.68rem;
}

.lead-card__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #9baaa4;
}

.lead-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px 20px 15px 23px;
}

.lead-card__body h3 {
  margin: 0 0 10px;
  color: #142720;
  font-size: 1.02rem;
  line-height: 1.35;
}

.lead-card__description {
  display: -webkit-box;
  min-height: 5.8em;
  margin: 0;
  overflow: hidden;
  color: #667770;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-height: 1.48;
}

.lead-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: auto;
  padding-top: 16px;
}

.lead-card__meta span {
  padding: 5px 9px;
  border: 1px solid #e3ebe7;
  border-radius: 999px;
  color: #596b64;
  background: #f7f9f8;
  font-size: 0.68rem;
  font-weight: 700;
}

.lead-card__footer {
  display: flex;
  min-height: 69px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 20px 14px 23px;
  border-top: 1px solid #e4ece8;
  background: #fbfcfb;
}

.lead-card__footer > div {
  display: flex;
  flex-direction: column;
}

.lead-card__footer small {
  margin-bottom: 1px;
  color: #87958f;
  font-size: 0.64rem;
}

.lead-card__action {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #176c4c;
  font-size: 0.78rem;
  font-weight: 800;
}

.lead-card__action b {
  font-size: 1rem;
  transition: transform 0.18s ease;
}

.lead-card:hover .lead-card__action b {
  transform: translateX(3px);
}

.lead-card--new {
  border-color: #a8dcca;
  box-shadow: 0 13px 34px rgba(26, 157, 108, 0.13);
}

.lead-card--new::before,
.lead-card--new .lead-card__dot {
  background: #20a873;
}

.lead-card--new .lead-card__status {
  color: #126b4a;
  background: #eaf8f2;
}

.lead-card--new .lead-card__status small {
  color: #4f8873;
}

.lead-card--viewed {
  border-color: #dfe6e2;
  background: #fbfcfb;
  box-shadow: 0 7px 20px rgba(16, 42, 34, 0.045);
}

.lead-card--viewed .lead-card__body,
.lead-card--viewed .lead-card__footer {
  opacity: 0.82;
}

.lead-card--pending::before,
.lead-card--pending .lead-card__dot {
  background: #d69a2e;
}

.lead-card--pending .lead-card__status {
  color: #80590f;
  background: #fff7e4;
}

.lead-card--paid::before,
.lead-card--paid .lead-card__dot {
  background: #277d58;
}

.lead-card--paid .lead-card__status {
  color: #175c3e;
  background: #e5f4ec;
}

.lead-card--paid .lead-card__action {
  color: #175c3e;
}

@media (max-width: 580px) {
  .lead-card {
    min-height: 300px;
  }

  .lead-card__status small {
    display: none;
  }
}
/* Horizontal lead list */
.card-grid {
  grid-template-columns: 1fr;
}

.lead-card {
  display: grid;
  min-height: 190px;
  grid-template-columns: 175px minmax(0, 1fr) 205px;
  grid-template-areas: "state body footer";
}

.lead-card__status {
  grid-area: state;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  gap: 7px;
  padding: 24px 22px 24px 27px;
  border-right: 1px solid #e4ece8;
  border-bottom: 0;
}

.lead-card__status strong {
  font-size: 0.86rem;
}

.lead-card__status small {
  justify-self: auto;
  line-height: 1.35;
}

.lead-card__dot {
  width: 10px;
  height: 10px;
  margin-bottom: 4px;
}

.lead-card__body {
  grid-area: body;
  padding: 24px 28px;
}

.lead-card__body h3 {
  font-size: 1.08rem;
}

.lead-card__description {
  min-height: auto;
  -webkit-line-clamp: 3;
}

.lead-card__meta {
  margin-top: 16px;
  padding-top: 0;
}

.lead-card__footer {
  grid-area: footer;
  min-height: auto;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  padding: 24px;
  border-top: 0;
  border-left: 1px solid #e4ece8;
}

.lead-card__action {
  margin-top: 14px;
  padding: 9px 13px;
  border-radius: 10px;
  background: #e8f4ee;
}

.lead-card--new .lead-card__action {
  color: #fff;
  background: #168c61;
}

@media (max-width: 1050px) {
  .lead-card {
    grid-template-columns: minmax(0, 1fr) 190px;
    grid-template-areas:
      "state state"
      "body footer";
  }

  .lead-card__status {
    display: grid;
    grid-template-columns: 9px auto 1fr;
    align-items: center;
    justify-content: initial;
    padding: 13px 20px 12px 23px;
    border-right: 0;
    border-bottom: 1px solid #e4ece8;
  }

  .lead-card__status small {
    display: block;
    justify-self: end;
  }

  .lead-card__dot {
    width: 8px;
    height: 8px;
    margin: 0;
  }
}

@media (max-width: 700px) {
  .lead-card {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-areas:
      "state"
      "body"
      "footer";
  }

  .lead-card__body {
    padding: 20px 20px 16px 23px;
  }

  .lead-card__footer {
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    padding: 14px 20px 15px 23px;
    border-top: 1px solid #e4ece8;
    border-left: 0;
  }

  .lead-card__action {
    margin-top: 0;
  }
}
/* Enlarged photo viewer */
.gallery figure {
  margin: 0;
}

.gallery-button {
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 12px;
  background: #eef2f0;
  cursor: zoom-in;
}

.gallery-button img {
  display: block;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.gallery-button:hover img {
  transform: scale(1.04);
  opacity: 0.92;
}

.gallery figcaption {
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.72rem;
}

.modal.photo-modal {
  position: relative;
  width: min(1280px, 96vw);
  max-height: 94vh;
  padding: 14px;
  overflow: hidden;
  border-radius: 18px;
  background: #09251e;
}

.photo-modal .modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(0, 0, 0, 0.58);
  font-size: 1.7rem;
  line-height: 1;
}

.photo-lightbox {
  display: grid;
  width: 100%;
  min-height: 240px;
  place-items: center;
}

.photo-lightbox img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(94vh - 28px);
  border-radius: 10px;
  object-fit: contain;
}
/* Modal above fixed navigation */
.modal-backdrop {
  z-index: 3000;
  background: rgba(3, 22, 17, 0.78);
  backdrop-filter: blur(3px);
}

body:has(.modal-backdrop:not(.hidden)) {
  overflow: hidden;
}
/* Megabait services modal */
.modal.megabait-modal {
  width: min(680px, 96vw);
  padding: 20px;
  background: #f8fafc;
}

.megabait-modal .modal-close {
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 2;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, 0.13);
}

.megabait-dialog__hero {
  padding: 24px;
  border-radius: 20px;
  color: #fff;
  background: #111827;
  text-align: center;
}

.megabait-dialog__hero img {
  display: block;
  width: auto;
  max-width: 180px;
  height: 48px;
  margin: 0 auto 14px;
  object-fit: contain;
}

.megabait-dialog__hero h2 {
  margin: 0;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 900;
}

.megabait-dialog__hero p {
  margin: 6px 0 0;
  color: rgba(255, 255, 255, 0.62);
}

.megabait-services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.megabait-services > div {
  display: flex;
  min-height: 64px;
  align-items: center;
  gap: 11px;
  padding: 11px 13px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
}

.megabait-services span {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border-radius: 10px;
  color: #111827;
  background: #f0f2f5;
  font-weight: 900;
}

.megabait-services strong {
  color: #202832;
  font-size: 0.79rem;
  line-height: 1.3;
}

.megabait-dialog__action {
  display: flex;
  width: 100%;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 14px;
  color: #fff;
  background: #25d366;
  font-weight: 800;
}

.megabait-dialog__action:hover {
  color: #fff;
  background: #1fbd5a;
}

@media (max-width: 560px) {
  .modal.megabait-modal {
    padding: 14px;
  }

  .megabait-services {
    grid-template-columns: 1fr;
  }
}
/* Web registration */
.auth-card-register .auth-hero {
  min-height: 650px;
}

.auth-card-register .auth-form {
  padding-block: 38px;
}

.auth-note a {
  color: var(--green);
  font-weight: 800;
}

@media (max-width: 900px) {
  .auth-card-register .auth-hero {
    min-height: 240px;
  }
}