:root{
  --ink:#201a16;
  --muted:#81756c;
  --paper:#fbf7f1;
  --line:#eadfd3;
  --accent:#0f766e;
  --accent-2:#d97706;
  --dark:#12302d;
  --soft:#fffaf3;
  --danger:#b42318;
}
*{box-sizing:border-box}
body{font-family:Tahoma,Arial,sans-serif;color:var(--ink);background:var(--paper);letter-spacing:0}
a{text-decoration:none}
.auth-body{min-height:100svh;background:radial-gradient(circle at 20% 5%,#f7dca9 0,#f7dca900 32%),linear-gradient(145deg,#0f3d39,#16302e 55%,#f5eadb 55%);display:grid;place-items:center;padding:20px}
.auth-shell{width:min(440px,100%)}
.auth-card{background:rgba(255,250,243,.96);border:1px solid rgba(255,255,255,.7);box-shadow:0 28px 80px rgba(15,35,32,.22);border-radius:28px;padding:28px;animation:rise .45s ease both}
.auth-card h1{font-weight:800;margin:8px 0;font-size:2rem}
.auth-card p,.muted{color:var(--muted)}
.auth-mark{width:54px;height:54px;border-radius:18px;background:var(--dark);color:#fff;display:grid;place-items:center;font-size:1.5rem}
.auth-link{display:block;text-align:center;margin-top:18px;color:var(--accent);font-weight:700}
.install-checks{display:grid;gap:8px;margin:14px 0}
.install-checks div{display:flex;align-items:center;gap:8px;border-radius:12px;padding:8px 10px;font-weight:800;background:#f8efe4}
.install-checks span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff}
.install-checks .ok span{background:#0f766e}.install-checks .bad{background:#fde7e3}.install-checks .bad span{background:#b42318}
.form-control,.form-select{border-radius:14px;border-color:var(--line);padding:.75rem 1rem}
.btn{border-radius:14px;font-weight:700}
.btn-primary{background:var(--accent);border-color:var(--accent)}
.btn-primary:hover{background:#0b5f59;border-color:#0b5f59}
.mobile-body{padding-bottom:92px;background:linear-gradient(180deg,#f7efe5,#fffaf3)}
.mobile-shell{width:min(560px,100%);margin:0 auto;padding:22px 16px 0}
.soft-alert{border:0;border-radius:18px;box-shadow:0 10px 30px rgba(32,26,22,.08)}
.screen-head{margin:8px 0 18px}
.screen-head span,.admin-head span{color:var(--accent);font-weight:800}
.screen-head h1,.admin-head h1{font-size:1.9rem;font-weight:900;margin:.1rem 0 0}
.wallet-card{min-height:190px;border-radius:30px;padding:24px;color:#fff;background:linear-gradient(135deg,#103b38,#0f766e 58%,#d97706);box-shadow:0 24px 50px rgba(15,118,110,.28);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;animation:rise .45s ease both}
.wallet-card:after{content:"";position:absolute;inset:auto -40px -60px auto;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.16)}
.wallet-card .muted{color:#dcefed}
.wallet-card strong{display:block;font-size:2.4rem;font-weight:900;margin-top:8px}
.wallet-chip{align-self:flex-start;background:rgba(255,255,255,.18);padding:8px 14px;border-radius:999px}
.section-title{display:flex;justify-content:space-between;align-items:center;margin:24px 0 12px}
.section-title h2,.code-panel h2,.profile-panel h2{font-size:1.15rem;font-weight:900;margin:0}
.section-title a{color:var(--accent);font-weight:800}
.line-item,.history-card,.reward-card,.code-panel,.profile-panel{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 14px 40px rgba(32,26,22,.06)}
.line-item{display:flex;justify-content:space-between;gap:12px;padding:15px;margin-bottom:10px}
.line-item span,.history-card span,.history-card small{display:block;color:var(--muted);font-size:.82rem;margin-top:4px}
.plus{color:#0f766e}.minus{color:#b42318}
.reward-grid{display:grid;gap:14px}
.reward-card{padding:18px;animation:rise .45s ease both}
.reward-card h2{font-size:1.1rem;font-weight:900;margin:12px 0 4px}
.reward-card p{color:var(--muted);min-height:42px}
.reward-icon{width:58px;height:58px;border-radius:20px;background:#eff8f6;color:var(--accent);display:grid;place-items:center;font-size:1.6rem;overflow:hidden}
.reward-icon img{width:100%;height:100%;object-fit:cover}
.reward-meta{display:flex;justify-content:space-between;align-items:center;margin:12px 0;color:var(--muted)}
.reward-meta strong{color:var(--ink)}
.code-panel,.profile-panel{padding:24px;text-align:center}
.code-panel>i{font-size:3rem;color:var(--accent)}
.code-input{text-transform:uppercase;font-weight:900;letter-spacing:2px}
.history-card{padding:16px;margin-bottom:12px}
.avatar{width:78px;height:78px;border-radius:28px;background:var(--dark);color:white;display:grid;place-items:center;font-size:2rem;font-weight:900;margin:0 auto 12px}
.profile-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0}
.bottom-nav{position:fixed;z-index:10;bottom:12px;left:50%;transform:translateX(-50%);width:min(540px,calc(100% - 24px));height:72px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 50px rgba(32,26,22,.14);display:grid;grid-template-columns:repeat(5,1fr);padding:8px}
.bottom-nav a{color:var(--muted);display:grid;place-items:center;font-size:.72rem;font-weight:800}
.bottom-nav i{font-size:1.25rem}
.bottom-nav a.active{background:#e8f4f2;color:var(--accent);border-radius:18px}
.empty{text-align:center;color:var(--muted);padding:24px}
.admin-body{background:#f7f3ee;min-height:100svh}
.admin-sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#12302d;color:#fff;padding:22px;overflow:auto}
.admin-sidebar .brand{font-size:1.35rem;font-weight:900;margin-bottom:18px}
.admin-sidebar a{display:block;color:#d9ebe8;padding:11px 12px;border-radius:13px;font-weight:700}
.admin-sidebar a:hover{background:rgba(255,255,255,.1);color:#fff}
.admin-main{margin-left:245px;padding:28px}
[dir=rtl] .admin-sidebar{left:auto;right:0}
[dir=rtl] .admin-main{margin-left:0;margin-right:245px}
.admin-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.quick-code-panel{background:linear-gradient(135deg,#12302d,#0f766e);color:white;border-radius:22px;padding:18px;margin-bottom:18px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;box-shadow:0 16px 36px rgba(15,118,110,.18)}
.quick-code-panel span{color:#f8d79d;font-weight:900}
.quick-code-panel h2{font-size:1.25rem;font-weight:900;margin:2px 0}
.quick-code-panel p{margin:0;color:#dcefed}
.quick-code-panel form{display:flex;gap:8px;align-items:center}
.quick-code-panel input{width:95px;border:0;border-radius:14px;padding:10px 12px;font-weight:900}
.quick-result{grid-column:1/-1;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.quick-result strong{font-size:1.6rem;letter-spacing:2px}
.stat-card,.admin-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 30px rgba(32,26,22,.05)}
.stat-card{padding:18px}
.stat-card span{color:var(--muted);font-weight:700}
.stat-card strong{display:block;font-size:2rem;font-weight:900}
.admin-panel{padding:18px;margin-bottom:18px}
.admin-panel h2{font-size:1.1rem;font-weight:900;margin-bottom:14px}
.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.admin-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:center}
.admin-form-grid .wide{grid-column:span 2}
.clear-form label span{display:block;color:var(--muted);font-size:.84rem;font-weight:800;margin-bottom:5px}
.check-row{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--ink)}
.inline-edit,.wallet-adjust{display:flex;gap:6px;flex-wrap:wrap}
.inline-edit input,.inline-edit select,.wallet-adjust input,.wallet-adjust select{border:1px solid var(--line);border-radius:10px;padding:6px 8px;max-width:140px}
.admin-code-list,.admin-reward-list{display:grid;gap:12px}
.admin-code-row,.admin-reward-row{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fffaf5;display:grid;gap:12px}
.admin-code-row{grid-template-columns:210px 1fr auto;align-items:center}
.admin-code-summary strong{display:block;font-size:1.35rem;letter-spacing:1px}
.admin-code-summary span{display:block;font-weight:900;color:var(--accent)}
.admin-code-summary small{display:block;color:var(--muted);margin:4px 0}
.admin-code-summary em{font-style:normal;display:inline-block;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:900}
.state-on{background:#dff5ef;color:#0f766e}.state-off{background:#fae3df;color:#b42318}
.code-edit-form,.reward-edit-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;align-items:end}
.code-edit-form label span,.reward-edit-form label span{display:block;color:var(--muted);font-size:.78rem;font-weight:900;margin-bottom:4px}
.code-edit-form input,.code-edit-form select,.reward-edit-form input,.reward-edit-form select{width:100%;border:1px solid var(--line);border-radius:11px;padding:8px 10px;background:#fff}
.admin-row-action{align-self:center}
.admin-reward-row{grid-template-columns:92px 1fr auto;align-items:center}
.admin-reward-thumb{width:82px;height:82px;border-radius:18px;background:#eff8f6;color:var(--accent);display:grid;place-items:center;overflow:hidden;font-size:1.8rem}
.admin-reward-thumb img{width:100%;height:100%;object-fit:cover}
.reward-edit-form .wide{grid-column:span 2}
.table{font-size:.92rem}
.table small{color:var(--muted)}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:900px){
  .admin-sidebar{position:static;width:auto;display:flex;gap:6px;overflow:auto;border-radius:0 0 22px 22px}
  .admin-sidebar .brand{white-space:nowrap;margin:0 0 0 8px}
  .admin-sidebar a{white-space:nowrap}
  .admin-main,[dir=rtl] .admin-main{margin:0;padding:16px}
  .stat-grid,.admin-grid-2,.admin-form-grid,.quick-code-panel,.admin-code-row,.admin-reward-row,.code-edit-form,.reward-edit-form{grid-template-columns:1fr}
  .quick-code-panel form{align-items:stretch;flex-direction:column}
  .quick-code-panel input{width:100%}
  .reward-edit-form .wide{grid-column:auto}
  .admin-form-grid .wide{grid-column:auto}
  .admin-head{align-items:flex-start;flex-direction:column}
}
