:root{--bg:#f5f7fb;--card:#fff;--text:#171a21;--muted:#727988;--line:#e7eaf0;--accent:#315efb;--accent2:#234bd5;--soft:#eef3ff;--green:#11865e;--green-soft:#eaf8f2;--danger:#ce4141;--danger-soft:#fff0f0;--shadow:0 12px 34px rgba(25,35,58,.07);--radius:20px}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px 18px 13px;background:rgba(245,247,251,.92);backdrop-filter:blur(18px)}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.16em;color:var(--accent)}h1{margin:4px 0 0;font-size:26px;line-height:1.08;letter-spacing:-.025em}.avatar-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--accent);font-weight:900;box-shadow:0 5px 18px rgba(25,35,58,.06)}.screen{max-width:760px;margin:0 auto;padding:4px 14px 104px}.hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 25%,#f0f5ff);border:1px solid #e3eafb;border-radius:24px;padding:20px;margin:5px 0 14px;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(49,94,251,.08);right:-40px;top:-55px}.hero-tag{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--soft);color:var(--accent);font-size:11px;font-weight:800;margin-bottom:10px}.hero h2{font-size:20px;letter-spacing:-.02em;margin:0 0 8px;max-width:85%}.hero p{margin:0;color:var(--muted);line-height:1.5;font-size:14px;max-width:90%}.search{position:relative;margin-bottom:11px}.search input{width:100%;border:1px solid var(--line);background:#fff;border-radius:15px;padding:12px 14px 12px 40px;outline:0}.search input:focus{border-color:#a8bbff;box-shadow:0 0 0 3px #e9efff}.search-icon{position:absolute;left:14px;top:8px;font-size:22px;color:#8b92a0;pointer-events:none}.filters{display:flex;gap:8px;overflow:auto;padding:1px 0 13px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.chip{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;color:#545b68}.chip.active{background:#1d2230;color:#fff;border-color:#1d2230}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:10px;box-shadow:0 4px 18px rgba(22,29,44,.035);transition:transform .12s,border-color .12s}.card:active{transform:scale(.992)}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.badge{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:var(--soft);color:var(--accent);font-size:11px;font-weight:800}.status-badge{background:#f2f4f7;color:#555d69}.status-in_progress{background:#fff5df;color:#9a6700}.status-submitted{background:#f0edff;color:#6947c7}.status-completed{background:var(--green-soft);color:var(--green)}.status-cancelled{background:var(--danger-soft);color:var(--danger)}.time{color:var(--muted);font-size:11px}.card h3{font-size:17px;line-height:1.3;margin:10px 0 7px;letter-spacing:-.01em}.desc{font-size:13.5px;color:#565d6a;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.meta span{font-size:11.5px;background:#f5f7f9;border-radius:9px;padding:7px 9px;color:#555c69}.money{font-weight:850;color:#1d2230!important}.empty{text-align:center;padding:48px 24px;color:var(--muted)}.empty-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:17px;background:#eef2f7;display:grid;place-items:center;font-size:23px}.empty h3{margin:0 0 6px;color:var(--text)}.empty p{margin:0;font-size:13px;line-height:1.45}.bottom-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(20px)}.nav-item{border:0;background:transparent;color:#8a919d;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 2px;font-size:10px}.nav-ico{height:24px;width:28px;display:grid;place-items:center}.nav-ico svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.create-ico{background:var(--accent);color:#fff;width:34px;border-radius:10px}.create-ico svg{width:19px;height:19px;stroke-width:2.1}.nav-item.active{color:var(--accent)}.form-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:17px;box-shadow:0 4px 20px rgba(20,30,50,.03)}.field{margin-bottom:15px}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.hint{font-size:11px;color:var(--muted);margin:5px 1px 0}.input{width:100%;border:1px solid #dfe3ea;background:#fbfcfe;border-radius:13px;padding:12px 13px;outline:none;color:var(--text)}.input:focus{border-color:#9fb4ff;box-shadow:0 0 0 3px #edf2ff}.textarea{min-height:132px;resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.btn{width:100%;border:0;border-radius:13px;padding:13px 15px;font-weight:850}.btn-primary{background:var(--accent);color:#fff}.btn-primary:active{background:var(--accent2)}.btn-secondary{background:#eef1f5;color:#272c35}.btn-danger{background:var(--danger-soft);color:var(--danger)}.section-title{font-size:17px;margin:18px 2px 10px;letter-spacing:-.01em}.profile-box{text-align:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.avatar{width:70px;height:70px;border-radius:50%;background:#e9edf4;margin:auto;object-fit:cover}.avatar-fallback{display:grid;place-items:center;color:var(--accent);font-size:22px;font-weight:900}.name{font-size:20px;font-weight:850;margin:10px 0 3px}.muted{color:var(--muted);font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 0}.stat{background:#f6f8fa;border-radius:13px;padding:12px 5px}.stat strong{display:block;font-size:17px}.stat small{color:var(--muted);font-size:9.5px}.detail h2{font-size:22px;line-height:1.25;letter-spacing:-.02em;margin:10px 0}.proposal{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-top:8px}.proposal-price{font-size:18px;font-weight:850;margin:7px 0}.actions{display:grid;gap:8px;margin:10px 0}.review-stars{display:flex;gap:6px;margin:8px 0 14px}.star{border:1px solid var(--line);background:#fff;width:42px;height:42px;border-radius:12px;font-size:20px}.star.active{background:#fff6db;border-color:#f1cf62}.skeleton{height:150px;background:linear-gradient(90deg,#f0f2f5,#fafbfc,#f0f2f5);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:20px;margin-bottom:10px}@keyframes shimmer{to{background-position:-200% 0}}#toast{position:fixed;z-index:99;left:50%;bottom:92px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;background:#171a20;color:#fff;padding:11px 14px;border-radius:12px;font-size:12px;transition:.2s;max-width:90%;box-shadow:0 8px 30px rgba(0,0,0,.18)}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:700px){.bottom-nav{left:50%;right:auto;width:700px;transform:translateX(-50%);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0}.topbar{max-width:760px;margin:auto}.screen{padding-left:20px;padding-right:20px}}
.chat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px}.chat-list{display:grid;gap:7px;max-height:360px;overflow:auto;padding:3px}.bubble{max-width:84%;padding:9px 11px;border-radius:14px;background:#f1f3f6;font-size:13px;line-height:1.42}.bubble.mine{margin-left:auto;background:var(--accent);color:#fff}.bubble-time{display:block;font-size:9px;opacity:.65;margin-top:4px}.chat-compose{display:flex;gap:7px;margin-top:10px}.chat-compose input{flex:1;min-width:0}.chat-compose button{width:auto;padding-left:16px;padding-right:16px}


button:disabled{opacity:.62;cursor:default}.topbar-title{min-width:0}.order-card{cursor:pointer}.full{-webkit-line-clamp:unset!important;display:block}.form-intro{display:flex;flex-direction:column;gap:4px;padding:2px 0 17px}.form-intro strong{font-size:17px}.form-intro span,.form-copy{color:var(--muted);font-size:12px;line-height:1.45}.optional{font-weight:500;color:var(--muted)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#e9edf3;border-radius:14px;margin-bottom:12px}.seg{border:0;border-radius:10px;padding:10px;background:transparent;color:#6d7581;font-weight:750;font-size:12px}.seg.active{background:#fff;color:var(--text);box-shadow:0 2px 8px rgba(20,30,50,.06)}.info-card{background:#f1f5ff;border:1px solid #dde6ff;border-radius:18px;padding:15px;margin-top:12px}.info-card.compact{margin:0}.info-card strong{font-size:13px}.info-card p{margin:5px 0 0;color:#626d7d;font-size:12px;line-height:1.45}.category-grid{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 14px}.check-chip{position:relative}.check-chip input{position:absolute;opacity:0;pointer-events:none}.check-chip span{display:block;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:11.5px;color:#59616f;transition:.15s}.check-chip.checked span{background:var(--soft);border-color:#cfdcff;color:var(--accent);box-shadow:inset 0 0 0 1px #dbe4ff}.portfolio-form{margin-top:10px}.portfolio-card{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px;margin-bottom:8px;box-shadow:0 4px 16px rgba(22,29,44,.025)}.portfolio-card.public{display:block}.portfolio-main{flex:1;min-width:0}.portfolio-main strong{display:block;font-size:14px}.portfolio-main p{margin:6px 0;color:#5c6471;font-size:12.5px;line-height:1.5;white-space:pre-line}.portfolio-main a{display:inline-block;margin-top:5px;color:var(--accent);font-size:12px;font-weight:750;text-decoration:none}.icon-action{border:0;background:#f3f5f8;color:#7b8390;border-radius:10px;width:30px;height:30px;font-size:18px}.public-profile .verified-line{font-size:11px;color:var(--green);margin-top:4px}.content-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px}.content-card p{margin:0;color:#515a68;font-size:13px;line-height:1.55;white-space:pre-line}.skill-list{display:flex;flex-wrap:wrap;gap:7px}.skill-list span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:11.5px}.review-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px;margin-bottom:8px}.review-head{display:flex;justify-content:space-between;gap:12px}.review-head strong{color:#d79d19;letter-spacing:.04em}.review-head span,.review-card small{font-size:10px;color:var(--muted)}.review-card p{font-size:12.5px;color:#555e6c;line-height:1.48;margin:8px 0}.section-count{font-size:11px;color:var(--muted);font-weight:700}.deal-card{background:#fff;border:1px solid #dce5ff;border-radius:18px;padding:14px;margin:10px 0}.deal-person{display:flex;align-items:center;gap:11px;margin-bottom:11px}.deal-person div{display:flex;flex-direction:column;min-width:0}.deal-person span,.deal-person small{font-size:10.5px;color:var(--muted)}.deal-person strong{font-size:13px;margin:2px 0}.avatar-small{width:44px;height:44px;margin:0;font-size:15px}.avatar-mini{width:36px;height:36px;margin:0;font-size:13px}.performer-head,.customer-line{display:flex;width:100%;align-items:center;gap:10px;border:0;background:transparent;text-align:left;padding:0;color:inherit}.performer-head span:not(.chevron),.customer-line span:not(.chevron){display:flex;flex:1;min-width:0;flex-direction:column}.performer-head strong,.customer-line strong{font-size:13px}.performer-head small,.customer-line small{font-size:10.5px;color:var(--muted);margin-top:2px}.chevron{font-size:24px;color:#a1a8b3}.customer-line{background:#f8f9fb;border-radius:14px;padding:10px 12px;margin:9px 0}.mine-proposal .btn{margin-top:10px}.btn-ghost{background:transparent;color:#6a7280;border:1px solid var(--line);margin-top:8px}.chat-peer{display:flex;align-items:center;gap:9px;padding:1px 3px 10px;border-bottom:1px solid #eef1f4;margin-bottom:9px}.chat-peer div{display:flex;flex-direction:column}.chat-peer small{font-size:9px;color:var(--muted)}.chat-peer strong{font-size:12px}.chat-empty{padding:10px}.chat-compose button{min-width:86px}.field-label{font-size:12px;font-weight:800}.sheet-backdrop{position:fixed;inset:0;z-index:100;background:rgba(18,24,36,.38);display:flex;align-items:flex-end;justify-content:center;padding:10px}.sheet{width:min(600px,100%);background:#fff;border-radius:24px 24px 18px 18px;padding:12px 17px calc(17px + env(safe-area-inset-bottom));box-shadow:0 -18px 55px rgba(0,0,0,.15)}.sheet-handle{width:38px;height:4px;border-radius:99px;background:#dfe3e8;margin:0 auto 13px}.sheet h3{margin:0 0 5px}.sheet p{font-size:12px;color:var(--muted);line-height:1.45;margin:0 0 12px}.sheet .btn{margin-top:8px}
@media(max-width:420px){.row{grid-template-columns:1fr}.hero h2,.hero p{max-width:100%}.meta{gap:5px}.meta span{padding:6px 8px}.chat-compose button{min-width:72px;padding-left:10px;padding-right:10px}}

.chat-readonly{padding:11px 13px;border-top:1px solid var(--line);background:#fafbfc;font-size:12px;text-align:center}

.stats.stats-two{grid-template-columns:repeat(2,1fr)}

/* Telegram Mini App safe-area hardening. Telegram variables are 0 when the host does not expose an inset. */
.topbar{padding-top:calc(18px + var(--tg-content-safe-area-inset-top, 0px))}
.bottom-nav{padding-bottom:calc(7px + max(env(safe-area-inset-bottom), var(--tg-safe-area-inset-bottom, 0px)))}
.sheet{padding-bottom:calc(17px + max(env(safe-area-inset-bottom), var(--tg-safe-area-inset-bottom, 0px)))}

button:focus-visible,.input:focus-visible,a:focus-visible{outline:3px solid rgba(49,94,251,.25);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.load-more-wrap{display:flex;justify-content:center;padding:8px 0 18px}.load-more-wrap .btn{max-width:220px}.list-end{text-align:center;color:var(--muted);font-size:12px;padding:8px 0 20px}

/* 0.3.21 */
.proposal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.proposal-actions .btn{flex:1 1 180px}.mine-more{margin-top:12px;width:100%}

.history-locked{cursor:default;opacity:.78}.history-locked h3{color:#69717e}

/* 0.4.0 deliverables, files and inbox */
.topbar-actions{display:flex;align-items:center;gap:8px}.notify-btn{position:relative;width:42px;height:42px;border:1px solid var(--line);border-radius:15px;background:#fff;font-size:17px}.notify-badge{display:none;position:absolute;right:-3px;top:-3px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--danger);color:#fff;font-size:9px;font-weight:900;align-items:center;justify-content:center}.notify-badge.show{display:flex}.file-row{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);background:#f8fafc;border-radius:12px;margin-top:7px;text-decoration:none;color:inherit}.file-row strong{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.file-row small{font-size:9px;color:var(--muted);white-space:nowrap}.bubble.mine .file-row{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.22);color:#fff}.bubble.mine .file-row small{color:rgba(255,255,255,.7)}.file-picker{display:flex;align-items:center;gap:8px;margin-top:8px}.file-picker input{display:none}.file-pick-btn{width:auto;padding:10px 12px}.picked-files{display:grid;gap:6px;margin-top:8px}.picked-file{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;background:#f5f7fa;font-size:11px}.delivery-card{background:#fff;border:1px solid #dfe5f5;border-radius:17px;padding:14px;margin:9px 0}.delivery-head{display:flex;justify-content:space-between;gap:10px}.delivery-links{display:grid;gap:5px;margin-top:8px}.delivery-links a{font-size:12px;color:var(--accent);text-decoration:none}.revision-note{background:#fff6e7;border:1px solid #f3dfb5;border-radius:14px;padding:11px 12px;margin:7px 0;font-size:12px;color:#72531b}.notification-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px;margin-bottom:8px}.notification-card.unread{border-color:#bdcbff;background:#f8faff}.notification-card h3{font-size:13px;margin:0 0 5px}.notification-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.45}.notification-card small{display:block;margin-top:7px;color:var(--muted);font-size:9px}.chat-compose-wrap{margin-top:10px}.chat-compose-wrap .chat-compose{margin-top:0}.chat-attach{width:auto!important;min-width:44px!important;padding:10px!important}.delivery-form .textarea{min-height:100px}.delivery-form .links-input{min-height:70px}

.chat-unread-warning{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding:10px 12px;border:1px solid rgba(245,158,11,.28);border-radius:14px;background:rgba(245,158,11,.08);font-size:13px}.chat-unread-warning .btn{width:auto;flex:0 0 auto;padding:8px 10px;font-size:12px}@media(max-width:480px){.chat-unread-warning{align-items:stretch;flex-direction:column}.chat-unread-warning .btn{width:100%}}

