@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#15302c;background:#fbfcfa;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100vw - 1160px)/2),6vw);border-bottom:1px solid #e7eeea;background:#fff}.brand{text-decoration:none;color:#173d35;font:800 20px Manrope,sans-serif;display:flex;align-items:center;gap:10px}.brand-mark{display:inline-grid;place-items:center;background:#20ad77;color:#fff;border-radius:9px;width:33px;height:33px;font:800 19px Manrope}.topbar nav{display:flex;gap:34px}.topbar nav a,.footer-links a{color:#536a64;text-decoration:none;font-size:14px}.topbar nav a:hover,.footer-links a:hover{color:#159866}.button{display:inline-flex;align-items:center;justify-content:center;background:#149c68;color:#fff;padding:14px 22px;border-radius:8px;text-decoration:none;font-weight:700;font-size:14px;box-shadow:0 8px 18px #149c6826}.button:hover{background:#0d8658}.button-small{padding:11px 17px;font-size:13px}.button-outline{background:transparent;color:#16895f;border:1px solid #b9d9ca;box-shadow:none}.button-outline:hover{background:#eff9f4}.hero{max-width:1160px;margin:0 auto;padding:96px 0 110px;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.eyebrow{font-weight:700;color:#179665;text-transform:uppercase;letter-spacing:1.6px;font-size:11px}.hero h1,.benefits h2,.screenshots h2,.final-cta h2{font:800 clamp(38px,5vw,58px)/1.12 Manrope,sans-serif;letter-spacing:-2px;margin:16px 0}.hero h1 span{color:#159866}.lead{font-size:17px;line-height:1.75;color:#62746e;max-width:520px}.actions{display:flex;gap:13px;margin-top:30px;flex-wrap:wrap}.note{font-size:12px;color:#8a9994;margin-top:18px}.hero-art{height:370px;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse at center,#e7f5ed 0,transparent 68%)}.art-card{z-index:2;width:310px;background:#fff;padding:27px;border-radius:18px;box-shadow:0 22px 65px #184b3520;border:1px solid #e6efea}.art-label{font-size:9px;letter-spacing:1.4px;color:#82958c;font-weight:700}.art-value{font:800 34px Manrope;color:#193e33;margin-top:14px}.art-caption{font-size:11px;color:#819189}.art-bars{height:86px;display:flex;align-items:end;gap:13px;margin-top:12px}.art-bars i{width:24px;border-radius:4px 4px 0 0;background:#b5e5ca}.art-bars i:nth-child(1){height:35%}.art-bars i:nth-child(2){height:48%}.art-bars i:nth-child(3){height:43%}.art-bars i:nth-child(4){height:65%;background:#43bd83}.art-bars i:nth-child(5){height:55%}.art-bars i:nth-child(6){height:75%;background:#43bd83}.art-bars i:nth-child(7){height:91%;background:#149c68}.art-divider{height:1px;background:#edf1ee;margin:17px 0}.art-row{display:flex;justify-content:space-between;font-size:10px;color:#829189;margin-top:9px}.art-row strong{color:#3e6456}.art-orbit{position:absolute;border:1px solid #d1e9da;border-radius:50%}.orbit-one{width:390px;height:280px;transform:rotate(-28deg)}.orbit-two{width:440px;height:330px;transform:rotate(35deg)}.benefits,.screenshots{padding:82px max(calc((100vw - 1160px)/2),6vw);background:#f2f7f4;text-align:center}.benefits h2,.screenshots h2{font-size:35px;letter-spacing:-1px;margin:13px 0 42px}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left}.benefit-grid article{padding:27px;background:white;border-radius:12px;border:1px solid #e6eee8}.icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#e8f7ef;color:#159866;font-size:22px}.benefit-grid h3{font:700 17px Manrope;margin:20px 0 9px}.benefit-grid p,.screenshots p{color:#71817b;font-size:14px;line-height:1.7}.screenshots{background:#fff}.screenshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.screenshot-placeholder{height:220px;border:1px dashed #bfd6c8;border-radius:14px;background:linear-gradient(140deg,#eff8f2,#f8fbf9);display:grid;place-items:center;color:#8ca49a;font-size:13px}.final-cta{text-align:center;padding:76px 20px;background:#153e34;color:white}.final-cta h2{font-size:36px;letter-spacing:-1px}.final-cta p{color:#d0e1d8;margin:0 0 25px}.button-light{background:#fff;color:#11784f;box-shadow:none}footer{max-width:1160px;margin:auto;min-height:105px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0}.footer-links{display:flex;gap:23px}.admin-entry{font-size:10px;color:#9aaba4;text-decoration:none}@media(max-width:760px){.topbar{height:70px;padding:0 20px}.topbar nav{display:none}.hero{padding:62px 22px 65px;grid-template-columns:1fr;gap:10px}.hero-art{height:320px;overflow:hidden}.benefits,.screenshots{padding:62px 22px}.benefit-grid,.screenshot-grid{grid-template-columns:1fr}.screenshot-placeholder{height:190px}footer{padding:26px 22px;flex-wrap:wrap}.footer-links{order:3;width:100%;justify-content:space-between}.final-cta{padding:60px 20px}}

