:root{
    --brand:#0bb8a4;
    --brand-dark:#078c7d;
    --ink:#202428;
    --muted:#687078;
    --line:#dbe5e3;
    --bg:#f5f8f7;
    --danger:#a92e2e;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand-dark)}
.page,.landing{min-height:100vh;padding:28px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 12px 35px rgba(0,0,0,.06)}
.narrow{max-width:620px;margin:40px auto}
.center{text-align:center}
.brand{font-family:Georgia,'Times New Roman',serif;font-size:58px;color:var(--brand);line-height:1;margin-bottom:22px}
.brand.small{font-size:34px;margin:0}
h1{font-size:30px;margin:0 0 20px}
h2{margin-top:28px}
label{display:block;font-weight:700;margin:18px 0 8px}
input[type=text],input[type=password],input[type=url],input:not([type]){
    width:100%;padding:13px 14px;border:1px solid #bbc9c6;border-radius:10px;font-size:16px;margin-top:7px
}
input[type=file]{display:block;margin-top:9px}
.button{display:inline-block;border:0;border-radius:10px;background:var(--brand);color:#fff;padding:13px 20px;font-weight:800;font-size:15px;cursor:pointer;text-decoration:none}
.button:hover{background:var(--brand-dark)}
.button.large{font-size:19px;padding:17px 28px;width:100%;max-width:360px}
.notice{padding:13px 16px;border-radius:10px;margin:16px 0}
.notice.success{background:#e6fbf7;color:#096b5e}
.notice.error{background:#fdeaea;color:var(--danger)}
.muted,.legal{color:var(--muted)}
code,pre{background:#f0f4f3;border-radius:8px;padding:3px 6px}
pre{padding:14px;overflow:auto}

.landing{background:linear-gradient(180deg,#effcf9,#fff)}
.landing-wrap{max-width:850px;margin:15px auto;text-align:center}
.hero{background:#fff;border-radius:24px;padding:42px 28px;border:1px solid var(--line);box-shadow:0 15px 40px rgba(0,0,0,.07)}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:46px}
.hero h1 span{font-size:72px;color:var(--brand)}
.hero p{font-size:20px}
.legal{font-size:13px!important;max-width:600px;margin:22px auto 0}

.coupon{
    background:#fff;border:4px solid var(--brand);border-radius:22px;padding:34px 30px 0;
    overflow:hidden;box-shadow:0 15px 40px rgba(0,0,0,.08);position:relative
}
.coupon-title{font-family:Georgia,'Times New Roman',serif;font-size:38px}
.coupon-title strong{font-size:72px;color:var(--brand)}
.coupon-sub{font-size:21px;padding:15px 0;border-top:2px dotted var(--brand);border-bottom:2px dotted var(--brand)}
.coupon-label{font-family:Georgia,'Times New Roman',serif;font-size:26px;margin:23px 0 10px}
.coupon-code{display:inline-block;min-width:70%;font-family:Georgia,'Times New Roman',serif;font-size:76px;font-weight:700;color:#fff;background:var(--brand);padding:12px 28px;border-radius:14px;letter-spacing:4px}
.coupon-meta{font-size:20px;padding:22px}
.coupon-footer{background:var(--brand);color:#fff;font-size:22px;margin:0 -30px;padding:15px}

.admin-header{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:15px 26px;border-bottom:1px solid var(--line);gap:20px}
.admin-header nav{display:flex;gap:18px;flex-wrap:wrap}
.admin-header a{text-decoration:none;font-weight:700}
.admin-main{padding:28px;max-width:1500px;margin:auto}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}
.stats div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;text-align:center}
.stats strong{display:block;font-size:38px;color:var(--brand)}
.stats span{color:var(--muted)}
.search{display:flex;gap:10px;margin-bottom:20px}
.search input{max-width:480px;margin:0}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:11px 12px;border-bottom:1px solid #edf1f0;white-space:nowrap;text-align:left}
th{background:#f2f8f6}
.badge{background:#e5f8f4;color:#087466;border-radius:999px;padding:5px 9px;font-weight:700}

@media(max-width:800px){
    .page,.landing{padding:14px}
    .brand{font-size:42px}
    .hero h1{font-size:34px}
    .hero h1 span{font-size:58px}
    .coupon-title{font-size:27px}
    .coupon-title strong{font-size:55px}
    .coupon-code{font-size:58px;min-width:100%}
    .stats{grid-template-columns:repeat(2,1fr)}
    .admin-header{align-items:flex-start;flex-direction:column}
}
