:root{--bg-deep:#faf9f7;--bg-panel:#fff;--bg-panel-light:#f1efea;--accent-orange:#d9a15c;--accent-yellow:#1e2537;--text-paper:#1e2537;--text-muted:#6e6b63;--line:#e2e0dc;--danger:#c0392b;--success:#3f8f45;--font-heading:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-body:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(circle, #1e25370b 1px, transparent 1.2px) 0 0 / 26px 26px, var(--bg-deep);color:var(--text-paper);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.01em;margin:0;font-weight:800}p{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{color:inherit;font-family:inherit}.mono{font-family:var(--font-mono)}.page{flex-direction:column;min-height:100%;display:flex}.container{width:100%;max-width:960px;margin:0 auto;padding:0 20px}.container-narrow{width:100%;max-width:480px;margin:0 auto;padding:0 20px}.page-content{flex:1;padding:28px 0 60px}.topbar{border-bottom:1px solid var(--line);background:var(--bg-panel);z-index:10;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;max-width:960px;margin:0 auto;padding:14px 20px;display:flex}.brand{font-family:var(--font-heading);letter-spacing:-.02em;text-transform:lowercase;align-items:center;gap:8px;font-size:18px;font-weight:800;display:flex}.brand svg{width:26px;height:26px}.nav-links{align-items:center;gap:8px;display:flex}.btn{font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:11px 20px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent-orange);color:#1e2537}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-ghost{border-color:var(--line);color:var(--text-paper);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--accent-orange)}.btn-small{border-radius:10px;padding:7px 14px;font-size:12px}.btn-block{width:100%}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.card{background:var(--bg-panel);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 1px 3px #1e253712}.field{margin-bottom:16px}.field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;display:block}.field input,.field textarea,.field select{background:var(--bg-panel);border:1px solid var(--line);resize:vertical;border-radius:12px;width:100%;padding:11px 13px;font-size:14px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent-orange);outline:none}.field-error{color:var(--danger);margin-top:6px;font-size:12px}.form-error-banner{border:1px solid var(--danger);color:var(--text-paper);background:#c0392b14;border-radius:12px;margin-bottom:16px;padding:12px 14px;font-size:13px}.form-success-banner{border:1px solid var(--success);color:var(--text-paper);background:#6fbf731f;border-radius:12px;margin-bottom:16px;padding:12px 14px;font-size:13px}.role-toggle{gap:8px;margin-bottom:20px;display:flex}.role-toggle button{border:1px solid var(--line);background:var(--bg-panel);color:var(--text-muted);cursor:pointer;border-radius:12px;flex:1;padding:12px;font-size:13px;font-weight:600}.role-toggle button.active{border-color:var(--accent-orange);color:var(--text-paper);background:#d9a15c26}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);color:var(--text-muted);white-space:nowrap;cursor:pointer;background:0 0;border-radius:16px;padding:7px 12px;font-size:11px}.chip.on{background:var(--accent-yellow);color:#fff;border-color:var(--accent-yellow);font-weight:600}.badge{background:var(--bg-panel-light);color:var(--text-muted);border-radius:8px;padding:3px 7px;font-size:9.5px;display:inline-block}.badge.verif{color:var(--accent-yellow)}.oficios-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width>=640px){.oficios-grid{grid-template-columns:repeat(4,1fr)}}.oficio-tile{background:var(--bg-panel);border:1px solid var(--line);text-align:center;cursor:pointer;border-radius:14px;padding:18px 8px 14px;transition:all .15s;box-shadow:0 1px 3px #1e25370f}.oficio-tile:hover{border-color:var(--accent-orange);transform:translateY(-2px)}.oficio-tile svg{width:24px;height:24px;stroke:var(--accent-yellow);margin-bottom:8px}.oficio-tile span{font-size:11.5px;font-weight:500;line-height:1.3;display:block}.avatar{font-family:var(--font-heading);color:var(--text-paper);background:var(--accent-orange);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.stars{color:var(--accent-yellow);font-size:12px}.text-muted{color:var(--text-muted)}.spinner{border:2px solid var(--line);border-top-color:var(--accent-orange);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:14px}.headbar{align-items:center;gap:12px;margin-bottom:20px;display:flex}.icon-btn{background:var(--bg-panel);border:1px solid var(--line);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.icon-btn svg{width:16px;height:16px;stroke:var(--text-paper)}.icon-btn:hover{border-color:var(--accent-orange)}.prov-card{background:var(--bg-panel);border:1px solid var(--line);cursor:pointer;border-radius:16px;gap:14px;margin-bottom:12px;padding:16px;transition:all .15s;display:flex;box-shadow:0 1px 3px #1e25370f}.prov-card:hover{border-color:var(--accent-orange)}.prov-info{flex:1;min-width:0}.prov-info .name-row{align-items:center;gap:6px;font-size:15px;font-weight:600;display:flex}.prov-info .role{color:var(--text-muted);margin:3px 0 8px;font-size:12px}.prov-info .bio-snippet{color:var(--text-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:12.5px;display:-webkit-box;overflow:hidden}.badge-row{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.check{background:var(--accent-yellow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;display:inline-flex}.check svg{width:9px;height:9px;stroke:var(--accent-orange);stroke-width:3px}.price-tag{font-family:var(--font-mono);color:var(--text-paper);font-size:12.5px}.profile-banner{background:linear-gradient(135deg,#f1efea,#e2e0dc) 50%/cover;border-radius:20px;height:120px;position:relative}.profile-banner .icon-btn{background:#fffc;position:absolute;top:14px;left:14px}.profile-head{z-index:1;align-items:flex-end;gap:16px;margin-top:-38px;padding:0 12px;display:flex;position:relative}.profile-head .avatar{border:4px solid var(--bg-deep)}.profile-name b{font-family:var(--font-heading);align-items:center;gap:6px;font-size:20px;display:flex}.profile-name .role-line{color:var(--text-muted);margin-top:2px;font-size:13px}.stat-row{gap:10px;margin:24px 0;display:flex}.stat-box{background:var(--bg-panel);border:1px solid var(--line);text-align:center;border-radius:12px;flex:1;padding:14px 6px;box-shadow:0 1px 3px #1e25370f}.stat-box b{font-family:var(--font-mono);color:var(--accent-yellow);font-size:18px;display:block}.stat-box small{color:var(--text-muted);font-size:10px}.section-block{margin-bottom:28px}.section-block h3{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:13px}.section-block p{font-size:14px;line-height:1.6}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.gallery-grid img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);background:var(--bg-panel-light);border-radius:10px;width:100%}.review-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:14px;box-shadow:0 1px 3px #1e25370f}.review-card .review-top{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;font-weight:600;display:flex}.review-card p{color:var(--text-muted);font-size:12.5px;line-height:1.5}.sticky-bottom{padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg-panel);justify-content:space-between;align-items:center;gap:16px;margin:32px -20px 0;display:flex;position:sticky;bottom:0}.sticky-bottom .price-tag{font-size:15px}.sticky-bottom .price-tag small{color:var(--text-muted);font-size:10px;font-weight:400;display:block}.modal-overlay{z-index:100;background:#0a0c0fb3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:16px;width:100%;max-width:380px;padding:20px;box-shadow:0 8px 24px #1e25372e}
