/* CCG Business Dashboard and Business Owner Login — uses the site's existing tokens (styles.css :root). Mobile-first. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.biz-small{font-size:.86rem;color:#4b5d54}
.biz-lead{color:#3d5047;max-width:760px}
.biz-msg{padding:12px 14px;border-radius:12px;margin:10px 0;background:#eef2ec;overflow-wrap:anywhere}
.biz-msg.ok{background:#dcefe3;color:#1d5a3a}
.biz-msg.info{background:#e3e8f6;color:#2c3e78}
.biz-msg.error{background:#fbe9e7;color:#8a2a1e}
.biz-ok{color:#1d5a3a;font-weight:800}
.biz-err{color:#8a2a1e;font-weight:700;font-size:.8rem;min-height:0}
.biz-err:empty{display:none}
.biz-form label{display:flex;flex-direction:column;gap:5px;font-weight:800;font-size:.9rem;min-width:0;color:var(--ink)}
.biz-form label small{font-weight:500;color:#5a6b62;font-size:.8rem}
.biz-form input,.biz-form select,.biz-form textarea{width:100%;min-width:0;padding:12px;border:1px solid #c3cec5;border-radius:12px;background:#fff;font:inherit;font-size:16px;color:var(--ink)}
.biz-form textarea{resize:vertical;min-height:90px}
.biz-form input:focus-visible,.biz-form select:focus-visible,.biz-form textarea:focus-visible,.biz-app a:focus-visible,.biz-app button:focus-visible,.biz-auth a:focus-visible,.biz-auth button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.biz-form fieldset{border:0;margin:0;padding:0;min-width:0}
.biz-form fieldset:disabled input,.biz-form fieldset:disabled textarea,.biz-form fieldset:disabled select{background:#f3f1ea;color:#3d4a44}
.biz-form .biz-check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:700}
.biz-form .biz-check input{width:22px;height:22px;flex:0 0 auto;margin-top:1px}
.biz-wide{width:100%}
.biz-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.biz-linkbtn{background:none;border:0;padding:0;color:#14523a;font-weight:800;text-decoration:underline;cursor:pointer}
.biz-ticks{padding-left:0;list-style:none}.biz-ticks li{padding:4px 0 4px 26px;position:relative}.biz-ticks li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:900}
.biz-steps{padding-left:20px}.biz-steps li{margin:6px 0}

/* ---------- Login ---------- */
.biz-auth{background:var(--cream);padding:48px 0 80px}
.biz-auth-grid{display:grid;gap:22px;grid-template-columns:1fr}
.biz-auth-card,.biz-auth-aside{background:#fff;border:1px solid rgba(23,55,43,.1);border-radius:22px;padding:24px;box-shadow:0 15px 45px rgba(20,45,35,.08);min-width:0}
.biz-auth-card .kicker,.biz-auth-aside .kicker{color:#8a6a14}
.biz-auth h1{font-size:clamp(2rem,6vw,3rem);margin:8px 0 6px}
.biz-auth-aside{background:var(--green);color:#e8eee9}
.biz-auth-aside h2{font-size:1.6rem;color:#f4efdf;margin:0 0 10px}.biz-auth-aside h3{font-size:1.05rem;color:var(--gold2);margin:22px 0 6px}
.biz-auth-aside .biz-small{color:#c8d4ce}
.biz-auth .biz-form{display:grid;gap:14px;margin-top:10px}
@media(min-width:880px){.biz-auth-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.biz-auth-card,.biz-auth-aside{padding:34px}}

/* ---------- Dashboard shell ---------- */
.biz-app{background:var(--cream);padding-bottom:calc(76px + env(safe-area-inset-bottom))}
.biz-preview-banner{position:sticky;top:0;z-index:120;background:#7a1f12;color:#fff;padding:10px 4vw;font-size:.9rem;text-align:center}
.biz-preview-banner strong{letter-spacing:.08em;margin-right:6px}.biz-preview-banner a{color:var(--gold2);text-decoration:underline;font-weight:800;margin-left:6px}
.biz-top{background:var(--green);color:#fff;border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}
.biz-top-in{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px}
.biz-brand{display:flex;align-items:center;gap:10px;min-width:0}
.biz-brand img{width:42px;height:42px;object-fit:contain;flex:0 0 auto}
.biz-brand span{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.biz-brand b{font-size:.95rem;white-space:nowrap}.biz-brand small{color:var(--gold2);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.biz-top-actions{display:flex;align-items:center;gap:8px}
.biz-toplink{color:#c8d4ce;font-size:.85rem;font-weight:700;display:none}
.biz-signout{padding:8px 13px;font-size:.85rem}
.biz-switch select{max-width:40vw;padding:7px 9px;border-radius:10px;border:1px solid var(--line);background:#0e3829;color:#fff;font:inherit;font-size:.85rem}
.biz-tabs{position:fixed;left:0;right:0;bottom:0;z-index:110;background:#061c15;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.biz-tabs-in{display:grid;grid-template-columns:repeat(5,1fr);width:100%}
.biz-tabs a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 2px 8px;color:#a9bab1;font-size:.7rem;font-weight:800}
.biz-tabs svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.biz-tabs a.active{color:var(--gold2)}
.biz-main{padding:20px 0 40px;min-width:0;outline:none}
.biz-loading{padding:40px 0;color:#4b5d54}
.biz-h1{font-size:clamp(1.8rem,5vw,2.6rem);margin:6px 0 10px}
.biz-h2{font-size:1.15rem;margin:26px 0 10px;letter-spacing:-.01em}.biz-h2 span{color:#66766e;font-weight:600}
.biz-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}
.biz-back{font-weight:800;color:#14523a}
.biz-hero{background:linear-gradient(145deg,#103a2b,#08271e);color:#edf2ee;border-radius:22px;padding:22px;margin-bottom:16px;border:1px solid var(--line)}
.biz-hero h1{font-size:clamp(1.9rem,6vw,3rem);margin:6px 0 10px;color:#f4efdf}
.biz-hero .biz-small{color:#b9cbc2}
.biz-grid{display:grid;gap:16px;grid-template-columns:1fr}
.biz-card{background:#fff;border:1px solid rgba(23,55,43,.1);border-radius:20px;padding:18px;box-shadow:0 10px 30px rgba(20,45,35,.06);min-width:0;margin-bottom:16px}
.biz-grid .biz-card{margin-bottom:0}
.biz-card h2{font-size:1.2rem;margin:0 0 12px;letter-spacing:-.01em}
.biz-card h3{font-size:1rem;margin:16px 0 8px}
.biz-empty{text-align:left}
.biz-fields{display:grid;gap:14px;grid-template-columns:1fr}
.biz-fields .wide{grid-column:1/-1}
.biz-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.biz-stats a{background:var(--cream);border-radius:14px;padding:10px 6px;text-align:center}
.biz-stats b{display:block;font-size:1.6rem;line-height:1}.biz-stats span{font-size:.72rem;font-weight:800;color:#3d5047}
.biz-checklist{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:4px}.biz-checklist li{color:#66766e}.biz-checklist li.ok{color:#1d5a3a;font-weight:700}
.biz-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;background:#e8e8e4;color:#45504a;vertical-align:middle}
.biz-pill.live{background:#dcefe3;color:#1d5a3a}.biz-pill.scheduled{background:#e3e8f6;color:#2c3e78}.biz-pill.draft{background:#f3e8c6;color:#5e4a10}
.biz-pill.removed{background:#fbe9e7;color:#8a2a1e}
.biz-hero .biz-pill.draft{background:#f3e8c6}
.biz-btn{display:inline-flex;align-items:center;padding:8px 13px;border-radius:999px;border:1px solid rgba(23,55,43,.25);background:var(--cream);color:var(--green);font-weight:800;font-size:.84rem;cursor:pointer}
.biz-btn.primary{background:var(--green);color:#fff;border-color:var(--green)}
.biz-btn.danger{background:#fbe9e7;color:#8a2a1e;border-color:#e7b9b2}
.biz-offer{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;background:#fff;border:1px solid rgba(23,55,43,.1);border-radius:18px;padding:12px;margin-bottom:10px}
.biz-offer-img{width:72px;height:72px;border-radius:12px;background:var(--cream);overflow:hidden}.biz-offer-img img{width:100%;height:100%;object-fit:cover}
.biz-offer h3{margin:6px 0 4px;font-size:1.05rem;letter-spacing:-.01em}
.biz-offer .biz-small{margin:0 0 8px}
.biz-deal{font-weight:800;color:#8a6a14;font-size:.85rem;margin-left:4px}
.biz-image-field{grid-column:1/-1}
.biz-label{font-weight:800;font-size:.9rem;display:block;margin-bottom:6px}
.biz-image-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:start}
.biz-thumb{width:96px;height:96px;border-radius:14px;background:var(--cream);border:1px dashed #c3cec5;display:grid;place-items:center;overflow:hidden;font-size:.75rem;color:#66766e}
.biz-thumb img{width:100%;height:100%;object-fit:cover}
.biz-file{position:relative;cursor:pointer;padding:10px 15px;font-size:.88rem}
.biz-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.biz-savebar{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));z-index:50;background:rgba(242,236,223,.96);backdrop-filter:blur(8px);border-top:1px solid rgba(23,55,43,.12);padding:10px 0;margin-top:8px}
.biz-savebar .biz-msg{margin:0 0 8px}
.biz-preview-box{background:var(--ivory);border:2px dashed rgba(23,55,43,.25);border-radius:22px;padding:14px;margin-top:18px}
.biz-preview-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}
.biz-listing-preview,.biz-offer-preview{margin:0}
.biz-published .kicker{color:#8a6a14}
.biz-linkbox{display:flex;flex-direction:column;gap:6px;font-weight:800;margin:14px 0}
.biz-linkbox input{padding:12px;border-radius:12px;border:1px solid #c3cec5;font:inherit;font-size:16px;background:#fff;width:100%}
.is-preview .biz-tabs a{color:#d3c7a6}
@media(min-width:720px){
  .biz-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .biz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .biz-offer{grid-template-columns:110px minmax(0,1fr)}.biz-offer-img{width:110px;height:110px}
  .biz-hero{padding:30px}
}
@media(min-width:981px){
  .biz-app{padding-bottom:0}
  .biz-toplink{display:inline}
  .biz-tabs{position:static;background:var(--green);border-top:0;padding-bottom:0}
  .biz-tabs-in{display:flex;gap:4px 22px;width:min(1180px,92vw)}
  .biz-tabs a{flex-direction:row;gap:8px;font-size:.92rem;padding:8px 2px 12px;border-bottom:2px solid transparent}
  .biz-tabs a.active{border-color:var(--gold)}
  .biz-tabs svg{width:18px;height:18px}
  .biz-savebar{bottom:0}
  .biz-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .biz-brand small{max-width:none}
}

/* Installed app (standalone): the public site header is not needed on the sign-in screen. */
@media (display-mode: standalone){.biz-login-page .nav-links,.biz-login-page .menu-btn,.biz-login-page .mobile-menu,.biz-login-page .footer{display:none}}