/* Site/Admin campaign console */
.admin-page{background:#f4f8f5;color:#18362f;min-height:100vh}
.admin-page [hidden]{display:none!important}
.admin-shell{width:min(1120px,100% - 36px);margin:0 auto;padding:26px 0 36px}
.admin-header{display:flex;align-items:center;justify-content:space-between;padding:4px 0 22px;border-bottom:1px solid #dce9e1}
.admin-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#183d34;font:800 17px Manrope,sans-serif}
.admin-brand small{display:block;color:#72877c;font:600 11px 'DM Sans',sans-serif;letter-spacing:.04em}
.admin-brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#149c68;color:#fff}
.admin-access-label{border:1px solid #cfe3d7;border-radius:999px;padding:7px 11px;color:#587269;font-size:12px}
.admin-intro{padding:30px 0 18px}
.admin-intro h1{margin:5px 0 8px;font:800 clamp(30px,5vw,42px)/1.1 Manrope,sans-serif;letter-spacing:-1.5px}
.admin-intro>p:not(.eyebrow){margin:0;color:#62766d;line-height:1.6}
.admin-notice,.admin-delivery-status,.admin-preview{border:1px solid #d4e7d9;border-radius:10px;background:#eef8f1;padding:12px 15px;color:#426152;font-size:13px;line-height:1.55}
.admin-notice{margin-top:16px}
.admin-card,.admin-section{background:#fff;border:1px solid #e0eae3;border-radius:14px;box-shadow:0 8px 24px #1b54300a}
.admin-login{max-width:520px;padding:24px;margin:12px 0 28px}
.admin-login h2,.admin-panel h2,.admin-section h3,.admin-section h4{font-family:Manrope,sans-serif;color:#1c4337}
.admin-login h2{margin:0 0 7px;font-size:21px}
.admin-login>p{margin:0 0 15px;color:#728179;font-size:14px}
.admin-login-form,.admin-form{display:grid;gap:9px}
.admin-login-form label,.admin-form>label,.admin-schedule-form label{font-size:13px;font-weight:700;color:#34564a}
.admin-page input:not([type=checkbox]),.admin-page textarea,.admin-page select{width:100%;min-height:43px;border:1px solid #cbdad0;border-radius:8px;background:#fff;color:#18362f;padding:10px 12px;font:inherit}
.admin-page textarea{resize:vertical;line-height:1.5}
.admin-page input:focus-visible,.admin-page textarea:focus-visible,.admin-page select:focus-visible,.admin-page button:focus-visible,.admin-page a:focus-visible{outline:3px solid #7acba0;outline-offset:2px}
.admin-login-form .button{margin-top:8px}
#google-login{margin-top:12px}
.admin-logout{margin-left:8px}
.admin-message{min-height:1.5em;margin:12px 0 0;color:#8d3a34;font-size:14px}
.admin-panel{display:grid;gap:18px}
.admin-panel-heading,.admin-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.admin-panel-heading{padding:8px 2px 0;align-items:center}
.admin-panel-heading h2{margin:4px 0 0;font-size:clamp(23px,3vw,30px)}
.admin-delivery-status{max-width:440px;margin:0}
.admin-section{padding:22px}
.admin-section h3{margin:0 0 8px;font-size:19px}
.admin-section h4{margin:25px 0 10px;font-size:15px}
.admin-section-heading p,.admin-section>p{margin:5px 0 0;color:#728179;font-size:13px;line-height:1.55}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin-top:15px}
.admin-stat-card{display:grid;gap:6px;min-height:94px;padding:14px;border:1px solid #e2ece5;border-radius:10px;background:#f9fcfa}
.admin-stat-label,.admin-stat-detail{color:#708078;font-size:12px}
.admin-stat-value{color:#1b493b;font:800 22px Manrope,sans-serif}
.admin-muted{color:#7b8b83;font-size:12px;line-height:1.55}
.admin-form{max-width:700px;margin-top:16px}
.admin-form fieldset{display:flex;flex-wrap:wrap;gap:8px 18px;margin:6px 0;padding:12px;border:1px solid #dce8df;border-radius:9px}
.admin-form legend{padding:0 5px;color:#34564a;font-size:13px;font-weight:700}
.admin-check{display:inline-flex;align-items:center;gap:8px;color:#4f665c;font-size:13px}
.admin-check input{width:17px;height:17px;accent-color:#149c68}
.admin-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px}
.admin-form-actions .button{min-height:44px}
.admin-preview{margin-top:15px}
.admin-campaign-list{display:grid;gap:12px;margin-top:17px}
.admin-campaign-card{padding:17px;border:1px solid #e0eae3;border-radius:11px;background:#fbfdfb}
.admin-campaign-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.admin-campaign-heading h4{margin:0;font-size:16px;overflow-wrap:anywhere}
.admin-status-pill{flex:none;border-radius:999px;background:#edf5ef;padding:5px 9px;color:#426152;font-size:11px;font-weight:700}
.admin-campaign-message{margin:10px 0;color:#53685e;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.admin-campaign-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;margin:14px 0}
.admin-campaign-details div{min-width:0}
.admin-campaign-details dt{color:#839188;font-size:11px}
.admin-campaign-details dd{margin:3px 0 0;color:#405d50;font-size:12px;overflow-wrap:anywhere}
.admin-campaign-actions{display:flex;flex-wrap:wrap;gap:8px}
.admin-campaign-actions .button{padding:9px 12px;font-size:12px}
.admin-schedule-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #e6eee8}
.admin-schedule-form label{display:grid;gap:5px;max-width:320px}
.admin-schedule-form .button{min-height:43px;padding:10px 15px}
.admin-card-message{margin:12px 0 0;border-radius:8px;background:#edf8f1;padding:10px;color:#426152;font-size:13px;line-height:1.5}
.admin-recent-errors-section{margin-top:12px;border-top:1px solid #e2eae5;padding-top:10px}
.admin-recent-errors-section h5{margin:0 0 6px;color:#405d50;font-size:12px}
.admin-recent-errors{margin:0;padding-left:18px;color:#7b5946;font-size:12px;line-height:1.6}
.admin-empty{color:#75857c;font-size:13px}
.admin-history{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.admin-history-item{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #edf2ee;padding:9px 0;color:#4c6258;font-size:12px}
.admin-history-item:last-child{border-bottom:0}
.admin-history-item span{color:#7a8981;text-align:right}
.admin-footer{padding:22px 2px 0}
.admin-footer a{color:#4b7562;font-size:13px}
@media(max-width:640px){
  .admin-shell{width:calc(100% - 24px);padding-top:14px}
  .admin-header{padding-bottom:15px}
  .admin-intro{padding-top:22px}
  .admin-login,.admin-section{padding:17px}
  .admin-panel-heading,.admin-section-heading{align-items:stretch;flex-direction:column}
  .admin-delivery-status{max-width:none}
  .admin-history-item{align-items:flex-start;flex-direction:column;gap:4px}
  .admin-history-item span{text-align:left}
  .admin-campaign-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-campaign-actions .button{width:100%;min-height:42px}
  .admin-schedule-form{align-items:stretch;flex-direction:column}
  .admin-schedule-form label{max-width:none}
  .admin-schedule-form .button{width:100%}
}
.admin-banner-preview-image {
  display: block;
  max-width: min(100%, 720px);
  max-height: 280px;
  margin: 0.75rem 0;
  object-fit: contain;
  border-radius: 0.75rem;
  background: #0f172a;
}
