
*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#142237;background:#f4f6fa}button,input,textarea,select{font:inherit}button{cursor:pointer}
:root{--ink:#101c30;--ink2:#182a45;--blue:#2759ff;--blue2:#1647e8;--aqua:#12a6a2;--paper:#fff;--bg:#f3f5f9;--line:#dce3ec;--muted:#6e7d92;--soft:#94a1b2;--green:#148a6f;--amber:#c58a20}
.auth{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#f4f6fa}.auth-left{padding:48px 62px;background:radial-gradient(circle at 78% 30%,#213a63 0,transparent 30%),linear-gradient(140deg,#0e1a2c,#142844);color:white;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center}.brand .mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#2e67ff,#14a7a1);display:grid;place-items:center;color:white;font-weight:900}.brand b{display:block;font-size:20px}.brand span{display:block;color:#98abc4;font-size:12px}.auth-copy{margin:auto 0;max-width:650px}.auth-copy>span{font-size:10px;letter-spacing:.18em;color:#66d7d2;font-weight:900}.auth-copy h1{font-size:52px;line-height:1.02;letter-spacing:-.05em;margin:15px 0}.auth-copy p{color:#aebbd0;line-height:1.7;max-width:590px}.mini-points{display:flex;gap:20px;margin-top:30px}.mini-points b{font-size:12px;color:#6ddbd6}.mini-points small{display:block;margin-top:5px;color:#8598b3;font-weight:500}.auth-right{display:grid;place-items:center;padding:35px}.login-box{width:min(440px,100%);padding:32px;background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 25px 60px rgba(24,42,69,.12)}.login-box>span{font-size:9px;letter-spacing:.16em;color:var(--blue);font-weight:900}.login-box h2{font-size:27px;margin:7px 0 3px}.login-box p{font-size:12px;color:var(--muted);margin-bottom:23px}.login-box label{display:block;font-size:11px;font-weight:800;color:#46566c;margin:12px 0}.login-box input{display:block;width:100%;margin-top:6px;border:1px solid #cbd5e1;border-radius:10px;padding:12px}.primary{border:0;background:linear-gradient(135deg,var(--blue),#1f73ff);color:white;border-radius:10px;padding:11px 16px;font-weight:800;box-shadow:0 8px 20px rgba(39,89,255,.18)}.primary:hover{background:var(--blue2)}.wide{width:100%}.big{padding:14px 18px}.link{border:0;background:none;color:#718198;padding:10px}.outline{border:1px solid #cbd5e1;background:white;color:#32465f;border-radius:9px;padding:9px 12px;font-weight:700}
.shell{min-height:100vh;display:grid;grid-template-columns:235px minmax(0,1fr)}.side{background:#101d31;color:white;padding:20px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.slot-card{margin:22px 0 16px;padding:13px;background:#152845;border:1px solid #263d5e;border-radius:13px}.slot-card span,.slot-card small{display:block;font-size:9px;color:#7f93af}.slot-card b{display:block;font-size:24px;margin:3px 0}.side nav{display:grid;gap:5px}.side nav button{display:flex;align-items:center;gap:11px;border:0;background:transparent;color:#91a2ba;border-radius:10px;padding:12px;text-align:left;font-weight:700}.side nav button.active{background:#1a3559;color:white}.side nav i{width:23px;text-align:center;color:#55d4d0;font-style:normal}.account{margin-top:auto;padding-top:15px;border-top:1px solid #22334d;display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center}.avatar{width:34px;height:34px;border-radius:10px;background:#244971;display:grid;place-items:center;color:#70dcd7;font-weight:900}.account b,.account small{display:block}.account b{font-size:10px}.account small{color:#7187a5;font-size:8px}.account button{border:0;background:none;color:#6c819f;font-size:8px}.main{min-width:0}.main header{height:66px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 25px;position:sticky;top:0;z-index:40}.main header>div:first-child{display:flex;gap:10px;align-items:center}.main header b{font-size:12px}.main header span{font-size:10px;color:#75859b}.head-actions{display:flex;align-items:center;gap:8px}.city-dot{color:#158a86!important;font-weight:800}.content{padding:24px;max-width:1550px}.mobile-nav{display:none}
.map-head,.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:15px}.map-head>div>span,.page-head span,.report-head>span,.job-detail-head>span{font-size:9px;letter-spacing:.14em;color:var(--blue);font-weight:900}.map-head h1,.page-head h1,.report-head h1,.job-detail-head h1{margin:5px 0;font-size:28px;letter-spacing:-.035em}.map-head p,.page-head p,.report-head p,.job-detail-head p{margin:0;color:var(--muted);font-size:11px}.slot-inline{background:white;border:1px solid var(--line);border-radius:12px;padding:10px 14px;text-align:right}.slot-inline span{display:block;color:var(--muted);font-size:8px}.slot-inline b{font-size:20px}.market-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr);gap:13px;height:calc(100vh - 160px)}#map{height:100%;border-radius:16px;border:1px solid var(--line);overflow:hidden}.job-list{overflow:auto;display:grid;align-content:start;gap:9px;padding-right:3px}.job-card{background:white;border:1px solid var(--line);border-radius:14px;padding:15px}.job-top{display:flex;justify-content:space-between}.job-top span{font-size:8px;color:var(--blue);font-weight:900;letter-spacing:.1em}.job-top b{font-size:11px}.job-card h3{font-size:15px;margin:8px 0 3px}.job-card p{font-size:9px;color:var(--muted);margin:0}.job-bottom{margin-top:13px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:end}.job-bottom span{display:block;font-size:7px;color:var(--soft)}.job-bottom strong{font-size:20px;color:#123e8d}.job-bottom button{border:0;background:var(--blue);color:white;border-radius:9px;padding:10px 12px;font-weight:800;font-size:9px}.job-bottom button:disabled{background:#bac4d2;cursor:not-allowed}
.tabs{display:inline-flex;background:white;border:1px solid var(--line);border-radius:11px;padding:4px;gap:4px;margin-bottom:12px}.tabs button{border:0;background:transparent;color:#687991;border-radius:8px;padding:9px 13px;font-size:10px;font-weight:800}.tabs button.active{background:#eaf0ff;color:var(--blue)}.tabs b{margin-left:5px}.works{display:grid;gap:8px}.work-row{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;background:white;border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--ink)}.work-row span{font-size:8px;color:var(--blue);font-weight:900;letter-spacing:.1em}.work-row h3{font-size:13px;margin:4px 0}.work-row p{font-size:9px;color:var(--muted);margin:0}.work-right{display:grid;grid-template-columns:auto 18px;grid-template-rows:auto auto;column-gap:14px;text-align:right}.work-right b{font-size:14px}.work-right small{font-size:8px;color:var(--muted)}.work-right i{grid-row:1/3;grid-column:2;font-size:20px;color:#96a5b7;font-style:normal}.timer{color:#b26b17}
.job-detail-head,.report-head{margin-bottom:14px}.back{border:0;background:none;color:#60748e;padding:0 0 10px}.deadline{background:linear-gradient(135deg,#122b4a,#183c66);color:white;border-radius:15px;padding:20px;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.deadline span,.deadline small{display:block;color:#91a9c4;font-size:9px}.deadline b{display:block;font-size:29px;margin:2px 0}.detail-card{background:white;border:1px solid var(--line);border-radius:13px;display:grid;grid-template-columns:repeat(2,1fr)}.detail-card>div{padding:15px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-card span,.detail-card b{display:block}.detail-card span{font-size:8px;color:var(--muted)}.detail-card b{font-size:11px;margin-top:4px}.control-card{background:white;border:1px solid #b9d8d2;border-left:4px solid var(--aqua);border-radius:13px;padding:20px;margin-bottom:12px}.control-card span{font-size:8px;color:#17817e;font-weight:900;letter-spacing:.1em}.control-card h2{font-size:26px;margin:5px 0}.control-card p{font-size:10px;color:var(--muted)}.earn{font-size:22px;font-weight:900;color:#16735e}.earn small{display:block;font-size:8px;color:var(--muted)}
.report-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px}.item-card{background:white;border:1px solid var(--line);border-radius:15px;padding:15px;margin-bottom:10px}.item-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.item-title span{font-size:9px;color:var(--blue);font-weight:900}.item-title button{border:0;background:none;color:#a15e63;font-size:9px}.photo-stage{position:relative;aspect-ratio:16/8;background:#eef2f7;border:1px dashed #bfcbd9;border-radius:12px;overflow:hidden}.photo-stage img{width:100%;height:100%;object-fit:contain;background:#111}.photo-stage svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.photo-upload{height:100%;display:grid;place-items:center;align-content:center;text-align:center;cursor:pointer;color:#667991}.photo-upload>input{display:none}.photo-upload>b,.photo-upload>span{display:block}.photo-upload b{font-size:12px;margin-top:5px;color:#3b5068}.photo-upload span{font-size:9px;margin-top:4px}.corner{position:absolute;width:22px;height:22px;border-radius:50%;border:3px solid white;background:var(--blue);transform:translate(-50%,-50%);box-shadow:0 2px 8px #0004}.item-fields{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:8px;margin-top:10px}.item-fields label,.report-side label,.create-card label,.profile-info label{font-size:9px;font-weight:800;color:#586a81}.item-fields input,.item-fields select,.item-fields textarea,.report-side input,.create-card input,.create-card select,.create-card textarea,.profile-info input{width:100%;display:block;margin-top:5px;border:1px solid #cbd5e1;border-radius:8px;padding:10px;background:white}.item-fields .note{grid-column:1/-1}.item-fields textarea{min-height:64px}.knife-preview{margin-top:10px;background:#f7f9fc;border:1px solid var(--line);border-radius:10px;padding:10px}.knife-preview>span{font-size:8px;color:var(--blue);font-weight:900}.knife-preview p{font-size:9px;color:var(--muted)}.knife-svg{display:block;width:100%;height:120px}.knife-svg text{font-size:10px;fill:#52667e}.knife-preview button{border:1px solid #becadc;background:white;border-radius:8px;padding:8px 10px;font-size:9px;font-weight:800}.report-side{position:sticky;top:82px;align-self:start;display:grid;gap:10px}.sign-box{background:white;border:1px solid var(--line);border-radius:14px;padding:14px}.sign-box>span{font-size:8px;color:var(--blue);font-weight:900}.sign-box label{display:block;margin-top:10px}.sign-box canvas{width:100%;height:130px;border:1px dashed #aebccc;background:#fbfcfe;border-radius:8px;touch-action:none}.sign-actions{text-align:right}.legal{color:var(--muted);font-size:8px;line-height:1.5}
.create-card{background:white;border:1px solid var(--line);border-radius:15px;padding:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid label{display:block}.form-grid .full{grid-column:1/-1}.form-grid textarea{min-height:80px}.form-grid small{display:block;margin-top:5px;color:var(--muted);font-weight:500}.create-card #createMap{height:300px;border:1px solid var(--line);border-radius:12px;margin:12px 0}
.wallet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.wallet-grid>div{background:white;border:1px solid var(--line);border-radius:13px;padding:17px}.wallet-grid span{display:block;font-size:8px;color:var(--muted)}.wallet-grid b{font-size:24px}.tx-list{margin-top:12px;background:white;border:1px solid var(--line);border-radius:13px}.tx-list>div{display:grid;grid-template-columns:100px 1fr auto;padding:12px 15px;border-bottom:1px solid var(--line);font-size:10px}.tx-list span{color:var(--muted)}.plus{color:#118566}.minus{color:#b14f57}
.profile-card{display:grid;grid-template-columns:220px 1fr;gap:15px}.profile-score{background:linear-gradient(135deg,#142b49,#214c7f);border-radius:15px;color:white;padding:24px}.profile-score span,.profile-score small{display:block;color:#8ea9c8;font-size:9px}.profile-score b{display:block;font-size:52px}.profile-info{background:white;border:1px solid var(--line);border-radius:15px;padding:17px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-info button{align-self:end}
.empty{padding:25px;text-align:center;color:var(--muted);background:white;border:1px solid var(--line);border-radius:12px}
@media(max-width:1000px){.shell{grid-template-columns:76px minmax(0,1fr)}.side{padding:14px 9px}.side .brand>div:last-child,.slot-card small,.side nav span,.account>div,.account button{display:none}.side .brand{justify-content:center}.slot-card{text-align:center;padding:10px 3px}.side nav button{justify-content:center}.market-layout{grid-template-columns:1fr;height:auto}#map{height:460px}.job-list{max-height:none}.report-layout{grid-template-columns:1fr}.report-side{position:static}.auth-copy h1{font-size:43px}}
@media(max-width:700px){.auth{grid-template-columns:1fr}.auth-left{display:none}.auth-right{padding:18px}.shell{display:block;padding-bottom:67px}.side{display:none}.main header{height:58px;padding:0 13px}.head-actions .outline{display:none}.content{padding:14px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:white;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:100}.mobile-nav button{border:0;background:white;color:#75859a;display:grid;place-items:center;padding:6px;font-size:8px}.mobile-nav button i{font-style:normal;font-size:17px}.mobile-nav button.active{color:var(--blue);background:#f4f7ff}.map-head{align-items:flex-start}.map-head h1,.page-head h1,.report-head h1,.job-detail-head h1{font-size:23px}.slot-inline{padding:7px 10px}.market-layout{display:block}#map{height:42vh;border-radius:12px;margin-bottom:9px}.job-list{display:flex;overflow-x:auto;gap:8px}.job-card{min-width:82vw}.detail-card{grid-template-columns:1fr}.deadline{align-items:flex-start;gap:10px;flex-direction:column}.deadline .primary{width:100%}.report-layout{display:block}.item-fields{grid-template-columns:1fr 1fr}.item-fields label:first-child,.item-fields .note{grid-column:1/-1}.photo-stage{aspect-ratio:4/3}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.wallet-grid{grid-template-columns:1fr}.profile-card{grid-template-columns:1fr}.profile-info{grid-template-columns:1fr}.tx-list>div{grid-template-columns:80px 1fr auto}}

/* V4.1 MODERN MAP */
.map-hero{min-height:160px;padding:24px 27px;margin-bottom:13px;border-radius:19px;background:radial-gradient(circle at 80% 10%,rgba(49,92,245,.38),transparent 32%),linear-gradient(120deg,#0b1930,#142f51);color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:0 18px 45px rgba(11,25,48,.14);overflow:hidden}.live-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #ffffff22;background:#ffffff0d;border-radius:999px;font-size:8px!important;letter-spacing:.13em;color:#a9bada!important;font-weight:900}.live-pill i{width:6px;height:6px;border-radius:50%;background:#37d6b9;box-shadow:0 0 0 5px #37d6b922}.map-hero h1{font-size:31px;letter-spacing:-.045em;margin:11px 0 7px}.map-hero h1 em{font-style:normal;color:#72ddd0}.map-hero p{margin:0;color:#9eafc7;font-size:10px}.hero-stats{display:flex;background:#05101e55;border:1px solid #ffffff1a;border-radius:15px;backdrop-filter:blur(10px);overflow:hidden}.hero-stats>div{min-width:100px;padding:13px 16px;border-right:1px solid #ffffff17}.hero-stats>div:last-child{border:0}.hero-stats span{display:block;font-size:7px;color:#849ab7;letter-spacing:.12em}.hero-stats b{display:block;font-size:24px;margin-top:2px}.hero-stats small{font-size:11px;color:#758ba8}.market-layout.premium-map{height:calc(100vh - 275px);min-height:500px;grid-template-columns:minmax(0,1.65fr) minmax(315px,.52fr)}.map-wrap{position:relative;min-width:0;height:100%}#map{border-radius:19px;box-shadow:0 14px 35px rgba(31,50,76,.09)}.map-floating{position:absolute;z-index:500;top:13px;left:13px;right:13px;display:flex;justify-content:space-between;pointer-events:none}.map-floating>*{pointer-events:auto}.map-locate,.map-city{height:37px;border:1px solid #cdd7e3e6;background:#fffffff0;backdrop-filter:blur(12px);border-radius:11px;box-shadow:0 6px 20px #1729411c;color:#243b57;font-size:9px;font-weight:800}.map-locate{padding:0 12px}.map-city{display:flex;align-items:center;gap:7px;padding:0 12px}.map-city b{padding:4px 6px;border-radius:6px;background:#edf2ff;color:#315cf5;font-size:8px}.map-legend{position:absolute;z-index:500;bottom:14px;left:14px;display:flex;gap:11px;padding:8px 10px;background:#fffffff0;border:1px solid #dbe3ec;border-radius:10px;box-shadow:0 6px 18px #1729411a}.map-legend span{display:flex;align-items:center;gap:5px;font-size:7px;color:#60728a}.map-legend i{width:7px;height:7px;border-radius:50%}.me-dot{background:#315cf5;box-shadow:0 0 0 3px #dfe6ff}.job-dot{background:#102a4d}.job-list{background:#eef2f7;border-radius:18px;padding:9px;gap:7px}.list-title{display:flex;justify-content:space-between;align-items:end;padding:5px 4px 8px}.list-title span,.list-title b{display:block}.list-title span{font-size:7px;letter-spacing:.12em;color:#7b8ca2;font-weight:900}.list-title b{font-size:11px}.list-title small{font-size:8px;color:#8a99ab}.job-card{box-shadow:0 3px 10px #1f324c08;transition:.18s}.job-card:hover{transform:translateY(-1px);border-color:#b8c8df;box-shadow:0 9px 22px #1f324c14}.job-top b{background:#eef2ff;color:#315cf5;border-radius:7px;padding:4px 6px}.job-bottom button{background:#102a4d}.bk-marker-wrap{background:none!important;border:0!important}.bk-pin{position:relative;height:32px;min-width:62px;padding:0 9px;background:#102a4d;color:#fff;border:2px solid #fff;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:2px;box-shadow:0 6px 16px #102a4d47;font-weight:900}.bk-pin:after{content:"";position:absolute;bottom:-7px;width:10px;height:10px;background:#102a4d;transform:rotate(45deg);border-right:2px solid white;border-bottom:2px solid white}.bk-pin span{font-size:10px;z-index:1}.bk-pin small{font-size:7px;color:#8fded4;z-index:1}.bk-me{width:34px;height:34px;border-radius:50%;background:#315cf529;display:grid;place-items:center}.bk-me span{width:14px;height:14px;border:3px solid white;background:#315cf5;border-radius:50%;box-shadow:0 3px 9px #315cf566}.leaflet-popup-content-wrapper{border-radius:14px!important;box-shadow:0 15px 35px #0b19302e!important}.bk-popup span,.bk-popup b,.bk-popup p{display:block}.bk-popup span{font-size:7px;color:#315cf5;font-weight:900}.bk-popup b{font-size:12px;margin:4px 0}.bk-popup p{font-size:9px;color:#6d7e92;margin:0}.leaflet-control-zoom{border:0!important;box-shadow:0 5px 16px #1729411f!important}.leaflet-control-zoom a{border:0!important;color:#263c57!important}@media(max-width:1000px){.market-layout.premium-map{grid-template-columns:1fr;height:auto}.map-wrap{height:500px}.job-list{background:transparent;padding:0}}@media(max-width:700px){.map-hero{min-height:137px;padding:18px;border-radius:16px;align-items:flex-start}.map-hero h1{font-size:25px}.map-hero p{max-width:245px}.hero-stats{position:absolute;right:12px;bottom:12px}.hero-stats>div{min-width:59px;padding:7px 9px}.hero-stats span{font-size:5px}.hero-stats b{font-size:16px}.map-wrap{height:48vh}.job-list{padding-top:8px}.map-city{display:none}.map-locate span{display:none}}

/* V4.2 map polish */
#map{filter:saturate(.82) contrast(.98);overflow:hidden}
.leaflet-tile-pane{opacity:.94}
.map-wrap:after{content:"";position:absolute;inset:0;z-index:401;pointer-events:none;border-radius:19px;box-shadow:inset 0 0 0 1px rgba(15,35,58,.08),inset 0 -70px 100px rgba(14,34,57,.035)}
.bk-pin{background:linear-gradient(145deg,#112d4e,#0b1e36);border-color:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(10,31,56,.24)}
.bk-pin:after{background:#0d2440}
.map-locate,.map-city,.map-legend{border-color:rgba(219,228,238,.9);box-shadow:0 8px 25px rgba(16,42,77,.10)}
.map-city b{background:#eaf0ff}
.leaflet-control-zoom a{background:rgba(255,255,255,.95)!important}
/* Hide third-party map branding in demo UI. Production should use a properly licensed tile provider and required attribution. */
.leaflet-control-attribution{display:none!important}

/* V4.3 — MAP PROVIDER FIX + VISUAL POLISH */
.leaflet-tile-pane{
  filter:saturate(.72) brightness(1.04) contrast(.93) grayscale(.08);
}
.leaflet-control-attribution{
  background:rgba(255,255,255,.78)!important;
  backdrop-filter:blur(8px);
  border-radius:8px 0 0 0;
  padding:3px 7px!important;
  font-size:7px!important;
  color:#73839a!important;
}
.leaflet-control-attribution a{color:#5a6e87!important}
.bk-pin{
  height:30px!important;
  min-width:58px!important;
  padding:0 8px!important;
  background:#102a4d!important;
  border:2px solid rgba(255,255,255,.96)!important;
  box-shadow:0 7px 18px rgba(16,42,77,.22)!important;
  transition:transform .15s ease,box-shadow .15s ease!important;
}
.bk-pin:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(16,42,77,.28)!important}
.bk-pin span{font-size:9px!important}
.bk-pin small{font-size:7px!important}
#map{background:#edf1f4!important}
.map-wrap:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:450;
  border-radius:19px;
  box-shadow:inset 0 0 0 1px rgba(15,34,57,.05);
}

/* =========================================================
   V4.4 — VECTOR PREMIUM LIVE MAP
   ========================================================= */
#map{overflow:hidden!important;background:#eaf0f5!important}
#map .maplibregl-canvas{
  filter:saturate(.68) brightness(1.035) contrast(.92);
}
.maplibregl-ctrl-bottom-left{left:12px!important;bottom:10px!important}
.maplibregl-ctrl-bottom-right{right:12px!important;bottom:12px!important}
.maplibregl-ctrl-attrib{
  border-radius:8px!important;
  background:rgba(255,255,255,.76)!important;
  backdrop-filter:blur(10px)!important;
  box-shadow:0 4px 14px rgba(20,38,61,.08)!important;
  font-size:7px!important;
}
.maplibregl-ctrl-attrib-button{width:22px!important;height:22px!important}
.maplibregl-ctrl-group{
  border:1px solid rgba(211,221,232,.95)!important;
  border-radius:11px!important;
  overflow:hidden!important;
  box-shadow:0 7px 20px rgba(18,38,62,.10)!important;
}
.maplibregl-ctrl-group button{
  width:36px!important;height:36px!important;background:#fff!important;
}
.gl-job-pin{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-width:64px;
  height:34px;
  padding:0 11px;
  border:2px solid rgba(255,255,255,.96);
  border-radius:12px;
  background:linear-gradient(135deg,#10233e,#18385f);
  color:#fff;
  box-shadow:0 8px 22px rgba(13,31,55,.27);
  font-weight:900;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.gl-job-pin:after{
  content:"";
  position:absolute;
  left:50%;bottom:-6px;
  width:10px;height:10px;
  transform:translateX(-50%) rotate(45deg);
  background:#17365c;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
}
.gl-job-pin:hover{
  transform:translateY(-3px) scale(1.04);
  background:linear-gradient(135deg,#2559ef,#224bcc);
  box-shadow:0 12px 28px rgba(35,78,200,.28);
}
.gl-job-pin span{position:relative;z-index:2;font-size:10px}
.gl-job-pin small{position:relative;z-index:2;font-size:7px;color:#87e2d7}
.gl-me{
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(49,92,245,.14);
  box-shadow:0 0 0 7px rgba(49,92,245,.055);
}
.gl-me span{
  width:17px;height:17px;
  border-radius:50%;
  background:#315cf5;
  border:4px solid #fff;
  box-shadow:0 5px 14px rgba(49,92,245,.38);
}
.maplibregl-popup-content{
  min-width:180px;
  padding:0!important;
  border-radius:14px!important;
  overflow:hidden!important;
  box-shadow:0 17px 40px rgba(13,29,50,.18)!important;
  border:1px solid #e0e6ed;
}
.maplibregl-popup-tip{border-top-color:#fff!important}
.gl-popup .bk-popup{padding:14px 15px}
.gl-popup .bk-popup span{font-size:7px;color:#315cf5;font-weight:900;letter-spacing:.1em}
.gl-popup .bk-popup b{display:block;font-size:13px;margin:4px 0;color:#152a45}
.gl-popup .bk-popup p{font-size:9px;color:#718196;margin:0 0 10px}
.popup-take{
  width:100%;
  border:0;
  border-radius:8px;
  padding:8px 10px;
  background:#132d4e;
  color:#fff;
  font-size:8px;
  font-weight:900;
}
.selected-job{
  border-color:#315cf5!important;
  box-shadow:0 8px 24px rgba(49,92,245,.13)!important;
  transform:translateY(-1px);
}
.map-legend{z-index:3!important}
.map-floating{z-index:4!important}
@media(max-width:700px){
  .gl-job-pin{min-width:58px;height:31px;padding:0 9px}
  .gl-job-pin span{font-size:9px}
}

/* =========================================================
   V4.5 — PREMIUM MAP ART DIRECTION
   ========================================================= */
.map-wrap{
  border-radius:22px!important;
  overflow:hidden!important;
  background:#111d2e!important;
  box-shadow:
    0 22px 60px rgba(10,24,44,.18),
    0 2px 8px rgba(10,24,44,.08)!important;
}
#map{
  border:0!important;
  border-radius:22px!important;
  background:#121f31!important;
}
#map .maplibregl-canvas{
  filter:
    sepia(.07)
    hue-rotate(168deg)
    saturate(.82)
    contrast(.95)
    brightness(.88)!important;
}
.map-sheen{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  border-radius:22px;
  background:
    radial-gradient(circle at 22% 16%,rgba(49,92,245,.12),transparent 32%),
    linear-gradient(180deg,rgba(13,27,46,.03),rgba(11,23,39,.13));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
}
.map-floating,.map-legend{z-index:3!important}
.map-locate,.map-city{
  background:rgba(12,27,46,.88)!important;
  color:#f7fbff!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:0 10px 26px rgba(7,19,34,.22)!important;
  backdrop-filter:blur(14px)!important;
}
.map-city b{
  background:#315cf5!important;
  color:#fff!important;
}
.map-legend{
  background:rgba(12,27,46,.88)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 10px 26px rgba(7,19,34,.18)!important;
}
.map-legend span{color:#c6d1df!important}
.me-dot{background:#5f7dff!important;box-shadow:0 0 0 3px rgba(95,125,255,.22)!important}
.job-dot{background:#fff!important}
.maplibregl-ctrl-group{
  background:rgba(12,27,46,.9)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 10px 25px rgba(6,18,32,.22)!important;
}
.maplibregl-ctrl-group button{background:transparent!important}
.maplibregl-ctrl-group button+button{border-top:1px solid rgba(255,255,255,.08)!important}
.maplibregl-ctrl-icon{filter:invert(1) opacity(.84)!important}
.maplibregl-ctrl-attrib{
  background:rgba(12,27,46,.7)!important;
  color:#9eb0c5!important;
}
.maplibregl-ctrl-attrib a{color:#c6d5e5!important}
.gl-job-pin{
  min-width:70px!important;
  height:36px!important;
  padding:0 12px!important;
  border:1px solid rgba(255,255,255,.26)!important;
  border-radius:11px!important;
  background:rgba(15,34,58,.94)!important;
  backdrop-filter:blur(10px)!important;
  box-shadow:
    0 10px 25px rgba(4,14,28,.28),
    inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.gl-job-pin:after{
  background:#10243d!important;
  border-right:1px solid rgba(255,255,255,.25)!important;
  border-bottom:1px solid rgba(255,255,255,.25)!important;
}
.gl-job-pin span{font-size:10px!important;letter-spacing:-.01em}
.gl-job-pin small{color:#80e4d8!important}
.gl-job-pin:hover,.featured-pin{
  background:linear-gradient(135deg,#315cf5,#2448c5)!important;
  transform:translateY(-3px) scale(1.035)!important;
  box-shadow:0 14px 30px rgba(38,76,198,.34)!important;
}
.featured-pin:after{background:#284fcf!important}
.gl-me{
  width:46px!important;height:46px!important;
  background:rgba(83,113,255,.14)!important;
  box-shadow:0 0 0 9px rgba(83,113,255,.055)!important;
}
.gl-me span{
  width:18px!important;height:18px!important;
  background:#5e7cff!important;
  border:4px solid #fff!important;
  box-shadow:0 8px 18px rgba(73,100,235,.4)!important;
}
.map-hero{
  background:
    radial-gradient(circle at 84% 4%,rgba(55,100,255,.38),transparent 31%),
    radial-gradient(circle at 66% 100%,rgba(23,183,169,.16),transparent 30%),
    linear-gradient(122deg,#0b1729,#132e4c 70%,#163a58)!important;
  border:1px solid rgba(46,77,112,.9)!important;
}
.market-layout.premium-map{gap:14px!important}
.job-list{
  background:#edf1f6!important;
  padding:10px!important;
  border-radius:20px!important;
}
.job-card{
  background:rgba(255,255,255,.96)!important;
  border:1px solid #dde5ef!important;
  border-radius:15px!important;
}
.selected-job{
  border-color:#315cf5!important;
  box-shadow:0 10px 28px rgba(49,92,245,.14)!important;
}
@media(max-width:700px){
  .map-wrap,#map,.map-sheen{border-radius:17px!important}
  .gl-job-pin{min-width:62px!important;height:32px!important;padding:0 9px!important}
}

/* V4.6: keep map positioning on a dedicated wrapper. */
#map,#map .maplibregl-canvas{filter:none!important}
.map-sheen{display:none}
.map-wrap:after{box-shadow:inset 0 0 0 1px rgba(15,35,58,.1)!important}
.job-marker{position:absolute;z-index:1}
.job-marker.nearest-marker,.job-marker.selected-marker,.job-marker:hover,.job-marker:focus-within{z-index:2}
.job-marker .gl-job-pin{position:relative;height:42px!important;min-width:82px!important;transform:none!important;transition:box-shadow .16s ease,background .16s ease}
.job-marker .gl-job-pin span{font-size:13px!important}
.job-marker .gl-job-pin:focus-visible{outline:3px solid #19b59c;outline-offset:4px}
.job-marker .featured-pin{min-width:130px!important;height:60px!important;padding-top:17px!important}
.nearest-label{position:absolute;top:8px;left:0;right:0;text-align:center;color:#fff;font-size:9px;font-style:normal;white-space:nowrap;letter-spacing:.04em}
.job-marker:after{content:'';position:absolute;left:50%;top:100%;width:2px;height:28px;background:#2448c5;pointer-events:none}
.map-views{position:absolute;top:62px;left:13px;display:flex;gap:6px;z-index:3}
.map-views button{padding:9px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#17365c;font-size:11px;font-weight:800;box-shadow:0 3px 12px #102a4d18}
.map-views button:first-child{background:#315cf5;color:white;border-color:#315cf5}
.map-views button:disabled{opacity:.5;cursor:default}
.map-legend{bottom:40px!important}
.nearest-card-label{color:#315cf5;font-size:10px;font-weight:900;margin-bottom:10px;letter-spacing:.07em}
.show-on-map{border:0;background:#edf2ff;color:#2448c5;border-radius:7px;padding:7px 9px;margin-top:10px;font-size:11px;font-weight:700}
.map-hero{position:relative}
@media(max-width:700px){.map-wrap{height:440px!important;min-height:440px}.map-locate span{display:inline}.map-hero{padding-bottom:80px}.map-views button{font-size:10px}.job-marker .gl-job-pin{min-width:72px!important}.job-marker .featured-pin{min-width:124px!important}.market-layout.premium-map{grid-template-columns:minmax(0,1fr)!important}.map-floating{right:10px}.map-city{display:none!important}}
#map{height:100%!important;margin-bottom:0!important}@media(max-width:1000px){.market-layout.premium-map{display:grid;height:auto}}@media(max-width:700px){.job-list{display:grid!important;grid-template-columns:minmax(0,1fr);overflow:visible!important}.job-card{min-width:0}.map-wrap{margin-bottom:0}.list-title{align-items:center}}

.location-status{display:flex;gap:12px;align-items:center;justify-content:space-between;background:#fff;border:1px solid #dce3ec;padding:12px 14px;border-radius:12px;margin-bottom:12px}.location-status b{display:block;font-size:12px;color:#8b5c16}.location-status b.is-live{color:#107b68}.location-status small{display:block;font-size:10px;color:#6e7d92;margin-top:4px}.location-status button{flex-shrink:0;border:1px solid #cbd5e1;background:#f4f7ff;border-radius:8px;padding:9px;font-size:11px;color:#2448c5}@media(max-width:700px){.location-status{align-items:flex-start}.location-status button{max-width:100px}.location-status b{font-size:11px}}

/* Keş-Fet local arrival and notification views. */
.arrival-card,.notification-card{padding:20px;background:white;border:1px solid #c9ded9;border-radius:14px;margin:12px 0}.arrival-card h3,.notification-card h3{font-size:17px;margin:8px 0}.arrival-card p,.notification-card p{font-size:12px;line-height:1.6;color:#52667e}.arrival-badge{font-size:10px;font-weight:900;letter-spacing:.07em;color:#107b68}.arrival-badge.pending{color:#906119}.notification-link{background:#edf2ff;border:1px solid #dbe4fa;border-radius:9px;padding:8px;color:#2448c5;font-size:11px}.notification-link b{background:#315cf5;color:white;border-radius:5px;padding:2px 5px}.notification-notice{padding:15px;background:#fff7e9;border:1px solid #ebd6ad;border-radius:12px;color:#775a28;font-size:12px;line-height:1.6}.notification-card>span{color:#956416;font-size:10px;font-weight:800}.notification-card>div{font-size:12px}.notification-card>small{display:block;margin-top:10px;color:#75859b}.notification-records{max-width:850px}@media(max-width:700px){.head-actions .city-dot{display:none}.main header>div:first-child>span{display:none}.notification-link{font-size:10px}.arrival-card,.notification-card{padding:16px}}

.geocode-disclosure{display:block;margin:8px 0;color:#62758d}.geo-results{display:grid;gap:8px;margin-top:8px}.geo-results button{text-align:left;white-space:normal}.geo-results button[aria-pressed="true"]{border-color:#315dff;background:#eef2ff}
