*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;margin:0;background:#f5f5f5;color:#111}main{max-width:720px;margin:0 auto;padding:2rem 1rem}h1{margin:0 0 1.5rem}.form{background:white;padding:1.25rem;border-radius:8px;border:1px solid #e5e5e5;display:flex;flex-direction:column;gap:.5rem}input{width:100%;padding:.6rem .75rem;border:1px solid #ccc;border-radius:6px}button,input{font-size:1rem}button{padding:.6rem 1.2rem;background:#111;color:white;border:none;border-radius:6px;cursor:pointer;align-self:flex-start}button:disabled{opacity:.5;cursor:not-allowed}.autocomplete{position:relative}.suggestions{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #ddd;border-radius:6px;margin:4px 0 0;padding:.25rem 0;list-style:none;box-shadow:0 4px 12px rgba(0,0,0,.08);z-index:10;max-height:240px;overflow-y:auto}.suggestions li{padding:.5rem .75rem;cursor:pointer;font-size:.9rem}.suggestions li:hover{background:#f5f5f5}.error{color:#c00;margin-top:.75rem}.results{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-direction:column;gap:.5rem}.results li{background:white;border-radius:6px;border:1px solid #e5e5e5}.results .card-row{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem}.results .card-row input[type=checkbox]{margin-top:.2rem;width:1.1rem;height:1.1rem;flex-shrink:0;cursor:pointer;accent-color:#111}.results .card-body{flex:1 1;min-width:0}.results .name{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-weight:600;font-size:1rem}.results .name-link{color:inherit;text-decoration:none}.results .name-link:hover{text-decoration:underline}.rating{display:inline-flex;align-items:center;gap:.25rem;font-size:.85rem;font-weight:400;color:#555}.rating .star{color:#f5a623}.rating .count{color:#888;margin-left:.15rem}.results .address{color:#666;font-size:.9rem;margin-top:.25rem}.results .meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;font-size:.875rem}.results .meta-item{color:#0a58ca;text-decoration:none}.results .meta-item:hover{text-decoration:underline}.results .competencia-link{color:#555;border:1px solid #ddd;border-radius:4px;padding:.1rem .5rem;font-size:.8rem}.results .competencia-link:hover{background:#f5f5f5;text-decoration:none}.back-link{display:inline-block;color:#555;text-decoration:none;font-size:.9rem;margin-bottom:1rem}.back-link:hover{text-decoration:underline}.subtitle{color:#666;margin:-.5rem 0 1.5rem;font-size:.95rem}.empty{color:#888;margin-top:1rem}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:1rem}.pagination .count{color:#666;font-size:.9rem}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}button .spinner{margin-right:.5rem}.loader-center{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-top:2.5rem;color:#666}.loader-center .spinner{width:28px;height:28px;border-width:3px;border-color:#111 #ddd #ddd}@keyframes spin{to{transform:rotate(1turn)}}.action-panel{position:fixed;top:6rem;right:2rem;width:220px;background:white;border:1px solid #e5e5e5;border-radius:8px;padding:1rem;box-shadow:0 4px 12px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:.5rem}.action-panel-count{font-size:.9rem;color:#555}.action-panel button{align-self:stretch}button.ghost{background:transparent;color:#555;border:1px solid #ddd}button.ghost:hover{background:#f5f5f5}@media (max-width:1100px){.action-panel{position:static;margin:1rem 0 0;width:100%}}main.landing{max-width:1080px;padding:0 1rem}.site-nav{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0}.site-nav .brand{font-weight:700;font-size:1.15rem}.site-nav nav{display:flex;gap:1.25rem;align-items:center}.site-nav nav a{color:#555;text-decoration:none;font-size:.95rem}.site-nav nav a:hover{color:#111}.site-nav .nav-cta{background:#111;color:white;padding:.5rem 1rem;border-radius:6px}.site-nav .nav-cta:hover{background:#000;color:white}.hero{text-align:center;padding:4rem 1rem 5rem}.hero h1{font-size:2.75rem;line-height:1.15;margin:0 auto 1.25rem;max-width:800px}.hero .lead{font-size:1.15rem;color:#555;max-width:720px;margin:0 auto 2rem;line-height:1.6}.cta-primary{display:inline-block;background:#111;color:white;padding:.85rem 1.75rem;border-radius:8px;text-decoration:none;font-size:1rem;font-weight:500}.cta-primary:hover{background:#000}.hero-sub{color:#888;font-size:.9rem;margin-top:1rem}.features{padding:4rem 0}.faq h2,.features h2,.final-cta h2,.how h2,.pricing h2{text-align:center;font-size:2rem;margin:0 0 2.5rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1.5rem;gap:1.5rem}.feature-card{background:white;padding:1.5rem;border-radius:10px;border:1px solid #e5e5e5}.feature-card h3{margin:0 0 .5rem;font-size:1.1rem}.feature-card p{color:#555;margin:0;line-height:1.55}.feature-card code{background:#f3f4f6;padding:.05rem .35rem;border-radius:4px;font-size:.85em}.how{padding:4rem 1.5rem;background:white;border-radius:12px;border:1px solid #eee;margin:2rem 0}.steps{max-width:720px;margin:0 auto;counter-reset:step;padding:0;list-style:none}.steps li{position:relative;padding:0 0 1.75rem 3.25rem;counter-increment:step;color:#555;line-height:1.55}.steps li:last-child{padding-bottom:0}.steps li:before{content:counter(step);position:absolute;left:0;top:-.15rem;width:2.1rem;height:2.1rem;background:#111;color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.95rem}.steps li strong{display:block;margin-bottom:.3rem;color:#111}.pricing{padding:4rem 0}.pricing-sub{text-align:center;color:#555;font-size:1.05rem;margin:-1.5rem 0 2.5rem}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem;align-items:stretch}.pricing-card{background:white;padding:2rem 1.5rem;border-radius:10px;border:1px solid #e5e5e5;position:relative;display:flex;flex-direction:column}.pricing-card.popular{border-color:#111;border-width:2px;transform:translateY(-4px)}.pricing-card .badge{position:absolute;top:-.75rem;left:50%;transform:translateX(-50%);background:#111;color:white;font-size:.75rem;padding:.2rem .8rem;border-radius:99px;white-space:nowrap}.pricing-card h3{margin:0 0 .5rem;font-size:1.2rem}.pricing-card .price{font-size:2.5rem;font-weight:700;margin:.5rem 0 .25rem}.pricing-card .price-note{color:#666;font-size:.9rem;margin:0 0 1.5rem}.pricing-card ul{list-style:none;padding:0;margin:0 0 1.5rem;flex:1 1}.pricing-card li{padding:.4rem 0;color:#444;font-size:.95rem}.pricing-card li:before{content:"✓";color:#16a34a;font-weight:700;margin-right:.45rem}.cta-card{display:block;text-align:center;background:#f3f4f6;color:#111;padding:.75rem;border-radius:6px;text-decoration:none;font-weight:500}.cta-card:hover{background:#e5e7eb}.pricing-card.popular .cta-card{background:#111;color:white}.pricing-card.popular .cta-card:hover{background:#000}.pricing-foot{text-align:center;color:#666;font-size:.9rem}.faq{padding:4rem 0;max-width:760px;margin:0 auto}.faq dl{margin:0}.faq dt{font-weight:600;margin:1.5rem 0 .5rem}.faq dt:first-child{margin-top:0}.faq dd{margin:0;color:#555;line-height:1.6}.final-cta{text-align:center;padding:4rem 1rem;background:white;border-radius:12px;border:1px solid #eee;margin:2rem 0}.final-cta p{color:#555;margin:-1.5rem 0 1.75rem}.site-footer{border-top:1px solid #eee;padding:2rem 0;margin-top:2rem;text-align:center;color:#888;font-size:.9rem}.site-footer p{margin:.25rem 0}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{text-decoration:underline}@media (max-width:640px){.hero{padding:2.5rem .5rem 3rem}.hero h1{font-size:1.9rem}.hero .lead{font-size:1rem}.faq h2,.features h2,.final-cta h2,.how h2,.pricing h2{font-size:1.5rem}.pricing-card.popular{transform:none}}main.auth-main{max-width:440px;padding:3rem 1rem;min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-card{background:white;border:1px solid #e5e5e5;border-radius:12px;padding:2rem 1.75rem;width:100%;box-shadow:0 4px 16px rgba(0,0,0,.04)}.auth-brand{display:block;font-weight:700;font-size:1.05rem;color:#111;text-decoration:none;margin-bottom:1.5rem}.auth-brand:hover{color:#000}.auth-title{font-size:1.5rem;margin:0 0 .5rem}.auth-sub{color:#555;font-size:.95rem;margin:0 0 1.5rem;line-height:1.5}.auth-sub-small{font-size:.85rem;color:#777;margin-top:.75rem}.auth-form{padding:0;border:none;background:transparent;margin-bottom:1.25rem}.auth-label{font-size:.85rem;color:#555;font-weight:500}.auth-btn-primary{align-self:stretch;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.25rem}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:#999;font-size:.85rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:#e5e5e5}.auth-btn-google{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:white;color:#111;border:1px solid #d5d5d5;padding:.65rem 1rem;border-radius:6px;font-size:.95rem;cursor:pointer;align-self:stretch}.auth-btn-google:hover:not(:disabled){background:#fafafa;border-color:#b5b5b5}.auth-btn-google:disabled{opacity:.6;cursor:not-allowed}.spinner-dark{border-color:#111 rgba(0,0,0,.15) rgba(0,0,0,.15)}.auth-link{background:none;border:none;padding:0;color:#0a58ca;cursor:pointer;font-size:inherit;text-decoration:underline}.auth-link:hover{color:#003580}.auth-foot{margin:1.25rem 0 0;color:#888;font-size:.8rem;line-height:1.5;text-align:center}.account-header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;background:white;border-bottom:1px solid #e5e5e5;position:-webkit-sticky;position:sticky;top:0;z-index:50}.account-brand{font-weight:700;font-size:1.05rem;color:#111;text-decoration:none}.account-brand:hover{color:#000}.account-meta{display:flex;align-items:center;gap:.85rem;font-size:.9rem}.account-balance{background:#f3f4f6;color:#111;padding:.3rem .7rem;border-radius:99px;font-weight:600;font-size:.85rem}.account-balance.admin{background:#fef3c7;color:#92400e}.account-email{color:#666;font-size:.85rem}.account-logout{background:transparent;color:#555;border:1px solid #ddd;padding:.35rem .85rem;border-radius:6px;font-size:.85rem;cursor:pointer;align-self:auto}.account-logout:hover:not(:disabled){background:#f5f5f5;color:#111}@media (max-width:600px){.account-header{padding:.75rem 1rem}.account-email{display:none}}main.dashboard-main{max-width:720px;padding:2.5rem 1rem}main.dashboard-main h1{margin:0 0 .5rem}main.dashboard-main .subtitle{margin:0 0 1.75rem;color:#666;font-size:.95rem;line-height:1.55}main.legal{max-width:760px;margin:0 auto;padding:2.5rem 1.25rem 4rem;color:#222;line-height:1.65}main.legal .legal-nav{margin-bottom:2rem;font-size:.9rem}main.legal .legal-nav a{color:#555;text-decoration:none}main.legal .legal-nav a:hover{color:#111;text-decoration:underline}main.legal h1{font-size:2rem;margin:0 0 .5rem;color:#111}main.legal .legal-meta{margin:0 0 2.5rem;color:#888;font-size:.875rem}main.legal section{margin-bottom:2.25rem}main.legal h2{font-size:1.2rem;margin:0 0 .75rem;color:#111}main.legal p,main.legal ul{margin:0 0 .9rem}main.legal ul{padding-left:1.5rem}main.legal li{margin-bottom:.4rem}main.legal a{color:#2563eb;text-decoration:none}main.legal a:hover{text-decoration:underline}main.legal .legal-contact-email{font-size:1.15rem;font-weight:600;margin:1rem 0 2rem}main.legal .legal-company{display:grid;grid-template-columns:9rem 1fr;grid-gap:.5rem 1rem;gap:.5rem 1rem;background:#fafafa;border:1px solid #eee;border-radius:8px;padding:1rem 1.25rem;margin:0 0 1rem}main.legal .legal-company dt{font-weight:600;color:#555}main.legal .legal-company dd{margin:0;color:#111}@media (max-width:600px){main.legal{padding:1.5rem 1rem 3rem}main.legal h1{font-size:1.6rem}main.legal .legal-company{grid-template-columns:1fr;gap:.15rem}main.legal .legal-company dt{margin-top:.5rem}}