:root{--green:#163f32;--accent:#c6a66b;--paper:#f6f7f3;--ink:#203b31;--muted:#738078;--line:#e1e6de}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}a{color:inherit;text-decoration:none}.demo{padding:10px 5%;background:#ece6d8;color:#5c533e;font-size:10px;letter-spacing:1.3px;font-weight:700;text-align:center}.demo span{font-weight:400;letter-spacing:.1px;margin-left:15px}header{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4%}.brand{display:flex;gap:12px;align-items:center;font-family:Georgia,serif;font-size:25px;letter-spacing:3px;font-weight:bold}.brandmark{display:grid;place-items:center;background:var(--green);color:var(--accent);width:43px;height:47px;font-style:italic;font-size:32px}.brand small{display:block;font:8px Arial;letter-spacing:2.6px;margin-top:6px}.mode{background:#f1f3ee;padding:5px;border-radius:9px;display:flex}.mode button{border:0;background:transparent;padding:10px 20px;border-radius:6px;color:var(--muted)}.mode .selected{background:#fff;color:var(--green);box-shadow:0 2px 5px #0001;font-weight:bold}.avatar{border:1px solid #d8e1d6;border-radius:50%;background:#eaf0e6;color:var(--green);height:41px;width:41px;font-weight:bold}.layout{display:grid;grid-template-columns:235px 1fr;min-height:calc(100vh - 120px)}aside{background:#fff;border-right:1px solid var(--line);padding:36px 22px;display:flex;flex-direction:column}.side-label{font-size:9px;letter-spacing:1.6px;color:#849187;margin-bottom:25px}nav{display:grid;gap:8px}nav button{padding:15px 16px;text-align:left;background:none;border:0;border-radius:7px;color:#6b796f;display:flex;gap:14px;align-items:center}nav button.active{color:var(--green);background:#edf2e9;font-weight:bold}nav svg{width:19px;height:19px}.side-bottom{margin-top:auto;padding:55px 10px 5px}.mini-mark{font:italic 28px Georgia;color:#b29a6a;margin-bottom:12px}.side-bottom p{font-size:12px;line-height:1.7;color:var(--muted)}.textbutton{background:none;border:0;padding:8px 0;color:#687b6c;text-decoration:underline;font-size:12px}main{max-width:1450px;width:100%;padding:38px 45px 60px}.eyebrow{font-size:10px;letter-spacing:2px;color:#7f8f7f;font-weight:bold}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}h1{font:34px Georgia,serif;margin:10px 0;color:#1c3e2e}h2{font:23px Georgia,serif;margin:0 0 12px}h3{font-size:15px;margin:0 0 12px}.sub{color:var(--muted);line-height:1.7;margin:0}.tag{font-size:10px;border:1px solid #dce3d5;border-radius:20px;padding:9px 12px;color:#6f806c;white-space:nowrap}.grid{display:grid;grid-template-columns:1.15fr 1fr;gap:23px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:27px;min-width:0}.wallet{background:var(--green);color:white;position:relative;overflow:hidden;border:none;min-height:257px}.wallet:after{content:'T';position:absolute;right:-18px;bottom:-82px;font:italic 330px Georgia;color:#ffffff05;pointer-events:none}.wallet .eyebrow{color:#c4d1bd}.points{font:58px Georgia;margin:20px 0 3px}.points small{font:12px Arial;color:#c2d0be}.wallet .sub{color:#c7d3c3;font-size:12px}.wallet-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:26px;position:relative;z-index:1}.btn{border:0;border-radius:7px;background:var(--green);color:white;padding:13px 19px;font-weight:bold;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.gold{background:#dac496;color:#293f30}.btn.outline{background:white;border:1px solid #d4ddd0;color:var(--green)}.btn.small{padding:9px 12px}.scan{display:flex;align-items:center;gap:25px}.scan-symbol{flex:0 0 90px;height:90px;border:1px solid #e0e5d8;background:#f4f6ef;border-radius:18px;display:grid;place-items:center}.scan-symbol svg{width:49px;height:49px;color:var(--green)}.scan h2{margin-bottom:9px}.scan .btn{margin-top:20px}.steps{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:23px;padding-top:21px;font-size:10px;color:#7c8779}.steps b{color:#9a865c;margin-right:5px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:30px 0 16px}.section-head h2{margin:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.metric{padding:20px 24px;background:#fff;border:1px solid var(--line);border-radius:10px}.metric span{color:var(--muted);font-size:11px}.metric strong{display:block;font:28px Georgia;margin-top:10px}.reward-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.reward{padding:22px}.reward-icon{height:86px;background:#f1f3eb;display:grid;place-items:center;border-radius:8px;margin-bottom:19px;color:#7e8769}.reward-icon svg{width:40px;height:40px}.reward p{font-size:12px;color:var(--muted);line-height:1.6;min-height:38px}.reward-foot{display:flex;justify-content:space-between;align-items:center;gap:9px}.reward-foot strong{font-size:12px}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#859080;background:#f7f8f4;padding:17px 20px}td{font-size:12px;border-top:1px solid #edf0e8;padding:17px 20px}td strong{font-size:12px}.badge{font-size:10px;padding:6px 9px;border-radius:20px;background:#edf3e7;color:#4d6b42;display:inline-block}.badge.pending{background:#faf0dc;color:#92702f}.badge.inactive,.badge.rejected{background:#f0f0ed;color:#7c7c74}.empty{padding:35px;text-align:center;color:var(--muted)}.callout{border-left:3px solid var(--accent);background:#efeee4;padding:17px 20px;font-size:12px;line-height:1.7;margin-top:22px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.toolbar input{max-width:300px;margin:0}input,select{width:100%;padding:13px;border:1px solid #d3dccf;border-radius:7px;background:white;color:var(--ink);margin:8px 0 15px}label{display:block;font-size:12px;font-weight:bold;margin-top:13px}dialog{border:1px solid var(--line);border-radius:16px;width:min(460px,92vw);padding:32px;color:var(--ink);box-shadow:0 20px 100px #0003}dialog::backdrop{background:#0d241b77;backdrop-filter:blur(3px)}.close{float:right;border:0;background:#f0f3ec;border-radius:50%;height:28px;width:28px;font-size:21px;color:#65745e}.dialog-title{padding-right:20px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;background:#173d30;color:white;border-radius:10px;padding:15px 22px;box-shadow:0 7px 35px #0002;z-index:100;display:none;font-size:13px}.form-error{color:#a83625;font-size:12px;line-height:1.6;min-height:18px}.helper{font-size:11px;color:var(--muted);line-height:1.7}.code{font-family:monospace}.row-actions{display:flex;gap:8px}button:disabled{opacity:.45;cursor:not-allowed}@media(min-width:1500px){main{padding:45px 60px}}@media(max-width:1050px){.layout{grid-template-columns:190px 1fr}aside{padding:30px 14px}main{padding:30px 25px}.grid{grid-template-columns:1fr}.reward-grid{gap:10px}.reward{padding:17px}}@media(max-width:700px){.demo{font-size:8px;padding:8px}.demo span{display:block;margin:5px 0 0;font-size:9px}header{height:75px;padding:0 17px}.brand{font-size:19px;gap:8px;letter-spacing:2px}.brandmark{width:32px;height:37px;font-size:27px}.brand small{font-size:6px;letter-spacing:1.5px}.mode button{padding:9px 10px;font-size:10px}.avatar{display:none}.layout{display:block}aside{padding:10px;border-right:0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.side-label,.side-bottom{display:none}nav{display:flex;justify-content:space-around;gap:2px}nav button{font-size:10px;padding:10px 8px;gap:6px}nav svg{width:15px;height:15px}main{padding:25px 17px 40px}h1{font-size:29px}.heading{margin-bottom:22px}.heading .tag{display:none}.card{padding:22px}.points{font-size:52px}.scan{gap:16px}.scan-symbol{flex-basis:64px;height:70px}.scan-symbol svg{width:36px}.scan h2{font-size:21px}.reward-grid{grid-template-columns:1fr}.reward{display:grid;grid-template-columns:70px 1fr;gap:0 15px}.reward-icon{grid-row:1/4;margin:0;height:76px}.reward p{min-height:0;margin:0 0 12px}.reward h3{margin-bottom:7px}.reward-foot{grid-column:2}.metrics{gap:8px}.metric{padding:15px 12px}.metric strong{font-size:25px}.metric span{font-size:10px}.section-head h2{font-size:22px}.btn{padding:12px 15px}th,td{padding:14px}.steps{font-size:9px}.sub{font-size:12px}}

.btn svg{width:18px;height:18px;flex-shrink:0}dialog .btn{margin-top:8px}

.registration-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;max-width:1050px}.registration-card .btn{width:100%}.registration-card>.helper{margin-top:18px}.phone-field{display:flex;align-items:center;gap:12px}.phone-field>span{border:1px solid var(--line);padding:13px;border-radius:7px;margin:8px 0 15px}.consent{display:flex;align-items:flex-start;gap:10px;font-weight:normal;line-height:1.6;margin-top:6px}.consent input{width:18px;height:18px;flex-shrink:0;margin:2px 0;accent-color:var(--green)}.registration-info{background:#edf2e9}.registration-info h2{margin-top:24px}.join-step{display:flex;gap:18px;margin-top:26px}.join-step>b{color:#9a865a}.join-step p{margin:5px 0}.registration-info .textbutton{margin-top:28px}.profile-card{max-width:650px}.profile-details{display:grid;grid-template-columns:150px 1fr;gap:18px;margin:26px 0}.profile-details dt{color:var(--muted)}.profile-details dd{margin:0;overflow-wrap:anywhere}@media(max-width:800px){.registration-grid{grid-template-columns:1fr}.profile-details{grid-template-columns:110px 1fr;gap:16px;font-size:12px}}
@media(max-width:700px){nav button{flex:1;min-width:0;flex-direction:column;gap:5px;padding:10px 3px;font-size:9px}}

.brand{gap:13px;font-family:Arial,Helvetica,sans-serif;letter-spacing:0}.brand-logo{display:block;width:77px;height:72px;object-fit:contain;border-radius:5px}.brand-caption{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--green)}.sidebar-logo{display:block;width:72px;height:auto;border-radius:5px;margin-bottom:16px}@media(max-width:700px){.brand{gap:7px}.brand-logo{width:60px;height:56px}.brand-caption{font-size:8px;letter-spacing:1px}}
.login-wrap{max-width:620px;margin:24px auto}.login-card{padding:38px}.login-card h1{margin:16px 0;font-size:clamp(34px,5vw,52px);line-height:1.12}.login-card form{margin-top:26px}.login-card form>.btn{width:100%;margin-top:14px}input[readonly]{background:#f0f1ea;color:#4d5a50}#logout{white-space:nowrap;margin-left:auto;margin-right:14px}.profile-card>.btn{margin-top:8px}@media(max-width:650px){.login-card{padding:24px}#logout{margin-right:8px}.mode{margin-left:0}}
.sheet-scanner{width:min(94vw,480px);max-height:94dvh;overflow:auto;border:0;border-radius:18px;padding:22px;background:#fff;color:#173b2e}.sheet-scanner::backdrop{background:#10251fbb}.scanner-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-scanner video{display:block;width:100%;height:260px;object-fit:cover;background:#10251f;border-radius:12px;margin:16px 0}.sheet-scanner [data-scan-code]{overflow-wrap:anywhere}.scanner-actions,.bulk-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}.scanner-actions .btn{flex:1 1 150px}.scanner-actions [hidden]{display:none}.code-select{width:22px!important;height:22px;accent-color:#004936;margin:0!important}.bulk-toolbar .helper{flex-basis:100%}.btn:disabled{opacity:.55;cursor:not-allowed}

.badge.paid{background:#dceee3;color:#145a37}

.print-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.print-fields label{font-size:12px}.print-fields input{margin-top:5px}#customSheet[hidden]{display:none}
