:root{--blue: #1565e8;--blue-d: #0b3d9e;--blue-s: #eaf1ff;--yellow: #ffc107;--green: #1aa05a;--green-d: #148048;--red: #e23d3d;--text: #0f1b2d;--muted: #64748b;--line: #e2e8f0;--bg: #f3f6fb;--white: #fff;--shadow: 0 8px 24px rgba(11, 61, 158, .08);--shadow-lg: 0 18px 50px rgba(15, 27, 45, .16);--r: 18px;--nav: 76px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:Inter,system-ui,sans-serif;color:var(--text);background:radial-gradient(1200px 500px at 50% -80px,#8eb4ff 0%,transparent 55%),linear-gradient(180deg,#d4e2f7,#b9c9e4)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;border:0;background:none}.app-shell{max-width:1080px;width:100%;margin:0 auto;min-height:100vh;background:var(--bg);position:relative;box-shadow:var(--shadow-lg)}.app-shell.wide{max-width:1200px;background:#eef3fa}.page{padding:16px 16px calc(var(--nav) + 20px)}.page.no-nav{padding-bottom:28px}.topbar{background:linear-gradient(135deg,#0b3d9e,#1565e8 55%,#2f86ff);color:#fff;padding:16px 16px 14px;display:flex;align-items:center;gap:10px}.topbar h1{font-size:17px;font-weight:800;letter-spacing:.03em}.topbar .back{width:38px;height:38px;border-radius:12px;background:#ffffff29;color:#fff;font-size:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.logo{font-weight:800;letter-spacing:.1em;font-size:18px;display:flex;align-items:center;gap:8px}.logo .mark{width:28px;height:28px;border-radius:8px;background:var(--yellow);color:#132238;display:grid;place-items:center;font-size:14px;letter-spacing:0}.logo span{color:var(--yellow)}.hero{background:linear-gradient(160deg,rgba(11,61,158,.18),transparent 40%),linear-gradient(160deg,#0b3d9e,#1a6dff 58%,#3d9bff);color:#fff;padding:20px 16px 26px;border-radius:0 0 32px 32px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-40px;top:-30px;width:160px;height:160px;border-radius:50%;background:#ffc1072e;pointer-events:none}.hero h2{font-size:24px;line-height:1.28;margin:12px 0 16px;font-weight:800;position:relative}.hero .sub{opacity:.85;font-size:13px;font-weight:500;position:relative}.search-card{background:#fff;color:var(--text);border-radius:18px;padding:12px;box-shadow:var(--shadow);display:grid;gap:8px;position:relative}input,select,textarea,.search-card input,.search-card select,.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fafc;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#8eb4ff;box-shadow:0 0 0 4px #1565e81f;background:#fff}.field textarea{min-height:90px;resize:vertical}.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;padding:13px 16px;font-weight:700;width:100%;transition:transform .12s,filter .12s}.btn:active{transform:scale(.98)}.btn-blue{background:linear-gradient(180deg,#2b76f5,var(--blue));color:#fff;box-shadow:0 8px 18px #1565e847}.btn-yellow{background:linear-gradient(180deg,#ffd54f,var(--yellow));color:#1a1a1a}.btn-green{background:linear-gradient(180deg,#2ec36e,var(--green));color:#fff}.btn-ghost{background:var(--blue-s);color:var(--blue-d)}.btn-red{background:#ffe8e8;color:var(--red)}.btn:disabled{opacity:.5}.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;position:relative}.section{margin-top:20px}.section h3{font-size:16px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.section h3 .more{font-size:13px;color:var(--blue);font-weight:700}.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cat{background:#fff;border-radius:16px;padding:12px 4px;text-align:center;box-shadow:var(--shadow);font-size:11px;font-weight:700;border:1px solid rgba(226,232,240,.8)}.cat .ico{font-size:22px;display:grid;place-items:center;width:40px;height:40px;margin:0 auto 6px;background:var(--blue-s);border-radius:12px}.job-card,.card{background:#fff;border-radius:var(--r);padding:14px;box-shadow:var(--shadow);border:1px solid rgba(226,232,240,.7)}.job-card{display:block;margin-bottom:10px}.job-card .meta{color:var(--muted);font-size:12px;margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.job-card .meta span{background:#f1f5f9;padding:4px 8px;border-radius:999px}.job-card .title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.job-card .cat-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--blue-d);background:var(--blue-s);padding:3px 8px;border-radius:999px;margin-bottom:6px}.price{color:var(--blue);font-weight:800;white-space:nowrap}.chips{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;white-space:nowrap;font-size:13px;font-weight:600}.chip.on{background:var(--blue);color:#fff;border-color:var(--blue)}.bottom-nav{position:sticky;bottom:0;left:0;right:0;height:calc(var(--nav) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);width:100%}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;color:var(--muted);font-weight:600}.nav-item.active{color:var(--blue)}.nav-item.active .ni{background:var(--blue-s)}.nav-item .ni{font-size:18px;position:relative;width:36px;height:28px;display:grid;place-items:center;border-radius:10px}.badge-dot{position:absolute;top:0;right:4px;width:8px;height:8px;border-radius:50%;background:var(--red);border:2px solid #fff}.tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--blue-s);border-radius:14px;padding:4px;margin-bottom:16px}.tabs button{padding:10px;border-radius:11px;font-weight:700;color:var(--muted)}.tabs button.on{background:#fff;color:var(--blue);box-shadow:var(--shadow)}.illus{height:140px;border-radius:18px;margin:8px 0 16px;display:grid;place-items:center;font-size:64px;background:linear-gradient(180deg,#dce8ff,#fff)}.check{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--muted);margin:10px 0}.err{background:#ffe8e8;color:var(--red);padding:10px 12px;border-radius:10px;margin-bottom:10px;font-size:13px}.ok{background:#e8f8ee;color:var(--green-d);padding:10px 12px;border-radius:10px}.profile-head{text-align:center;padding:8px 0 16px}.avatar{width:84px;height:84px;border-radius:50%;margin:0 auto 10px;background:linear-gradient(135deg,var(--blue),#6aa0ff);color:#fff;display:grid;place-items:center;font-weight:800;font-size:22px;box-shadow:0 8px 20px #1565e84d}.stars{color:var(--yellow);letter-spacing:2px}.stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:12px}.stat{background:var(--blue-s);border-radius:12px;padding:10px;text-align:center}.stat b{display:block;font-size:18px;color:var(--blue-d)}.timeline{display:grid;gap:0}.tl{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:8px 0}.dot{width:14px;height:14px;border-radius:50%;background:var(--line);margin:4px auto 0;position:relative}.dot:after{content:"";position:absolute;left:6px;top:16px;width:2px;height:28px;background:var(--line)}.tl:last-child .dot:after{display:none}.tl.done .dot{background:var(--green)}.tl.now .dot{background:var(--blue);box-shadow:0 0 0 4px #d6e4ff}.msg-list{display:flex;flex-direction:column;gap:8px;min-height:48vh}.bubble{max-width:78%;padding:10px 12px;border-radius:14px;font-size:14px;line-height:1.4}.bubble.me{margin-left:auto;background:var(--blue);color:#fff;border-bottom-right-radius:4px}.bubble.them{background:#fff;border-bottom-left-radius:4px}.offer{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;text-align:center}.offer .box{background:#fff;border-radius:14px;padding:12px}.offer .mid{font-size:22px;color:var(--green);font-weight:800}.map-wrap{height:420px;border-radius:0 0 20px 20px;position:relative;overflow:hidden;background:#cfe6c4}.map-bg{width:100%;height:100%;background:radial-gradient(circle at 30% 40%,#b7d9a8 0 40px,transparent 41px),radial-gradient(circle at 70% 55%,#a8d09a 0 50px,transparent 51px),linear-gradient(90deg,transparent 48%,#d9c9a8 48% 52%,transparent 52%),linear-gradient(#cfe6c4,#b9d6c0)}.pin{position:absolute;transform:translate(-50%,-100%);background:var(--blue);color:#fff;border-radius:16px 16px 16px 4px;padding:6px 8px;font-size:11px;font-weight:700;box-shadow:var(--shadow)}.map-cards{position:absolute;bottom:12px;left:0;right:0;display:flex;gap:10px;overflow:auto;padding:0 12px}.map-cards .job-card{min-width:240px;margin:0}.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi .card b{font-size:22px;display:block;color:var(--blue-d)}.admin{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.side{background:linear-gradient(180deg,#0b2d62,#12336e);color:#fff;padding:20px 14px}.side a,.side button{display:block;width:100%;text-align:left;color:#d7e4ff;padding:10px 12px;border-radius:10px;margin-bottom:4px}.side a.on,.side button.on{background:#ffffff1f;color:#fff}.chart{height:180px;display:flex;align-items:flex-end;gap:8px;padding:12px 0}.bar{flex:1;background:linear-gradient(180deg,#6aa0ff,var(--blue));border-radius:8px 8px 0 0}.demo{font-size:12px;color:var(--muted);background:#fff;border-radius:12px;padding:10px;margin-top:12px;border:1px dashed var(--line)}.field{margin-bottom:10px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.hint{font-size:13px;color:var(--muted);text-align:center;margin-top:12px}.hint a{color:var(--blue);font-weight:700}.success-hero{text-align:center;padding:40px 16px}.success-hero .big{font-size:64px}.details-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.details-hero h2{font-size:20px;line-height:1.3}.flow{display:grid;grid-template-columns:1fr;gap:10px}.flow .card{padding:14px}.flow b{color:var(--blue-d);display:block;margin-bottom:4px}.admin-strip{background:#12336e;color:#fff;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:600}.admin-strip a{color:var(--yellow)}@media(min-width:800px){.hero{padding:32px 36px 36px}.hero h2{font-size:32px;max-width:16ch}.search-card{max-width:560px}.cats{grid-template-columns:repeat(8,1fr)}.flow{grid-template-columns:repeat(3,1fr)}.page{padding:24px 28px calc(var(--nav) + 24px)}}.avatar-img{width:84px;height:84px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 10px;box-shadow:0 8px 20px #1565e840}.preview-photo,.job-photo{width:100%;max-height:180px;object-fit:cover;border-radius:12px;margin-top:8px}.sms-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:50;width:min(400px,calc(100% - 24px));background:#111827;color:#fff;text-align:left;border-radius:16px;padding:12px 14px;box-shadow:0 16px 40px #00000059}.sms-from{font-size:12px;color:#fbbf24;font-weight:700;margin-bottom:4px}.sms-banner small{display:block;margin-top:6px;color:#9ca3af}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.table-wrap{overflow:auto;background:#fff;border-radius:16px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}.admin-table th{background:#f8fafc}.linkish{color:var(--blue);font-weight:700;margin-right:8px}.linkish.danger{color:var(--red)}.tabs-3{grid-template-columns:1fr 1fr 1fr}.tg-open{display:block;text-align:center;margin:10px 0;text-decoration:none}.admin-root{min-height:100vh;background:#e8eef8}.admin-root .admin{max-width:none;min-height:100vh}.admin-login{max-width:400px;margin:0 auto;padding:48px 16px}.admin-login h1{margin-bottom:8px}
