/* Ad network pages (publishers and advertisers): landing, join, dashboards, forms, verification. */
.panel+.panel{margin-top:22px}
.pub-flash{margin:0 0 18px;padding:12px 14px;border-left:4px solid #285646;background:#eef4ef;font-size:14px}
.pub-flash.error{border-color:#c0462f;background:#fbeae6;color:#5d1d11}
.pub-flash.info,.pub-flash.warning{border-color:#c2a365;background:#fbf6ea}
.pill-status{display:inline-block;font:600 10px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;padding:4px 8px;border:1px solid #c2a365;color:#6d5a2f;background:#fbf6ea;white-space:nowrap}
.pill-status.is-approved{border-color:#285646;color:#285646;background:#eef4ef}
.pill-status.is-rejected,.pill-status.is-suspended{border-color:#c0462f;color:#8a2a1a;background:#fbeae6}
.pill-status.is-unverified{border-color:#9aa39d;color:#3f4a44;background:#f3f4f1}
.muted{color:#59645f}

/* Landing */
.pub-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;counter-reset:step}
.pub-steps li{border:1px solid #d8d9d0;background:#fff;padding:16px;counter-increment:step}
.pub-steps li::before{content:"0" counter(step);display:block;font:700 12px 'IBM Plex Mono',monospace;color:#a0823f;margin-bottom:8px}
.pub-steps strong{display:block;margin-bottom:6px;color:#102e29}
.pub-steps span{font-size:13px;line-height:1.5;color:#3f4a44}
.pub-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pub-figure{border-left:4px solid #285646;background:#eef4ef;padding:14px 16px}
.pub-figure b{display:block;font:700 26px 'IBM Plex Mono',monospace;color:#102e29}
.pub-figure span{font-size:13px;color:#3f4a44}
.pub-faq details{border-bottom:1px solid #e6e6df;padding:14px 0}
.pub-faq summary{cursor:pointer;font-weight:600;color:#102e29}
.pub-faq p{margin:10px 0 0;line-height:1.6;color:#3f4a44}
.pub-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

/* Forms (field markup comes from partials/listing_field.html) */
.listing-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.listing-form .full{grid-column:1/-1}
.listing-form label,.listing-form legend{display:grid;gap:7px;align-content:start;font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:#27362e}
.listing-form input:not([type=checkbox]),.listing-form select,.listing-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cfd4cd;background:#fff;font:14px 'IBM Plex Sans',sans-serif;color:#27362e;text-transform:none;letter-spacing:0}
.listing-form textarea{resize:vertical}
.listing-form input:focus-visible,.listing-form select:focus-visible,.listing-form textarea:focus-visible{outline:2px solid #c2a365;outline-offset:1px}
.listing-form .help{font:400 12px/1.45 'IBM Plex Sans',sans-serif;color:#59645f;text-transform:none;letter-spacing:0}
.listing-form .err{font:600 12px 'IBM Plex Sans',sans-serif;color:#a33a24;text-transform:none;letter-spacing:0}
.listing-form .has-error input,.listing-form .has-error select,.listing-form .has-error textarea{border-color:#c0462f}
.listing-form fieldset{border:0;margin:0;padding:0;min-width:0}
.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 14px;margin-top:9px}
.check-grid label{display:flex;gap:8px;align-items:center;font:400 14px 'IBM Plex Sans',sans-serif;text-transform:none;letter-spacing:0;color:#27362e}
.check-grid input{width:16px;height:16px;accent-color:#285646;margin:0}
.listing-form .check-row{display:flex;gap:10px;align-items:flex-start;font:400 14px/1.5 'IBM Plex Sans',sans-serif;text-transform:none;letter-spacing:0}
.listing-form .check-row input{width:18px;height:18px;margin-top:2px;accent-color:#285646;flex:none}
.listing-section{grid-column:1/-1;margin:14px 0 0;padding-top:16px;border-top:1px solid #e6e6df;font:700 13px 'IBM Plex Mono',monospace;text-transform:uppercase;color:#102e29}
.listing-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px}
.listing-note{border-left:3px solid #c2a365;background:#fbf6ea;padding:12px 14px;font-size:13px;color:#3b3523;margin:0 0 20px}

/* Dashboard */
.site-rows{display:grid;border-top:1px solid #e6e6df}
.site-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #e6e6df}
.site-row strong{display:block;color:#102e29}
.site-row small{color:#59645f;font-size:12px}

/* Verification */
.verify-methods{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.verify-method{border:1px solid #d8d9d0;background:#fff;padding:16px;min-width:0;overflow-wrap:anywhere}
.verify-method h3{margin:0 0 8px;font-size:15px;color:#102e29}
.verify-method ol{margin:0;padding-left:18px;line-height:1.6;font-size:14px;color:#3f4a44}
.code-box{display:flex;gap:8px;align-items:stretch;margin:10px 0}
.code-box code{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;padding:10px 12px;background:#102e29;color:#f3efe2;font:500 12px 'IBM Plex Mono',monospace}
.code-box button{flex:none}
.facts-list{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0;font-size:14px}
.facts-list dt{font:600 10px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:#59645f;padding-top:3px}
.facts-list dd{margin:0;color:#27362e;min-width:0;overflow-wrap:anywhere}

@media(max-width:820px){.pub-steps{grid-template-columns:1fr 1fr}.verify-methods{grid-template-columns:1fr}}
@media(max-width:640px){.listing-form{grid-template-columns:1fr}.pub-steps,.pub-figures{grid-template-columns:1fr}
  .site-row{grid-template-columns:minmax(0,1fr)}.site-row .pill-status,.site-row .btn-outline{justify-self:start}}

/* Advertisers: wallet, ledger, campaign status pills */
.topup-form{display:grid;gap:8px;margin:18px 0;max-width:520px}
.topup-form label{font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:#27362e}
.topup-row{display:flex;gap:10px}
.topup-row input{flex:1;min-width:0;padding:12px;border:1px solid #cfd4cd;background:#fff;font:14px 'IBM Plex Sans',sans-serif}
.table-wrap{overflow-x:auto}
.ledger{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}
.ledger th{font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;text-align:left;color:#59645f;padding:10px 8px;border-bottom:1px solid #d8d9d0}
.ledger td{padding:10px 8px;border-bottom:1px solid #e6e6df;vertical-align:top}
.ledger .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ledger .pos{color:#285646}.ledger .neg{color:#8a2a1a}
.pill-status.is-active{border-color:#285646;color:#285646;background:#eef4ef}
.pill-status.is-draft,.pill-status.is-paused{border-color:#9aa39d;color:#3f4a44;background:#f3f4f1}
.ad-preview{max-width:728px;margin:6px 0 4px}
.check-scroll{max-height:220px;overflow:auto;border:1px solid #e6e6df;padding:10px;background:#fff}

/* Ad enquiry page and publisher ad code */
.enquiry-details{margin:0 0 18px;padding:14px 16px;border-left:3px solid #c2a365;background:#fbf6ea;line-height:1.6;color:#3b3523}
.enquiry-mobile{margin-top:18px;padding-top:16px;border-top:1px solid #e6e6df}
.enquiry-mobile-title{margin:0 0 10px;font-weight:600;color:#102e29}
.verified-line{margin:0;color:#285646}
.enquiry-note{margin:18px 0 0;font-size:13px}
.ad-code{white-space:pre;overflow-x:auto;padding:12px 14px;background:#102e29;color:#f3efe2;font:500 12px/1.6 'IBM Plex Mono',monospace;margin:10px 0}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}
.stat-grid div{border:1px solid #d8d9d0;background:#fff;padding:12px 14px}
.stat-grid b{display:block;font:700 22px 'IBM Plex Mono',monospace;color:#102e29}
.stat-grid span{font-size:12px;color:#59645f}
@media(max-width:640px){.stat-grid{grid-template-columns:1fr 1fr}}
.pill-status.is-charged{border-color:#285646;color:#285646;background:#eef4ef}
.pill-status.is-duplicate,.pill-status.is-refunded{border-color:#9aa39d;color:#3f4a44;background:#f3f4f1}
.pill-status.is-review,.pill-status.is-disputed{border-color:#c2a365;color:#6d5a2f;background:#fbf6ea}
.site-row small+small{display:block;margin-top:2px}
