
:root{--g950:#003b29;--g900:#005b3d;--g800:#006a47;--g700:#00734d;--g100:#e6f4ed;--ink:#18261f;--muted:#66736c;--line:#dce5df;--danger:#a72e2e;--shadow:0 24px 70px rgba(18,55,40,.12)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#eef3f0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}
.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,44%) 1fr;background:#f8fbf9}.auth-brand-panel{min-height:100vh;padding:38px 48px;display:flex;flex-direction:column;color:#fff;background:radial-gradient(circle at 15% 20%,rgba(121,217,171,.18),transparent 30%),linear-gradient(145deg,#005b3d,#003427)}.auth-brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:950}.auth-brand img{width:48px;height:48px;border-radius:14px}.auth-copy{margin:auto 0;max-width:590px}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.1);font-size:12px;font-weight:900}.eyebrow span{width:8px;height:8px;background:#68d9a6;border-radius:50%}.auth-copy h1{font-size:clamp(42px,5vw,68px);line-height:1;letter-spacing:-.05em;margin:22px 0 18px}.auth-copy p{color:#d7ebe2;font-size:18px;line-height:1.6}.auth-benefits{display:grid;gap:10px;margin-top:30px;color:#dff1e9;font-weight:800}.auth-footer{font-size:12px;color:#93b7a6}.auth-form-panel{display:grid;place-items:center;padding:36px}.auth-card{width:min(560px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:var(--shadow)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f0f4f2;padding:5px;border-radius:13px;margin-bottom:25px}.auth-tab{border:0;border-radius:10px;padding:12px;background:transparent;color:#66736c;font-weight:900}.auth-tab.active{background:#fff;color:var(--g900);box-shadow:0 5px 15px rgba(0,0,0,.06)}.auth-form{display:grid;gap:15px}.auth-form label,.modal-card label{display:block;font-size:11px;font-weight:900;color:#425249;margin-bottom:6px}.auth-form input,.modal-card input,.modal-card select,.modal-card textarea,.toolbar input,.toolbar select{width:100%;min-height:48px;border:1px solid #ced9d3;background:#fafcfa;border-radius:13px;padding:0 13px;outline:none;color:var(--ink)}.modal-card textarea{padding-top:12px;min-height:100px;resize:vertical}.auth-form input:focus,.modal-card input:focus,.modal-card select:focus,.modal-card textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:#5aae89;box-shadow:0 0 0 3px rgba(0,115,77,.08)}.auth-row{display:flex;justify-content:flex-end}.auth-hint{margin:0;text-align:center;color:#7a867f;font-size:11px;line-height:1.5}.primary-btn,.secondary-btn,.ghost-btn,.danger-btn{border:0;border-radius:13px;min-height:46px;padding:0 16px;font-weight:900}.primary-btn{background:var(--g700);color:#fff}.primary-btn:hover{background:var(--g800)}.secondary-btn{background:var(--g100);color:var(--g900)}.ghost-btn{background:#fff;border:1px solid var(--line);color:#3c5046}.danger-btn{background:#fff1f1;color:var(--danger);border:1px solid #efcaca}.full{width:100%}.link-btn{border:0;background:transparent;color:var(--g700);font-weight:900;padding:4px}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;background:#0b1711;color:#d8e4de;padding:20px 16px;display:flex;flex-direction:column;z-index:40}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px}.sidebar-brand img{width:43px;height:43px;border-radius:13px}.sidebar-brand strong{display:block;color:#fff;font-size:18px}.sidebar-brand span{display:block;color:#789087;font-size:10px;font-weight:800}.mode-switch{display:grid;gap:7px;padding:10px;background:#111f18;border:1px solid #1c3026;border-radius:15px}.mode-btn{border:0;border-radius:11px;padding:11px 10px;text-align:left;background:transparent;color:#93a89e;font-size:12px;font-weight:900}.mode-btn.active{background:#fff;color:var(--g900)}.sidebar-nav{display:grid;gap:6px;margin-top:22px}.nav-item{border:0;background:transparent;color:#9eafa6;text-align:left;padding:12px 13px;border-radius:12px;font-weight:850}.nav-item:hover{background:#13231b;color:#fff}.nav-item.active{background:#15392a;color:#fff}.sidebar-bottom{margin-top:auto;display:grid;gap:8px;padding-top:18px;border-top:1px solid #203128;font-size:11px;color:#82958b}.sidebar-bottom a{padding:4px 8px}.logout-btn{border:1px solid #31443a;background:transparent;color:#c3d1ca;border-radius:11px;padding:10px;margin-top:5px;text-align:left}.app-main{grid-column:2;min-width:0}.app-header{height:82px;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;justify-content:space-between;padding:0 24px}.page-eyebrow{font-size:9px;letter-spacing:.12em;color:#8a968f;font-weight:950}.app-header h2{margin:3px 0 0;font-size:22px;letter-spacing:-.02em}.header-actions{display:flex;align-items:center;gap:12px}.profile-chip{display:flex;align-items:center;gap:9px;padding:5px 8px 5px 5px;border-radius:14px;background:#f3f6f4;border:1px solid #e3e9e5}.profile-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--g100);color:var(--g900);font-weight:950}.profile-chip strong{display:block;font-size:11px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-chip span{display:block;font-size:9px;color:#758078}.mobile-sidebar-btn{display:none;border:0;background:#edf4f0;border-radius:12px;width:44px;height:44px}.workspace{display:grid;grid-template-columns:minmax(500px,1fr) minmax(400px,46%);gap:18px;padding:18px;min-height:calc(100vh - 82px)}.content-column,.map-column{min-width:0}.map-card{position:sticky;top:100px;height:calc(100vh - 118px);background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 8px 30px rgba(20,48,36,.06);display:grid;grid-template-rows:auto 1fr auto}.map-toolbar{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-bottom:1px solid var(--line)}.map-toolbar strong{display:block;font-size:13px}.map-toolbar span{display:block;font-size:9px;color:#7e8b84}.icon-btn{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:#fff;color:var(--g900);font-size:18px}.map-legend{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-top:1px solid var(--line);font-size:10px;color:#718078;font-weight:800}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;background:#2678ff}.leaflet-container{font-family:inherit}#map{width:100%;height:100%;min-height:440px}.machine-marker{background:transparent;border:0}.machine-marker img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 7px 7px rgba(0,0,0,.22))}.user-marker{width:17px;height:17px;border-radius:50%;background:#2678ff;border:4px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.25)}
.page-stack{display:grid;gap:14px}.hero-card{background:linear-gradient(135deg,#005b3d,#003e2d);color:#fff;border-radius:20px;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-card h3{font-size:24px;margin:0 0 6px}.hero-card p{color:#d4e8df;margin:0;font-size:12px;max-width:570px}.hero-actions{display:flex;gap:9px;flex-wrap:wrap}.hero-card .primary-btn{background:#fff;color:var(--g900)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.stat-card span{display:block;font-size:9px;color:#7a867f;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.stat-card strong{display:block;font-size:27px;margin-top:3px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:14px}.panel-head h3{margin:0;font-size:17px}.panel-head p{margin:4px 0 0;color:#7a867f;font-size:10px}.toolbar{display:grid;grid-template-columns:1fr 155px auto;gap:8px;margin-bottom:12px}.toolbar input,.toolbar select{min-height:42px;font-size:11px}.job-list{display:grid;gap:9px}.job-card{border:1px solid #e0e7e3;border-radius:15px;padding:14px;background:#fff;transition:.16s ease}.job-card:hover{border-color:#a9cabc;box-shadow:0 8px 20px rgba(22,65,47,.06)}.job-card.selected{border-color:#2b9a70;box-shadow:0 0 0 2px rgba(43,154,112,.08)}.job-top{display:flex;justify-content:space-between;gap:12px}.job-title{font-weight:950;font-size:14px}.job-location{color:#738078;font-size:10px;margin-top:3px}.job-badges{display:flex;align-items:flex-start;gap:5px;flex-wrap:wrap;justify-content:flex-end}.badge{display:inline-flex;align-items:center;min-height:25px;border-radius:999px;padding:0 8px;background:#eef4f0;color:#557066;font-size:9px;font-weight:900}.badge.urgent{background:#fff0e8;color:#a64a18}.badge.green{background:#e6f4ed;color:#006a47}.badge.gray{background:#f1f2f2;color:#6f7974}.job-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid #edf0ee;color:#627168;font-size:10px;font-weight:750}.job-desc{margin-top:9px;color:#68756e;font-size:11px;line-height:1.5}.job-actions{display:flex;gap:7px;margin-top:11px}.small-btn{border:1px solid #d7e2dc;background:#fff;color:#456055;border-radius:10px;min-height:34px;padding:0 10px;font-size:9px;font-weight:900}.small-btn.primary{background:var(--g700);color:#fff;border-color:var(--g700)}.small-btn.danger{color:#a72e2e;background:#fff6f6;border-color:#efdddd}.empty-state{text-align:center;padding:45px 18px;border:1px dashed #cfdbd5;border-radius:16px;color:#79847e}.empty-state .emoji{font-size:34px}.empty-state h4{margin:8px 0 4px;color:#53655c}.empty-state p{margin:0;font-size:11px}.loading{display:grid;place-items:center;min-height:220px;color:#738078;font-weight:800}.spinner{width:26px;height:26px;border-radius:50%;border:3px solid #d8e6df;border-top-color:#00734d;animation:spin .8s linear infinite;margin-bottom:9px}@keyframes spin{to{transform:rotate(360deg)}}
.modal-backdrop{position:fixed;inset:0;background:rgba(8,20,14,.58);z-index:100;display:grid;place-items:center;padding:20px}.modal-card{width:min(700px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;border:1px solid #e0e7e3;box-shadow:0 30px 90px rgba(0,0,0,.25);padding:22px}.modal-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:20px}.modal-head h3{margin:0;font-size:21px}.modal-head p{margin:4px 0 0;color:#77827c;font-size:10px}.close-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:17px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-grid .span-2{grid-column:1/-1}.check-row{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 10px;background:#f6f8f7;border-radius:12px;font-size:11px;font-weight:800}.check-row input{width:auto;min-height:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.offer-row{display:flex;justify-content:space-between;gap:15px;padding:12px;border:1px solid #e1e8e4;border-radius:13px;margin-top:8px}.offer-row strong{font-size:12px}.offer-row span{font-size:10px;color:#758078}.offer-price{font-size:18px!important;color:var(--g700)!important;font-weight:950}.toast{position:fixed;right:22px;top:22px;z-index:200;max-width:420px;background:#12231b;color:#fff;padding:13px 16px;border-radius:13px;box-shadow:var(--shadow);font-size:11px;font-weight:800;opacity:0;transform:translateY(-12px);pointer-events:none;transition:.2s ease}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#762b2b}
@media(max-width:1100px){.workspace{grid-template-columns:1fr}.map-column{order:-1}.map-card{position:relative;top:auto;height:430px}}
@media(max-width:820px){.auth-page{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-form-panel{min-height:100vh;padding:18px}.app-shell{grid-template-columns:1fr}.sidebar{transform:translateX(-105%);transition:.2s}.sidebar.open{transform:translateX(0)}.app-main{grid-column:1}.mobile-sidebar-btn{display:block}.header-actions .ghost-btn{display:none}.profile-chip span{display:none}.workspace{padding:10px}.app-header{padding:0 12px}.hero-card{align-items:flex-start;flex-direction:column}.toolbar{grid-template-columns:1fr 120px}.toolbar .primary-btn,.toolbar .secondary-btn{grid-column:1/-1}.modal-grid{grid-template-columns:1fr}.modal-grid .span-2{grid-column:auto}.form-grid.two{grid-template-columns:1fr}}
@media(max-width:520px){.stats-grid{grid-template-columns:1fr}.job-top{flex-direction:column}.job-badges{justify-content:flex-start}.profile-chip strong{max-width:95px}.app-header h2{font-size:18px}.modal-backdrop{padding:8px}.modal-card{border-radius:17px;padding:16px}}


/* =========================================================
   AgroZlecenia Web 1.0.2 — większa czytelność list usług
   ========================================================= */

.panel-head h3{
  font-size:19px;
}

.panel-head p{
  font-size:12px;
  line-height:1.45;
}

.toolbar input,
.toolbar select{
  font-size:13px;
}

.job-card{
  padding:16px;
}

.job-title{
  font-size:16px;
  line-height:1.3;
}

.job-location{
  font-size:12px;
  margin-top:5px;
}

.badge{
  min-height:28px;
  padding:0 10px;
  font-size:11px;
}

.job-meta{
  gap:16px;
  margin-top:12px;
  padding-top:12px;
  font-size:12px;
  line-height:1.45;
}

.job-desc{
  margin-top:10px;
  font-size:13px;
  line-height:1.55;
}

.small-btn{
  min-height:38px;
  padding:0 13px;
  font-size:11px;
}

.stat-card span{
  font-size:10px;
}

@media(max-width:820px){
  .job-title{font-size:15px}
  .job-location{font-size:11px}
  .job-meta{font-size:11px}
  .job-desc{font-size:12px}
  .badge{font-size:10px}
  .small-btn{font-size:10px}
}


/* =========================================================
   AgroZlecenia Web 1.0.3 — zawsze widoczny przycisk Wyloguj
   ========================================================= */

.sidebar {
  overflow-y: auto;
  overflow-x: hidden;
}

.sidebar-bottom {
  position: sticky;
  bottom: 0;
  z-index: 5;
  margin-top: auto;
  padding: 16px 0 4px;
  background: #0b1711;
  border-top: 1px solid #203128;
}

.logout-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  margin-top: 8px;
  padding: 0 14px;
  border: 1px solid #496258;
  border-radius: 12px;
  background: #16271f;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.logout-btn::before {
  content: "↪";
  margin-right: 8px;
  font-size: 16px;
}

.logout-btn:hover {
  background: #21382e;
  border-color: #6c8b7d;
}

@media (max-width: 820px) {
  .sidebar-bottom {
    padding-bottom: 10px;
  }

  .logout-btn {
    min-height: 46px;
    font-size: 13px;
  }
}
