/*
Theme Name: AdXchange Network
Theme URI: https://example.com/adxchange
Author: Your Company
Author URI: https://example.com
Description: A self-hosted ad-network theme combining publisher (AdSense-style) ad serving with advertiser (Google Ads-style) campaign management. Publishers place ad zones on their sites and earn revenue; advertisers create campaigns, set budgets/CPC, and pay for clicks/impressions. Includes dashboards for both roles, wallet & payout system, targeting, fraud-basic protection, and full reporting.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: adxchange
*/

/* ==========================================================================
   Base / Reset
   ========================================================================== */
:root{
  --adx-primary:#1a73e8;
  --adx-primary-dark:#1558b0;
  --adx-success:#0f9d58;
  --adx-warning:#f4b400;
  --adx-danger:#db4437;
  --adx-bg:#f6f8fb;
  --adx-card:#ffffff;
  --adx-border:#e3e8ef;
  --adx-text:#202124;
  --adx-muted:#5f6368;
  --adx-radius:10px;
  --adx-shadow:0 1px 2px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.08);
}
*{box-sizing:border-box;}
body{background:var(--adx-bg);color:var(--adx-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.5;margin:0;}
a{color:var(--adx-primary);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;height:auto;}
.container{max-width:1200px;margin:0 auto;padding:0 20px;}

/* Header */
.adx-site-header{background:#fff;border-bottom:1px solid var(--adx-border);position:sticky;top:0;z-index:100;}
.adx-site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px;}
.adx-logo{font-weight:700;font-size:20px;color:var(--adx-text);}
.adx-logo span{color:var(--adx-primary);}
.adx-nav ul{list-style:none;display:flex;gap:24px;margin:0;padding:0;}
.adx-nav a{color:var(--adx-text);font-weight:500;font-size:14px;}
.adx-header-actions{display:flex;gap:10px;align-items:center;}

/* Buttons */
.adx-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:6px;border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;transition:.15s ease;}
.adx-btn-primary{background:var(--adx-primary);color:#fff;}
.adx-btn-primary:hover{background:var(--adx-primary-dark);color:#fff;text-decoration:none;}
.adx-btn-outline{background:#fff;border-color:var(--adx-border);color:var(--adx-text);}
.adx-btn-outline:hover{border-color:var(--adx-primary);color:var(--adx-primary);text-decoration:none;}
.adx-btn-danger{background:var(--adx-danger);color:#fff;}
.adx-btn-sm{padding:6px 12px;font-size:12px;}
.adx-btn:disabled{opacity:.5;cursor:not-allowed;}

/* Cards / Layout */
.adx-card{background:var(--adx-card);border:1px solid var(--adx-border);border-radius:var(--adx-radius);box-shadow:var(--adx-shadow);padding:20px;margin-bottom:20px;}
.adx-grid{display:grid;gap:20px;}
.adx-grid-4{grid-template-columns:repeat(4,1fr);}
.adx-grid-3{grid-template-columns:repeat(3,1fr);}
.adx-grid-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:900px){.adx-grid-4,.adx-grid-3,.adx-grid-2{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.adx-grid-4,.adx-grid-3,.adx-grid-2{grid-template-columns:1fr;}}

.adx-stat{padding:18px;}
.adx-stat .label{font-size:13px;color:var(--adx-muted);margin-bottom:6px;}
.adx-stat .value{font-size:28px;font-weight:700;}
.adx-stat .delta{font-size:12px;margin-top:4px;}
.adx-stat .delta.up{color:var(--adx-success);}
.adx-stat .delta.down{color:var(--adx-danger);}

/* Dashboard layout */
.adx-dashboard{display:flex;min-height:calc(100vh - 64px);}
.adx-sidebar{width:240px;background:#fff;border-right:1px solid var(--adx-border);padding:20px 0;flex-shrink:0;}
.adx-sidebar a{display:flex;align-items:center;gap:10px;padding:10px 20px;color:var(--adx-muted);font-size:14px;font-weight:500;}
.adx-sidebar a.active,.adx-sidebar a:hover{background:#e8f0fe;color:var(--adx-primary);text-decoration:none;}
.adx-main{flex:1;padding:28px;max-width:100%;overflow-x:auto;}
.adx-page-title{font-size:22px;font-weight:700;margin:0 0 20px;}

/* Tables */
.adx-table{width:100%;border-collapse:collapse;background:#fff;}
.adx-table th,.adx-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--adx-border);font-size:14px;}
.adx-table th{color:var(--adx-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em;}
.adx-table tr:hover td{background:#fafbfc;}

/* Badges */
.adx-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;}
.adx-badge.active{background:#e6f4ea;color:var(--adx-success);}
.adx-badge.paused{background:#fef7e0;color:#b06000;}
.adx-badge.pending{background:#e8f0fe;color:var(--adx-primary);}
.adx-badge.rejected,.adx-badge.stopped{background:#fce8e6;color:var(--adx-danger);}

/* Forms */
.adx-field{margin-bottom:16px;}
.adx-field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;}
.adx-field input[type=text],.adx-field input[type=number],.adx-field input[type=url],.adx-field input[type=email],
.adx-field select,.adx-field textarea{width:100%;padding:10px 12px;border:1px solid var(--adx-border);border-radius:6px;font-size:14px;background:#fff;}
.adx-field .hint{font-size:12px;color:var(--adx-muted);margin-top:4px;}
.adx-inline{display:flex;gap:16px;}
.adx-inline > *{flex:1;}

.adx-notice{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;}
.adx-notice.success{background:#e6f4ea;color:#1e4620;}
.adx-notice.error{background:#fce8e6;color:#5f1412;}
.adx-notice.info{background:#e8f0fe;color:#12357a;}

/* Ad unit rendering */
.adx-ad-unit{display:block;overflow:hidden;position:relative;background:#f1f3f4;border-radius:4px;}
.adx-ad-unit img{display:block;width:100%;height:100%;object-fit:cover;}
.adx-ad-label{position:absolute;top:2px;right:4px;font-size:9px;color:rgba(0,0,0,.45);background:rgba(255,255,255,.7);padding:0 4px;border-radius:2px;}

/* Landing hero */
.adx-hero{padding:80px 0;text-align:center;}
.adx-hero h1{font-size:42px;margin:0 0 16px;}
.adx-hero p{font-size:18px;color:var(--adx-muted);max-width:640px;margin:0 auto 30px;}
.adx-hero .adx-btn{margin:0 8px;}

.adx-footer{padding:30px 0;color:var(--adx-muted);font-size:13px;text-align:center;border-top:1px solid var(--adx-border);margin-top:40px;}

@media(max-width:782px){
  .adx-dashboard{flex-direction:column;}
  .adx-sidebar{width:100%;display:flex;overflow-x:auto;padding:10px;}
  .adx-sidebar a{white-space:nowrap;}
  .adx-nav{display:none;}
}


/* Email-first login / signup */
.adx-auth-page{padding:50px 20px 70px;}
.adx-auth-wrap{max-width:460px;margin:0 auto;}
.adx-auth-card{background:#fff;border:1px solid var(--adx-border);border-radius:16px;box-shadow:0 8px 30px rgba(32,33,36,.08);padding:32px;}
.adx-auth-brand{text-align:center;font-size:22px;font-weight:800;color:var(--adx-primary);margin-bottom:10px;}
.adx-auth-card h1{text-align:center;font-size:28px;margin:0 0 6px;}
.adx-auth-subtitle{text-align:center;color:var(--adx-muted);font-size:14px;margin:0 0 24px;}
.adx-auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--adx-border);margin:0 0 24px;}
.adx-auth-tabs button{border:0;background:transparent;padding:12px 8px;color:var(--adx-muted);font-size:14px;font-weight:700;cursor:pointer;border-bottom:2px solid transparent;}
.adx-auth-tabs button.active{color:var(--adx-primary);border-bottom-color:var(--adx-primary);}
.adx-auth-card input[type=password],.adx-auth-card input[type=email],.adx-auth-card select{width:100%;padding:12px 13px;border:1px solid var(--adx-border);border-radius:7px;font-size:15px;background:#fff;}
.adx-auth-check{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--adx-muted);margin:2px 0 18px;}
.adx-auth-submit{width:100%;min-height:44px;font-size:15px;}
.adx-auth-forgot{display:block;text-align:center;margin-top:15px;font-size:13px;}
.adx-auth-terms{text-align:center;color:var(--adx-muted);font-size:11px;margin:14px 0 0;}
@media(max-width:600px){.adx-auth-page{padding:25px 12px 50px;}.adx-auth-card{padding:24px 18px;border-radius:12px;}.adx-auth-card h1{font-size:24px;}}
