*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,Segoe UI,Arial,sans-serif;background:#f6f8fb;color:#152238}
a{text-decoration:none;color:inherit}input,select,textarea,button{font:inherit}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid #e7edf5}
.header-row{display:flex;align-items:center;justify-content:space-between;min-height:76px}
.brand{font-size:24px;font-weight:800;letter-spacing:.04em}.nav{display:flex;gap:18px;color:#506178;font-weight:600;flex-wrap:wrap}
.site-main{padding:24px 0 60px}.hero{padding:24px 0 12px}
.hero-card,.detail-hero,.panel-card,.business-card,.auth-card,.setup-card,.stat-card,.claim-box,.mini-card,.info-card,.gallery-card,.hours-card,.map-card,.claim-hint-card{background:#fff;border:1px solid #e9edf4;border-radius:24px;box-shadow:0 18px 50px rgba(15,23,42,.06)}
.hero-card{padding:34px}.hero-card h1{margin:0 0 8px;font-size:42px;line-height:1.08;letter-spacing:-.03em}.hero-card p{margin:0 0 22px;color:#607188;font-size:17px}
.search-form input,.search-form select,.stack input,.stack textarea,.setup-form input,textarea,select{width:100%;padding:14px 16px;border:1px solid #dbe5f0;border-radius:16px;background:#fff;color:#152238}
textarea{min-height:120px;resize:vertical}
.search-grid{display:grid;grid-template-columns:1.4fr .8fr .35fr;gap:14px}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border:none;border-radius:16px;font-weight:700;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);color:#fff}
.btn-soft{background:#eef4ff;color:#1d4ed8}.btn-danger{background:#fff1f2;color:#be123c}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.section-head h1,.section-head h2{margin:0}.muted{color:#67768a}
.list-section{padding-top:16px}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.business-card{padding:22px;transition:.18s transform ease,.18s box-shadow ease;position:relative;overflow:hidden}
.business-card::after{content:'';position:absolute;inset:auto -20% -40% auto;width:160px;height:160px;background:radial-gradient(circle,rgba(37,99,235,.08),transparent 70%);pointer-events:none}
.business-card:hover{transform:translateY(-3px);box-shadow:0 22px 60px rgba(15,23,42,.09)}
.business-top{display:flex;justify-content:space-between;gap:12px}.business-card h3{margin:0 0 6px;font-size:22px;letter-spacing:-.02em}.meta{font-size:14px;color:#66768b}
.desc{color:#49586b;margin:14px 0 16px;line-height:1.55;min-height:48px}.rating-box{min-width:46px;height:46px;padding:0 10px;border-radius:14px;background:#eff6ff;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-weight:800}
.badge-row{display:flex;flex-wrap:wrap;gap:8px}.badge-row-tight .ux-badge{max-width:100%}
.ux-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid transparent;letter-spacing:.01em}
.badge-claimed{background:#eef7ff;color:#2563eb;border-color:#bfdbfe}
.badge-official{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}
.badge-premium{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}
.badge-sponsored{background:#fff7ed;color:#c2410c;border-color:#fdba74}
.badge-pending{background:#fffbea;color:#a16207;border-color:#fcd34d}
.badge-verified{padding:7px 14px 7px 8px;border-width:1px;border-style:solid;box-shadow:0 10px 24px rgba(15,23,42,.06);font-weight:900}
.badge-check{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;flex:0 0 24px}
.badge-verified-blue{background:linear-gradient(135deg,#eef5ff 0%,#dfeeff 100%);color:#0f52d6;border-color:#93c5fd}
.badge-verified-blue .badge-check{background:#2563eb;color:#fff}
.badge-verified-gray{background:linear-gradient(135deg,#f5f7fa 0%,#e9edf2 100%);color:#374151;border-color:#cbd5e1}
.badge-verified-gray .badge-check{background:#4b5563;color:#fff}
.badge-verified-gold{background:linear-gradient(135deg,#fff7d8 0%,#ffe39a 100%);color:#7a5800;border-color:#eab308}
.badge-verified-gold .badge-check{background:linear-gradient(135deg,#c89c1f 0%,#9b7300 100%);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 4px 10px rgba(155,115,0,.18)}
.auth-wrap,.setup-wrap{max-width:620px;margin:20px auto 0;padding:0 20px}.auth-card,.setup-card{padding:28px}.auth-card h1,.setup-card h1{margin:0 0 18px}
.stack{display:grid;gap:14px}.stack.compact{gap:10px}label span{display:block;margin:0 0 8px;font-size:14px;font-weight:700;color:#49586b}
.alert{padding:14px 16px;border-radius:16px;margin-bottom:16px}.alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.alert-success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.admin-wrap .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:16px 0 22px}.stat-card{padding:22px;display:flex;flex-direction:column;gap:8px}.stat-card strong{font-size:34px;line-height:1}
.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel-card{padding:22px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid #edf2f7;text-align:left;font-size:14px;vertical-align:top}
.business-detail{display:grid;gap:18px}.detail-hero{display:grid;grid-template-columns:1.35fr .75fr;gap:18px;padding:28px}.detail-hero-rich{align-items:start}
.detail-main h1{margin:0 0 10px;font-size:40px;letter-spacing:-.03em}
.eyebrow{font-size:13px;font-weight:800;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.detail-text{font-size:16px;line-height:1.7;color:#49586b;margin:0 0 18px}
.claim-box,.claim-hint-card{padding:22px}.claim-box h3,.claim-hint-title{margin:0 0 10px;font-size:24px;letter-spacing:-.02em;font-weight:800;color:#102341}.claim-box p,.claim-hint-card p{margin:0 0 16px;color:#66768b}
.claim-hint-card{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.claim-owned-card{background:linear-gradient(180deg,#ffffff 0%,#fafcff 100%)}
.soft-claim-inline{display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px 0;font-size:14px;color:#5b6b7f}
.soft-claim-inline a{color:#1d4ed8;font-weight:700}
.soft-claim-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px dashed #cbd5e1;border-radius:20px;background:#fbfdff}
.soft-claim-banner strong{display:block;margin-bottom:4px}
.soft-claim-banner p{margin:0;color:#66768b}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.info-card{padding:16px 18px}
.info-label{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6b7280;margin-bottom:8px}
.info-value{font-size:15px;line-height:1.5;color:#223047}
.link-plain{color:#1d4ed8;word-break:break-all}
.gallery-section{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.gallery-card,.hours-card,.map-card{padding:20px}
.gallery-main{width:100%;height:340px;border-radius:20px;object-fit:cover;display:block}
.gallery-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.gallery-thumbs img{width:100%;height:90px;border-radius:14px;object-fit:cover;display:block}
.hours-list{display:grid;gap:10px}
.hours-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #edf2f7;border-radius:14px;background:#fbfcfe}
.map-frame{width:100%;height:340px;border:0;border-radius:18px;background:#f3f6fb}
.reviews{display:grid;gap:12px}.review-card{padding:18px;border:1px solid #edf2f7;border-radius:18px;background:#fbfcfe}.review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.setup-page{background:linear-gradient(180deg,#f7f9fc 0%,#edf3fb 100%)}.setup-brand{display:inline-flex;padding:8px 12px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:800;margin-bottom:16px}
.actions{display:flex;gap:10px;justify-content:flex-start;margin-top:16px}.actions-inline{display:flex;gap:8px;flex-wrap:wrap}.toolbar{display:flex;gap:12px;align-items:center}.toolbar input{flex:1}
.checks{display:flex;gap:14px;flex-wrap:wrap}.check{display:flex;align-items:center;gap:8px;background:#f8fbff;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px}.mini-card{padding:16px;display:grid;gap:6px}
.top-space{margin-top:18px}
@media (max-width:980px){.business-grid,.panel-grid,.detail-hero,.admin-wrap .stats-grid,.info-grid,.gallery-section{grid-template-columns:1fr 1fr}.search-grid{grid-template-columns:1fr}}
@media (max-width:720px){.business-grid,.panel-grid,.detail-hero,.admin-wrap .stats-grid,.grid.two,.info-grid,.gallery-section{grid-template-columns:1fr}.hero-card h1,.detail-main h1{font-size:32px}.header-row{flex-direction:column;justify-content:center;gap:10px;padding:14px 0}.toolbar{flex-direction:column;align-items:stretch}.gallery-main{height:260px}.soft-claim-banner{flex-direction:column;align-items:flex-start}}
