:root{--bg: #15120e;--surface: #1f1911;--surface-2: #2a2216;--surface-3: #362c1d;--border: #3c3323;--border-strong: #4a3f2a;--text: #f5efe4;--text-muted: #b4a78f;--text-faint: #8a7d67;--magenta: #ff4fa0;--magenta-strong: #ff2e8f;--magenta-soft: rgba(255, 79, 160, .14);--magenta-ink: #3a0e22;--magenta-shadow: rgba(255, 46, 143, .35);--blue: #5b93ff;--blue-strong: #3d7dff;--blue-soft: rgba(91, 147, 255, .16);--blue-ink: #0d1e3e;--blue-on: #0b1220;--blue-shadow: rgba(61, 125, 255, .35);--topbar-bg: #1b160f;--topbar-bg-2: #241c11;--success: #3ddc84;--success-tint: #17301f;--success-shadow: rgba(61, 220, 132, .35);--danger: #ff6b6b;--danger-tint: #3a1414;--warning: #f0993d;--warning-tint: #3a2712;--info: #38c6d9;--info-tint: #123236;--radius: 14px;--radius-sm: 8px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow: 0 2px 8px rgba(0, 0, 0, .35), 0 12px 30px rgba(0, 0, 0, .35);--shadow-lg: 0 20px 40px -20px rgba(0, 0, 0, .5);--font-display: "Syne", system-ui, sans-serif;--font-body: "Manrope", system-ui, sans-serif}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--bg: #fbf4f2;--surface: #ffffff;--surface-2: #f5e9e7;--surface-3: #efdedb;--border: #e3d2ce;--border-strong: #d1b3ac;--text: #221a16;--text-muted: #6e5f58;--text-faint: #93857d;--magenta: #c81f6e;--magenta-strong: #a8115b;--magenta-soft: rgba(200, 31, 110, .1);--magenta-ink: #fce4ef;--magenta-shadow: rgba(168, 17, 91, .25);--blue: #1e54d6;--blue-strong: #163f9f;--blue-soft: rgba(30, 84, 214, .09);--blue-ink: #e6edfc;--blue-on: #ffffff;--blue-shadow: rgba(22, 63, 159, .22);--topbar-bg: #221a16;--topbar-bg-2: #34281f;--success: #1e8a4c;--success-tint: #dff3e6;--success-shadow: rgba(30, 138, 76, .3);--danger: #c23b3b;--danger-tint: #fbe4e4;--warning: #b4650f;--warning-tint: #fbebd9;--info: #157a8a;--info-tint: #dcf3f6;--shadow-sm: 0 1px 2px rgba(30, 20, 15, .06);--shadow: 0 2px 6px rgba(30, 20, 15, .06), 0 10px 24px rgba(30, 20, 15, .08);--shadow-lg: 0 20px 40px -20px rgba(30, 20, 15, .35)}}:root[data-theme=light]{--bg: #fbf4f2;--surface: #ffffff;--surface-2: #f5e9e7;--surface-3: #efdedb;--border: #e3d2ce;--border-strong: #d1b3ac;--text: #221a16;--text-muted: #6e5f58;--text-faint: #93857d;--magenta: #c81f6e;--magenta-strong: #a8115b;--magenta-soft: rgba(200, 31, 110, .1);--magenta-ink: #fce4ef;--magenta-shadow: rgba(168, 17, 91, .25);--blue: #1e54d6;--blue-strong: #163f9f;--blue-soft: rgba(30, 84, 214, .09);--blue-ink: #e6edfc;--blue-on: #ffffff;--blue-shadow: rgba(22, 63, 159, .22);--topbar-bg: #221a16;--topbar-bg-2: #34281f;--success: #1e8a4c;--success-tint: #dff3e6;--success-shadow: rgba(30, 138, 76, .3);--danger: #c23b3b;--danger-tint: #fbe4e4;--warning: #b4650f;--warning-tint: #fbebd9;--info: #157a8a;--info-tint: #dcf3f6;--shadow-sm: 0 1px 2px rgba(30, 20, 15, .06);--shadow: 0 2px 6px rgba(30, 20, 15, .06), 0 10px 24px rgba(30, 20, 15, .08);--shadow-lg: 0 20px 40px -20px rgba(30, 20, 15, .35)}:root[data-theme=dark]{--bg: #15120e;--surface: #1f1911;--surface-2: #2a2216;--surface-3: #362c1d;--border: #3c3323;--border-strong: #4a3f2a;--text: #f5efe4;--text-muted: #b4a78f;--text-faint: #8a7d67;--magenta: #ff4fa0;--magenta-strong: #ff2e8f;--magenta-soft: rgba(255, 79, 160, .14);--magenta-ink: #3a0e22;--magenta-shadow: rgba(255, 46, 143, .35);--blue: #5b93ff;--blue-strong: #3d7dff;--blue-soft: rgba(91, 147, 255, .16);--blue-ink: #0d1e3e;--blue-on: #0b1220;--blue-shadow: rgba(61, 125, 255, .35);--topbar-bg: #1b160f;--topbar-bg-2: #241c11;--success: #3ddc84;--success-tint: #17301f;--success-shadow: rgba(61, 220, 132, .35);--danger: #ff6b6b;--danger-tint: #3a1414;--warning: #f0993d;--warning-tint: #3a2712;--info: #38c6d9;--info-tint: #123236;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow: 0 2px 8px rgba(0, 0, 0, .35), 0 12px 30px rgba(0, 0, 0, .35);--shadow-lg: 0 20px 40px -20px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);margin:0;background:radial-gradient(1100px 520px at 50% -240px,var(--surface-2),var(--bg) 55%);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--blue-soft);color:var(--text)}h1,h2,h3{font-family:var(--font-display);line-height:1.16;letter-spacing:-.01em;margin:0 0 .4rem;color:var(--text);text-wrap:balance}h1{font-weight:800;letter-spacing:-.02em;line-height:1.05;font-size:clamp(2rem,1.6rem + 1.6vw,2.75rem)}h2{font-weight:700;font-size:1.32rem;margin:0 0 1rem}h3{font-weight:600;font-size:1.08rem}p{margin:0 0 .75rem;max-width:65ch}a{color:var(--blue)}a:hover{color:var(--blue-strong)}code{font-family:var(--font-body);font-weight:600;font-size:.85em;background:var(--surface-2);padding:.05rem .35rem;border-radius:var(--radius-sm)}.num{font-variant-numeric:tabular-nums}.budget,.amount,.money{color:var(--magenta);font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.money-strong{color:var(--magenta-strong)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 var(--success-shadow)}50%{box-shadow:0 0 0 5px transparent}}#topbar:empty{display:none}#topbar{background:linear-gradient(160deg,var(--topbar-bg),var(--topbar-bg-2));padding:.8rem 1.5rem;display:flex;align-items:center;gap:1.75rem;position:sticky;top:0;z-index:10;box-shadow:var(--shadow);border-bottom:1px solid rgba(255,255,255,.06)}#topbar .wordmark{display:inline-flex;align-items:center;font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:#fff;text-decoration:none;letter-spacing:-.01em}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:8px;margin-right:.55rem;background:linear-gradient(135deg,var(--magenta),var(--blue));color:#fff;font-family:var(--font-display);font-weight:700;font-size:.95rem;box-shadow:var(--shadow-sm)}#topbar nav{display:flex;gap:.25rem}#topbar a.nav-link{color:#ffffffad;text-decoration:none;padding:.4rem .7rem;border-radius:var(--radius-sm);font-size:.92rem;font-weight:500;transition:background .12s ease,color .12s ease}#topbar a.nav-link:hover{background:#ffffff14;color:#fff}#topbar a.nav-link.active{color:#fff;background:#ffffff24}#topbar .spacer{flex:1}#topbar .session{display:flex;align-items:center;gap:.7rem}#topbar .session-name{font-size:.88rem;font-weight:600;color:#fff}#topbar .session-role{font-size:.76rem;color:#ffffffa6}#topbar .btn-secondary{color:#ffffffd9;border-color:#ffffff4d;background:transparent;box-shadow:none}#topbar .btn-secondary:hover{background:#ffffff1a}#app{max-width:1080px;margin:0 auto;padding:2.25rem 1.5rem 4rem}body:has(#topbar:empty) #app{max-width:1000px;padding:0 1.1rem}form{display:flex;flex-direction:column;gap:.85rem;max-width:480px}label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;color:var(--text-muted)}input,textarea,select{font:inherit;font-weight:400;color:var(--text);padding:.6rem .75rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .12s ease,box-shadow .12s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}.row{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.row>label{flex:1;min-width:110px}.action-row{max-width:none}button,.btn{font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;width:fit-content;padding:.58rem 1.15rem;border-radius:999px;border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);transition:background .12s ease,border-color .12s ease,transform .1s ease,box-shadow .15s ease;white-space:nowrap}button:hover,.btn:hover{background:var(--surface-2);transform:translateY(-1px);box-shadow:var(--shadow)}button:active,.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}button:focus-visible,.btn:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button[type=submit],.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue-strong));border-color:transparent;color:var(--blue-on);box-shadow:0 8px 18px -8px var(--blue-shadow)}button[type=submit]:hover,.btn-primary:hover{filter:brightness(1.06);box-shadow:0 12px 26px -8px var(--blue-shadow)}.btn-magenta{background:linear-gradient(135deg,var(--magenta),var(--magenta-strong));border-color:transparent;color:#fff;box-shadow:0 8px 18px -8px var(--magenta-shadow)}.btn-magenta:hover{filter:brightness(1.06);box-shadow:0 12px 26px -8px var(--magenta-shadow)}.btn-danger{color:var(--danger);border-color:var(--danger-tint);background:var(--danger-tint);box-shadow:none}.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.btn-secondary{color:var(--text-muted);box-shadow:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.4rem 1.5rem;animation:rise .32s ease both}.card+.card{margin-top:.9rem}a.job-card:hover,.order-banner-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--border)}.job-card,.order-banner-card{transition:box-shadow .18s ease,transform .18s ease}.section{margin-top:2.25rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-head h2{margin:0}.notice{background:var(--warning-tint);color:var(--warning);border-radius:var(--radius-sm);padding:.6rem .85rem;font-size:.88rem}.notice a{color:inherit;text-decoration:underline}.error{color:var(--danger);background:var(--danger-tint);border-radius:var(--radius-sm);padding:.55rem .75rem;white-space:pre-wrap;font-size:.88rem}.muted{color:var(--text-muted);font-size:.88rem}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.65rem;color:var(--text-muted);font-size:.92rem;border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);padding:2.5rem 1.5rem;text-align:center;animation:rise .32s ease both}.empty-state svg{width:2rem;height:2rem;stroke:var(--text-muted);opacity:.6}.badge{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-body);font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:.28rem .65rem .28rem .55rem;border-radius:999px;background:var(--surface-2);color:var(--text-muted);white-space:nowrap}.badge:before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:currentColor;flex:none}.badge[data-status=PUBLISHED],.badge[data-status=SUBMITTED],.badge[data-status=AWAITING_CONFIRMATION],.badge[data-status=AWAITING_PAYMENT],.badge[data-status=AWAITING_IBAN],.badge[data-status=PENDING],.badge[data-status=REVISION_REQUESTED]{background:var(--warning-tint);color:var(--warning)}.badge[data-status=IN_PROGRESS],.badge[data-status=IN_REVIEW]{background:var(--info-tint);color:var(--info)}.badge[data-status=ACCEPTED],.badge[data-status=FILLED],.badge[data-status=COMPLETED],.badge[data-status=PAID]{background:var(--success-tint);color:var(--success)}.badge[data-status=CANCELLED],.badge[data-status=REJECTED],.badge[data-status=FAILED]{background:var(--danger-tint);color:var(--danger)}.badge[data-status=WITHDRAWN],.badge[data-status=SUPERSEDED]{background:var(--surface-2);color:var(--text-muted)}.tags,.chips{display:flex;flex-wrap:wrap;gap:.4rem}.tag,.chip{font-size:.78rem;padding:.24rem .65rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.role-toggle{display:inline-flex;border:1px solid rgba(255,255,255,.22);border-radius:999px;overflow:hidden;width:fit-content;background:#ffffff0a}.role-toggle-btn{display:inline-flex;align-items:center;gap:.35rem;border:none;border-radius:999px;padding:.3rem .75rem;font-size:.78rem;font-weight:500;background:transparent;color:#ffffffa6;box-shadow:none}.role-toggle-btn:hover{transform:none;box-shadow:none;background:#ffffff14}.role-toggle-btn .avatar{width:1.15rem;height:1.15rem}.role-toggle-btn .avatar-placeholder{font-size:.6rem;line-height:1.15rem}.role-toggle-btn.active{background:#ffffff2e;color:#fff}.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}.role-cards .card{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;transition:box-shadow .18s ease,transform .18s ease}.role-cards .card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.role-card-icon{display:flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:12px;background:var(--blue-soft);color:var(--blue)}.role-card-icon svg{width:1.35rem;height:1.35rem}.already-set-up{display:flex;align-items:center;gap:.5rem;color:var(--success);font-size:.88rem;font-weight:600;margin:0}.auth-hero{margin-bottom:1.75rem}.auth-hero p{color:var(--text-muted)}.auth-shell{display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,1.15fr);max-width:960px;margin:2.5rem auto;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border);background:var(--surface);animation:rise .4s ease both}.auth-brand{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--topbar-bg),var(--topbar-bg-2));color:#fff;padding:3rem 2.25rem;display:flex;flex-direction:column;justify-content:space-between}.auth-brand:after{content:"";position:absolute;right:-30%;bottom:-35%;width:65%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--blue) 0%,transparent 72%);opacity:.4}.auth-brand-top{position:relative;z-index:1}.auth-brand .wordmark{font-size:1.3rem;margin-bottom:2.25rem}.auth-brand h1{color:#fff;font-size:1.9rem;margin-bottom:.6rem}.auth-brand p{color:#ffffffb8;max-width:30ch}.auth-features{list-style:none;margin:1.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.9rem;position:relative;z-index:1}.auth-feature{display:flex;align-items:flex-start;gap:.65rem;font-size:.88rem;color:#ffffffd9}.auth-feature svg{flex:none;width:1.1rem;height:1.1rem;color:var(--blue);margin-top:.1rem}.auth-box{padding:2.75rem 2.5rem}.auth-box form{max-width:none}.auth-tabs{display:flex;gap:.2rem;background:var(--surface-2);border:none;border-radius:999px;padding:.3rem;margin-bottom:1.75rem}.auth-tab{font:inherit;font-size:.84rem;font-weight:600;color:var(--text-muted);background:none;border:none;border-radius:999px;padding:.5rem .6rem;margin:0;flex:1;cursor:pointer;width:auto;box-shadow:none;transition:background .12s ease,color .12s ease}.auth-tab:hover{color:var(--text);background:none;transform:none;box-shadow:none}.auth-tab.active{color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm)}.auth-panel{display:none}.auth-panel.active{display:block}@media (max-width: 760px){.auth-shell{grid-template-columns:1fr;margin:0 -1.1rem;border-radius:0;border-left:none;border-right:none;box-shadow:none}.auth-brand{padding:2.25rem 1.5rem}.auth-features{display:none}.auth-box{padding:2rem 1.5rem}}.job-card .job-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.job-card h3{margin:0 0 .3rem}.job-card .byline{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.job-card .description{color:var(--text-muted);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.7rem}.job-card .tags{margin-bottom:.85rem}.job-card .actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.propose-form{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border)}.propose-form:empty{display:none;border:none}.back-link{display:inline-block;font-size:.88rem;color:var(--text-muted);text-decoration:none;margin-bottom:1rem}.back-link:hover{color:var(--text)}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.4rem}.detail-head h1{margin:0}.info-bar{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1rem 1.25rem;margin:1.25rem 0;animation:rise .32s ease both}.info-item{display:flex;flex-direction:column;gap:.15rem}.info-item .info-label{font-family:var(--font-body);font-size:.75rem;color:var(--text-muted)}.info-item .info-value{font-weight:700;font-size:.95rem;color:var(--text)}.info-item .info-value.money{font-size:1rem}.proposal-card .proposal-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.ledger-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;text-decoration:none;color:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:var(--radius-sm);padding:.95rem 1.15rem;animation:rise .32s ease both;transition:box-shadow .18s ease,transform .18s ease,border-color .15s ease}.ledger-row+.ledger-row{margin-top:.55rem}.ledger-row:hover{border-color:var(--blue);border-left-color:var(--blue);box-shadow:var(--shadow);transform:translateY(-1px)}.ledger-row:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ledger-row[data-status=IN_PROGRESS],.ledger-row[data-status=IN_REVIEW]{border-left-color:var(--info)}.ledger-row[data-status=COMPLETED]{border-left-color:var(--success)}.ledger-row[data-status=CANCELLED]{border-left-color:var(--danger)}.ledger-row[data-status=AWAITING_CONFIRMATION],.ledger-row[data-status=AWAITING_PAYMENT],.ledger-row[data-status=SUBMITTED],.ledger-row[data-status=REVISION_REQUESTED]{border-left-color:var(--warning)}.order-row-main{display:flex;flex-direction:column;gap:.25rem}.order-row-main .who{font-weight:600}.order-row-meta{display:flex;align-items:center;gap:.85rem}.timeline{list-style:none;margin:0;padding:.2rem 0 .2rem 1.5rem;position:relative}.timeline:before{content:"";position:absolute;left:.29rem;top:.85rem;bottom:.85rem;width:2px;background:var(--border-strong)}.timeline li{position:relative;display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0}.timeline li:before{content:"";position:absolute;left:-1.5rem;top:.85rem;width:.6rem;height:.6rem;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px var(--surface)}.timeline-label{font-weight:600;font-size:.9rem}.timeline-date{color:var(--text-muted);font-size:.85rem;font-variant-numeric:tabular-nums}.order-banner-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;color:inherit;margin-bottom:1.25rem;border-left:4px solid var(--blue)}.conversation-row-main{display:flex;flex-direction:column;gap:.15rem}.conversation-row-main .who{display:flex;align-items:center;gap:.6rem;font-weight:600}.conversation-row-meta{display:flex;align-items:center;gap:.6rem}.chat-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}#realtime-status{display:inline-flex;align-items:center;gap:.4rem}#realtime-status:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--text-muted)}#realtime-status.live:before{background:var(--success);animation:pulse-dot 1.8s ease-in-out infinite}#order-banner:empty{display:none}#chat-log{max-height:55vh;overflow-y:auto;display:flex;flex-direction:column;gap:.55rem;margin:1.25rem 0;padding:1.1rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.msg{padding:.55rem .85rem;border-radius:var(--radius);max-width:78%;box-shadow:var(--shadow-sm);animation:rise .22s ease both}.msg.mine{background:linear-gradient(135deg,var(--blue),var(--blue-strong));color:var(--blue-on);align-self:flex-end;border-bottom-right-radius:3px}.msg.mine .msg-author,.msg.mine .msg-time{color:var(--blue-on);opacity:.75}.msg.theirs{background:var(--surface);align-self:flex-start;border-bottom-left-radius:3px}.msg.theirs .msg-time{color:var(--text-muted)}.msg.system{align-self:center;font-size:.8rem;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.35rem .9rem;max-width:none;box-shadow:none}.msg-author{font-size:.75rem;font-weight:700;margin-bottom:.15rem}.msg-time{font-size:.7rem;margin-top:.25rem;font-variant-numeric:tabular-nums}#send-form{flex-direction:row;max-width:none}#send-form input{flex:1}.hidden-node{background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);padding:.05rem .4rem;font-style:italic;color:var(--text-muted)}.avatar{width:1.7rem;height:1.7rem;border-radius:50%;object-fit:cover;vertical-align:middle;display:inline-block;border:1px solid var(--border);flex:none}.avatar-placeholder{background:var(--blue-soft);color:var(--blue);font-family:var(--font-display);font-size:.75rem;font-weight:700;line-height:1.6rem;text-align:center;border-color:transparent}.avatar-large{width:4.5rem;height:4.5rem;font-size:1.8rem;line-height:4.5rem}.person-link{color:inherit;text-decoration:none}.person-link:hover{text-decoration:underline}.profile-hero{display:flex;align-items:center;gap:1.1rem;margin-bottom:1.5rem}.profile-hero h1{margin:0}.avatar-list{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.avatar-list-item{display:flex;align-items:center;gap:.75rem}.avatar-list-item .muted{flex:1}.avatar-upload-form{flex-direction:row;align-items:center;max-width:none}.landing{padding-block:1.75rem 3rem}.landing-nav{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.75rem}.landing-nav-links{display:flex;gap:1.75rem;flex:1}.landing-nav-links a{color:var(--text-muted);text-decoration:none;font-size:.92rem;font-weight:600;cursor:pointer}.landing-nav-links a:hover{color:var(--text)}.landing-nav-actions{display:flex;align-items:center;gap:1rem}.landing-nav-login{color:var(--text);text-decoration:none;font-weight:600;font-size:.92rem}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center;padding-block:1.5rem 3rem}.hero-copy h1{margin-bottom:.9rem}.hero-copy .text-blue{display:block;color:var(--blue)}.hero-sub{font-size:clamp(1rem,1.4vw,1.1rem);color:var(--text-muted);max-width:48ch;line-height:1.6}.hero-ctas{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.4rem 0}.capability-strip{display:flex;gap:.6rem;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:1.25rem;margin-top:.5rem}.capability-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);border-radius:999px;padding:.4rem .8rem;font-size:.82rem;color:var(--text-muted)}.capability-chip svg{width:.9rem;height:.9rem;color:var(--blue);flex:none}.hero-artifact{position:relative;min-height:320px}.frag{position:absolute;width:82%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.1rem 1.25rem;animation:rise .4s ease both}.frag-job{top:0;left:0;z-index:1}.frag-job .frag-head{margin-bottom:.6rem}.frag-job h4{font-family:var(--font-display);font-weight:700;font-size:1rem;margin:.5rem 0 .4rem;color:var(--text)}.frag-budget{font-size:1.2rem}.frag-proposal{bottom:0;right:0;z-index:1}.frag-proposal .frag-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.7rem}.frag-avatar{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-family:var(--font-display);font-weight:700;font-size:.9rem;flex:none}.frag-name{font-weight:700;font-size:.92rem}.frag-rate{font-size:.85rem}.frag-note{margin:0;color:var(--text-muted);font-size:.88rem;font-style:italic}.meet-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:2.75rem;height:2.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--magenta),var(--blue));color:#fff;box-shadow:var(--shadow-lg)}.meet-badge svg{width:1.2rem;height:1.2rem}.landing-section{padding-block:3.5rem}.landing-section+.landing-section{border-top:1px solid var(--border)}.landing-section-head{max-width:640px;margin:0 auto 2rem;text-align:center;display:grid;gap:.6rem}.landing-section-head p{margin:0 auto;color:var(--text-muted)}.landing-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.landing-side-card{display:flex;flex-direction:column;gap:.85rem;align-items:flex-start}.landing-point-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.landing-point-list li{display:flex;gap:.6rem;font-size:.92rem;line-height:1.5}.landing-point-list li svg{flex:none;width:1.05rem;height:1.05rem;margin-top:.15rem}.landing-side-card.client li svg{color:var(--magenta)}.landing-side-card.freelancer li svg{color:var(--blue)}.flow-row{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:center;position:relative;padding-block:1.1rem}.flow-row+.flow-row{border-top:1px dashed var(--border)}.flow-cell{display:flex;align-items:flex-start;gap:.75rem}.flow-cell.freelancer{flex-direction:row-reverse;text-align:right}.flow-cell.center{flex-direction:column;align-items:center;text-align:center;gap:.35rem;min-width:9rem}.flow-num{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:50%;font-family:var(--font-display);font-weight:700;font-size:.85rem;flex:none}.flow-cell.client .flow-num{background:var(--magenta-soft);color:var(--magenta)}.flow-cell.freelancer .flow-num{background:var(--blue-soft);color:var(--blue)}.flow-cell.center .flow-dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--text-faint)}.flow-cell p{margin:0;font-size:.88rem;line-height:1.5}.flow-cell.center p{font-weight:700;font-size:.82rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.flow-track-labels{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;margin-bottom:.5rem}.flow-track-label{font-family:var(--font-display);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.flow-track-label.client{color:var(--magenta)}.flow-track-label.freelancer{color:var(--blue);text-align:right}.flow-track-label.center{text-align:center;color:var(--text-faint)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.feature-tile h3{font-size:1.02rem;margin-bottom:.4rem}.mini-preview{margin-top:.9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:.75rem}.mini-portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.mini-portfolio span{aspect-ratio:1;border-radius:5px;background:linear-gradient(135deg,var(--blue-soft),var(--magenta-soft))}.mini-review{display:flex;flex-direction:column;gap:.4rem}.mini-review .stars{font-size:.85rem}.mini-review p{margin:0;font-size:.8rem;color:var(--text-muted);font-style:italic}.mini-escrow{display:flex;flex-direction:column;gap:.5rem}.mini-escrow-bar{height:.5rem;border-radius:999px;background:var(--surface-3);overflow:hidden}.mini-escrow-bar>span{display:block;height:100%;width:62%;border-radius:999px;background:linear-gradient(90deg,var(--magenta),var(--blue))}.mini-escrow-label{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.mini-categories,.mini-status{display:flex;flex-wrap:wrap;gap:.35rem}.mini-thread{display:flex;flex-direction:column;gap:.35rem}.mini-thread span{font-size:.76rem;padding:.3rem .55rem;border-radius:999px;max-width:80%}.mini-thread span.mine{align-self:flex-end;background:var(--blue-soft);color:var(--blue)}.mini-thread span.theirs{align-self:flex-start;background:var(--surface-3);color:var(--text-muted)}.cta-split{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.cta-panel{border-radius:var(--radius-lg);padding:clamp(1.75rem,4vw,2.5rem);color:#fff;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.cta-panel h3{color:#fff;margin:0}.cta-panel p{color:#ffffffd1;margin:0}.cta-panel.client{background:linear-gradient(160deg,var(--magenta-strong),var(--magenta-ink))}.cta-panel.freelancer{background:linear-gradient(160deg,var(--blue-strong),var(--blue-ink))}.cta-panel .btn{margin-top:.4rem}.cta-panel .btn-magenta,.cta-panel .btn-primary{background:#fff;color:var(--text);box-shadow:none}.cta-panel .btn-magenta:hover,.cta-panel .btn-primary:hover{filter:none;background:#ffffffe6}.landing-footer{margin-top:2.5rem;text-align:center;color:var(--text-muted);font-size:.8rem}.stars{font-size:1rem;letter-spacing:1px}.star-filled{color:var(--warning)}.star-empty{color:var(--border-strong)}.attach-thumb-strip{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.attach-thumb{width:3.2rem;height:3.2rem;border-radius:8px;border:1px solid var(--border);overflow:hidden;display:block;flex:none}.attach-thumb img{width:100%;height:100%;object-fit:cover;display:block}.attach-thumb-file{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;background:var(--surface-2);color:var(--text-muted);font-size:.5rem;text-align:center;padding:.2rem;overflow:hidden}.attach-thumb-file svg{width:1rem;height:1rem}.attach-thumb-file span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius-sm);padding:1rem;text-align:center;background:var(--surface-2);cursor:pointer}.dropzone:hover{border-color:var(--blue)}.dropzone input[type=file]{display:none}.dropzone-label{color:var(--text-muted);font-size:.85rem}.dropzone-label strong{color:var(--blue)}.attach-count{font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.portfolio-card{overflow:hidden;padding:0;display:flex;flex-direction:column}.portfolio-cover{height:130px;background:var(--surface-2);display:block}.portfolio-cover img{width:100%;height:100%;object-fit:cover;display:block}.portfolio-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.5rem}.portfolio-body h4{font-family:var(--font-body);font-size:.98rem;font-weight:700;margin:0}.portfolio-body p{font-size:.85rem;color:var(--text-muted);line-height:1.5;margin:0}.portfolio-gallery{display:flex;gap:.4rem;flex-wrap:wrap}.portfolio-gallery img{width:2.6rem;height:2.6rem;border-radius:6px;object-fit:cover;border:1px solid var(--border)}.portfolio-manage-item{display:flex;align-items:center;gap:.85rem}.portfolio-manage-item .muted{flex:1}.review-summary{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.review-summary-score{font-family:var(--font-display);font-size:2rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.review-summary-meta{display:flex;flex-direction:column;gap:.25rem}.review-histogram{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:180px}.review-histogram-row{display:grid;grid-template-columns:1.2rem 1fr 2rem;align-items:center;gap:.5rem;font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.review-histogram-bar{height:.4rem;border-radius:999px;background:var(--surface-2);overflow:hidden}.review-histogram-bar>span{display:block;height:100%;background:var(--warning);border-radius:999px}.review-card{display:flex;flex-direction:column;gap:.4rem}.review-card-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.review-card-who{display:flex;align-items:center;gap:.5rem;font-weight:600}.review-rating-input{display:flex;gap:.3rem;font-size:1.6rem}.review-rating-input button{background:none;border:none;box-shadow:none;padding:0;width:auto;cursor:pointer;color:var(--border-strong);line-height:1}.review-rating-input button.selected,.review-rating-input button:hover{color:var(--warning)}@media (max-width: 700px){#topbar{flex-wrap:wrap;row-gap:.5rem}#app{padding:1.5rem 1.1rem 3rem}.job-card .job-head,.detail-head{flex-direction:column}.hero{grid-template-columns:1fr}.hero-artifact{min-height:260px}.feature-grid,.cta-split,.landing-split-grid{grid-template-columns:1fr}.flow-row,.flow-track-labels{grid-template-columns:1fr;gap:.5rem}.flow-cell.freelancer{flex-direction:row;text-align:left}.flow-track-label.freelancer{text-align:left}.flow-cell.center{order:-1;min-width:0}.landing-nav-links{display:none}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
