:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#173d34;background:#f5f4ec;--green:#173d34;--cream:#fffdf5;--gold:#f5b96e;--line:#dfe4d5;--muted:#7d8d70}*{box-sizing:border-box}body{margin:0;min-height:100dvh;padding-bottom:94px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d8a15d;outline-offset:3px}[hidden]{display:none!important}.header{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:22px 30px;border-bottom:1px solid var(--line)}.logo img{width:154px;height:46px;object-fit:contain;display:block}.header-actions{display:flex;align-items:center;gap:14px}select,input,textarea{color:var(--green);border:1px solid var(--line);border-radius:8px;background:var(--cream);padding:11px 12px;min-width:0}select{font-size:12px}.avatar{border:1px solid #d9e1cc;border-radius:50%;width:36px;height:36px;background:#e6eadb;color:#7e936a}main{max-width:1100px;padding:34px 28px 25px;margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;color:#869974;font-weight:700;margin:0 0 13px}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-1.2px}h1{font-size:46px;line-height:1.1;margin:8px 0 20px}h2{font-size:30px;margin:10px 0 18px}h3{font-size:16px;margin:8px 0 12px}p{line-height:1.75}.muted{font-size:12px;line-height:1.8;color:var(--muted)}.card{background:var(--cream);border:1px solid var(--line);border-radius:17px;padding:25px}.primary,.secondary,.danger{border:0;border-radius:9px;min-height:46px;padding:12px 19px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:14px}.primary{background:var(--green);color:#fff6e5}.secondary{background:#ecefdf;color:#47633c;border:1px solid #d6dfc9}.danger{background:#f2e3d7;color:#a06942}.full{width:100%}.text-button{border:0;background:none;color:#758f5d;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:8px}.tag{font-size:11px;line-height:1.5;border:1px solid #d5dfc4;color:#718854;border-radius:5px;padding:5px 8px;background:#eef1e3;display:inline-block}.tag.used,.tag.expired{color:#9a8163;background:#f0e7d9;border-color:#e3d2bb}.tag.upcoming{color:#9a8555;background:#f4eedb;border-color:#e2d6b5}.row{display:flex;gap:14px;align-items:center;justify-content:space-between}.stack{display:grid;gap:17px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.center{text-align:center}.small{font-size:12px}.notice{padding:14px 16px;border-radius:10px;background:#ede9d8;color:#8e774d;border:1px solid #ddd3b4;font-size:12px;line-height:1.8;margin:14px 0}.error{color:#aa623d;background:#f5e7db}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0 17px}.section-heading h2{margin:0}.navigation{position:fixed;bottom:0;left:50%;transform:translateX(-50%);display:flex;justify-content:space-around;width:min(100%,700px);background:#fffdf6f5;backdrop-filter:blur(12px);border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;padding:11px 16px max(14px,env(safe-area-inset-bottom));z-index:5;gap:6px}.navigation button{border:0;background:none;display:flex;align-items:center;flex-direction:column;gap:5px;color:#9ca88b;font-size:11px;min-height:44px;min-width:65px}.navigation button>b{font-size:21px;font-weight:400;line-height:1}.navigation button.active{color:#234d38;font-weight:700}.draw-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:start}.draw-story{padding-top:25px}.draw-story h1{font-size:64px}.draw-story h1 em{color:#8fa277}.lead{font-size:15px;color:#7c8d6a;line-height:1.9}.campaign-meta{border-top:1px solid var(--line);padding-top:20px;margin-top:27px}.campaign-meta p{font-size:12px;color:#8b987a}.draw-card{background:var(--green);border:0;color:#fff4db;position:relative;overflow:hidden;text-align:center;padding:25px 27px}.draw-card .eyebrow{color:#c9cda9}.draw-card h2{font-size:36px;line-height:1.05;max-width:360px;margin:17px auto}.draw-card h2 em{color:#f8c37d}.prize-max{font:49px Georgia,serif;color:#f7c67d;display:block;letter-spacing:-2px;margin:13px 0 6px}.wheel-stage{width:320px;max-width:100%;aspect-ratio:1;margin:17px auto 23px;position:relative}.wheel{width:100%;height:100%;border-radius:50%;border:7px solid #dba65a;box-shadow:0 0 0 5px #f7df9b,0 0 0 11px #b89e5540,0 15px 35px #091f1555;transform:rotate(0deg);transition:transform 8s cubic-bezier(.12,.7,.1,1)}.wheel svg{width:100%;height:100%;display:block}.pointer{position:absolute;left:50%;top:-12px;z-index:2;transform:translateX(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:41px solid #fff0bc;filter:drop-shadow(0 2px 2px #806c3755)}.wheel-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:75px;height:75px;display:grid;place-items:center;border-radius:50%;background:#173d34;border:5px solid #f4d281;font-size:9px;letter-spacing:1px;font-weight:700}.draw-card .primary{background:#f1ac5a;color:#163c32;width:100%;font-size:14px;box-shadow:0 4px #b9854155}.draw-card .secondary{width:100%;background:#ffffff06;color:#ebdcb4;border-color:#d7d1a536;margin-top:12px}.chance-text{font-size:12px;color:#dadab9;margin:12px 0 15px}.draw-card .muted{color:#bdc8aa;font-size:11px}.draw-card .notice{background:#ffffff08;border-color:#d7d1a536;color:#ded9b6}.odds{display:grid;grid-template-columns:repeat(auto-fit,minmax(65px,1fr));gap:9px;margin-top:19px}.odds>div{border:1px solid var(--line);border-radius:9px;background:#fffdf6;padding:13px 8px;text-align:center}.odds strong{font:20px Georgia,serif;display:block}.odds small{font-size:10px;color:#93a17f;display:block;margin-top:7px}.terms{white-space:pre-wrap;font-size:12px;color:#7d8e6b;line-height:1.9}.store-item{border-top:1px solid var(--line);padding:13px 0}.store-item strong{font-size:13px}.store-item p{font-size:12px;color:#8c997a;margin:6px 0}.auth-card{max-width:420px;margin:35px auto;text-align:center}.auth-card img{width:155px;height:50px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin:20px 0}.auth-tabs button{background:none;border:0;padding:12px;font-size:13px;color:#92a17c}.auth-tabs .active{border-bottom:2px solid #57764a;color:#45623a;font-weight:700}form{text-align:left}label{font-size:12px;font-weight:600;display:block;margin:15px 0 8px}form input,form textarea,form select{display:block;width:100%;font-size:13px;min-height:43px}form textarea{min-height:100px;resize:vertical}.password-tip{font-size:11px;color:#97a582;line-height:1.7;margin:7px 0 16px}.form-error{font-size:12px;color:#a26744;line-height:1.7;min-height:18px;margin:14px 0}.auth-card .primary{margin-top:10px}.auth-card .muted{font-size:11px}.phone-heading{font:28px Georgia,serif;letter-spacing:-1px}.profile-card{max-width:450px;margin:20px auto;text-align:center}.large-avatar{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#e9eddf;color:#849a6e;margin:5px auto 21px;font:24px Georgia,serif}.profile-card .primary{margin-top:25px}.profile-card .text-button{margin-top:17px}.wallet-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.wallet-total{background:#e9eddd;padding:24px;border:1px solid #dce4cc;border-radius:13px;margin-bottom:25px}.wallet-total>b{display:block;font:45px Georgia,serif;letter-spacing:-1px;margin-top:12px}.wallet-total small{font-size:11px;color:#7f9468}.vouchers{display:grid;grid-template-columns:1fr 1fr;gap:20px}.voucher{display:grid;grid-template-columns:1fr 105px;border:1px solid #dce1cc;border-radius:14px;background:#fffdf6;overflow:hidden}.voucher>div:first-child{padding:23px}.voucher small{color:#8d9b7c;font-size:10px}.voucher b{display:block;font:37px Georgia,serif;margin:13px 0}.voucher p{font-size:11px;color:#8e9c7c;line-height:1.8;margin:8px 0}.voucher-side{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-direction:column;padding:22px 12px;background:#f0ecd9;border-left:1px dashed #d7d1b9}.voucher-side button{font-size:11px;border:0;background:none;color:#6d8553;font-weight:600;line-height:1.6}.empty{padding:45px 23px;border:1px dashed #d5dfc6;border-radius:12px;text-align:center;color:#9aa987}.empty h2{color:#6d8559}.modal{width:390px;max-width:calc(100vw - 26px);max-height:calc(100dvh - 30px);border:0;border-radius:20px;background:#fffdf5;color:#173d34;padding:30px 25px;text-align:center;overflow-y:auto;box-shadow:0 30px 120px #122f3455}.modal::backdrop{background:#173e326b;backdrop-filter:blur(5px)}.close{position:absolute;right:13px;top:12px;width:29px;height:29px;border-radius:50%;border:1px solid var(--line);background:none;color:#a1ad91;font-size:23px;font-weight:300}.modal img.logo{width:130px;height:43px;object-fit:contain}.modal .amount{font:58px Georgia,serif;letter-spacing:-2px;color:#a58b4f;display:block;margin:18px 0}.modal h2{font-size:31px}.modal .primary{margin-top:20px}.modal .text-button{margin-top:14px}.qr-panel{margin:19px 0;padding:17px 15px;border-radius:11px;border:1px solid #dce3cc;background:#f0f3e6}.qr-panel>small{font-size:11px;letter-spacing:1px;color:#71875c}.qr-image{width:220px;height:220px;background:#fff;margin:13px auto;border-radius:5px;overflow:hidden;max-width:100%}.qr-image svg{display:block;width:100%;height:100%;stroke:none}.qr-code{font:10px monospace;overflow-wrap:anywhere;color:#82956e;line-height:1.7}.detail-rows{margin:20px 0}.detail-rows>div{display:flex;justify-content:space-between;gap:15px;text-align:left;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.detail-rows dt{color:#99a687}.detail-rows dd{margin:0;text-align:right;color:#72895c;line-height:1.7}.modal .hint{font-size:11px;line-height:1.8;color:#8d9e79}.toast{position:fixed;z-index:1000;bottom:100px;left:50%;transform:translateX(-50%);border-radius:10px;background:#244f3f;color:#fff4da;padding:14px 20px;font-size:13px;box-shadow:0 10px 40px #193b2b22;opacity:0;pointer-events:none;max-width:90vw;transition:opacity .2s}.toast.visible{opacity:1}.loading{text-align:center;padding:70px;color:#9eac8c}.admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 25px}.metric{padding:18px;border-radius:11px;background:#e9eddd;border:1px solid #dce4cd}.metric b{display:block;font:30px Georgia,serif;margin-top:9px}.metric small{font-size:11px;color:#83966e}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .wide{grid-column:1/-1}.check-row{display:flex;align-items:center;gap:10px;margin:20px 0}.check-row input{width:18px;min-height:18px}.check-row label{margin:0;font-size:12px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}th{color:#94a17e;font-weight:500}td button{font-size:11px}.staff-layout{max-width:650px;margin:auto}.scanner{width:100%;aspect-ratio:4/3;background:#e5ead8;border-radius:11px;object-fit:cover;margin-top:15px}.staff-result{margin-top:23px}.staff-result .amount{font:50px Georgia,serif}.staff-result dl{font-size:13px}.staff-result .primary{margin-top:20px}.audit{font:11px monospace;line-height:1.8;overflow-wrap:anywhere;color:#8c9b79;padding:8px 0;border-bottom:1px solid var(--line)}.footer-note{font-size:11px;color:#94a380;line-height:1.8;text-align:center;margin:28px 0 8px}.notice strong{font-weight:600}.two-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
@media(max-width:900px){.draw-layout{gap:26px;grid-template-columns:.8fr 1.2fr}.draw-story h1{font-size:49px}.vouchers{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}.draw-card{padding:23px 20px}}
@media(max-width:680px){.header{padding:17px 22px}.logo img{width:136px;height:39px}main{padding:25px 22px}.draw-layout{display:flex;flex-direction:column;gap:25px}.draw-story{padding:0;width:100%}.draw-story h1{font-size:37px;margin-bottom:12px}.draw-story .lead{font-size:12px;margin-bottom:0}.campaign-meta{display:none}.draw-card{width:100%;padding:24px 20px}.draw-card h2{font-size:30px}.wheel-stage{width:275px;margin:19px auto 25px}.prize-max{font-size:43px}.grid-2{grid-template-columns:1fr}.wallet-head h1{font-size:38px}.vouchers{gap:15px}.voucher{grid-template-columns:1fr 96px}.voucher>div:first-child{padding:21px 17px}.voucher-side{padding:22px 8px}.auth-card{margin:15px auto;padding:23px 20px}.auth-card h1{font-size:35px}.metrics{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.odds{gap:6px}.odds>div{padding:12px 5px}.odds strong{font-size:17px}.odds small{font-size:9px}.card{padding:22px 19px}.profile-card .phone-heading{font-size:25px}.navigation{border-radius:12px 12px 0 0}.modal{padding:28px 23px}.draw-story .eyebrow{margin-bottom:8px}.wallet-head{align-items:flex-start}.wallet-head .tag{max-width:43%;font-size:10px}.toast{font-size:12px}.header-actions{gap:9px}select{font-size:11px;padding:8px 5px}}
@media(prefers-reduced-motion:reduce){.wheel{transition-duration:.1s}.toast{transition:none}}

.staff-result .amount{margin:18px 0;line-height:1.1}.draw-layout+section .grid-2{margin-top:22px}@media(max-width:680px){.draw-story h1,.draw-story>.eyebrow{display:none}.draw-story .lead{margin-top:0;font-size:12px}.draw-layout{gap:18px}.draw-card{padding-top:21px}}

@media(max-width:680px){.wheel-stage{width:clamp(180px,28svh,275px);margin:17px auto 21px}.draw-card h2{margin:13px auto;font-size:28px}.draw-card .prize-max{margin:9px 0 5px}.draw-card .chance-text{margin:10px 0 12px}}

.standalone-draw{max-width:410px;margin:0 auto}.standalone-draw .draw-card{padding:22px 25px}.standalone-draw .wheel-stage{width:275px;height:275px;margin:22px auto 25px}.wheel-links{display:flex;justify-content:space-between;gap:15px;margin-top:18px}.wheel-links button{background:none;border:0;color:#dce1c0;font-size:11px;min-height:35px;text-decoration:underline;text-underline-offset:4px}#admin-vouchers td{max-width:260px;overflow-wrap:anywhere}#activity-updated{white-space:nowrap}@media(max-width:680px){.standalone-draw .draw-card{padding:21px 19px}.standalone-draw .wheel-stage{width:clamp(180px,28svh,265px);height:auto;aspect-ratio:1}.standalone-draw{max-width:410px}.standalone-draw .notice{font-size:11px}.standalone-draw .draw-card h2{font-size:29px}.standalone-draw .draw-card .prize-max{font-size:43px}}

[hidden]{display:none!important}.download-app{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}.claim-code-panel{padding:16px;border:1px solid var(--line,#dedfce);border-radius:14px;margin:16px 0}.claim-code-panel code{display:block;overflow-wrap:anywhere;font-size:13px;margin:12px 0;color:#173d34}

/* IndianOil-reference campaign skin. Service login and redemption stay FuelJoy. */
body[data-view="draw"]{--green:#00164e;--line:#dbe3ef;--muted:#637393;--cream:#fff;background:#f3f7fc;color:#00164e;padding-bottom:28px;background-image:radial-gradient(ellipse at 50% 22%,#60b8df80,transparent 63%),linear-gradient(180deg,#fff 0 109px,#0c3679 109px,#2264a1 600px,#edf5fc 1100px);background-repeat:no-repeat}
body[data-view="draw"] .header{max-width:none;background:#fff;min-height:110px;padding:17px max(26px,calc((100vw - 1120px)/2));border:0;border-bottom:7px solid #00164e;position:relative;gap:18px}
body[data-view="draw"] .header:after{content:"";position:absolute;bottom:-7px;left:0;width:43%;height:7px;background:#ff7f18;border-radius:0 14px 0 0}
body[data-view="draw"] .logo img{width:232px;height:72px;object-fit:contain;object-position:left center}
body[data-view="draw"] .header-actions select{background:#fff;color:#00164e;border-color:#ccd6e7;border-radius:4px;padding:10px 13px;font-size:12px}
body[data-view="draw"] main{padding:38px 24px 26px;position:relative}
body[data-view="draw"] .standalone-draw{max-width:440px}
body[data-view="draw"] .draw-card{padding:29px 30px 25px;background:#fff;color:#00164e;border:1px solid #fff;border-top:5px solid #ff7f18;border-radius:18px;box-shadow:0 24px 70px #00183d38}
body[data-view="draw"] .draw-card:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-150px;top:60px;background:#eaf4fc;pointer-events:none}
body[data-view="draw"] .draw-card>*{position:relative}
body[data-view="draw"] .draw-card .eyebrow{color:#446086;font-size:10px;letter-spacing:1.5px}
body[data-view="draw"] .draw-card h2{font-family:"Segoe UI","Microsoft YaHei",sans-serif;font-size:31px;line-height:1.2;font-weight:700;letter-spacing:-1px;max-width:320px;margin:15px auto 17px}
body[data-view="draw"] .draw-card .small{color:#5b6e8c;font-size:12px}
body[data-view="draw"] .draw-card .prize-max{font-family:"Segoe UI",sans-serif;font-size:51px;font-weight:800;color:#ed7413;letter-spacing:-2px;line-height:1.15;margin:8px 0 15px}
body[data-view="draw"] .standalone-draw .wheel-stage{width:290px;height:290px;margin:24px auto 25px}
body[data-view="draw"] .wheel{border:7px solid #ff8b22;box-shadow:0 0 0 5px #ffdb8b,0 0 0 10px #05245a,0 13px 25px #142a532b}
body[data-view="draw"] .pointer{border-top-color:#00164e;filter:drop-shadow(0 2px 1px #00164e44)}
body[data-view="draw"] .wheel-hub{background:#fff;border:5px solid #00164e;color:#00164e;display:flex;flex-direction:column;justify-content:center;gap:1px}
body[data-view="draw"] .wheel-hub span{font:700 27px "Segoe UI",sans-serif;line-height:1}
body[data-view="draw"] .wheel-hub small{font-size:6px;letter-spacing:.8px}
body[data-view="draw"] .chance-text{color:#5b6f91;margin:17px 0 14px}
body[data-view="draw"] .draw-card .primary{background:#ff7f18;color:#fff;border-radius:6px;font-size:14px;min-height:51px;box-shadow:0 3px 0 #c85b07}
body[data-view="draw"] .draw-card .primary:disabled{background:#e5ebf4;box-shadow:none;color:#60708f;opacity:1}
body[data-view="draw"] .draw-card .secondary{background:#f5f8fd;color:#00164e;border-color:#ccd9ed;border-radius:6px;min-height:45px}
body[data-view="draw"] .draw-card .muted{color:#5e7295;font-size:11px;line-height:1.85;margin:14px 0 2px}
body[data-view="draw"] .wheel-links{justify-content:center;margin-top:9px}
body[data-view="draw"] .wheel-links button{color:#174b84}
body[data-view="draw"] .footer-note{color:#edf5ff;background:#06275c70;border:1px solid #ffffff20;border-radius:7px;padding:11px 14px;margin-top:20px}
body[data-view="draw"] .modal{background:#fff;color:#00164e;border-top:5px solid #ff7f18;border-radius:15px}
body[data-view="draw"] .modal::backdrop{background:#001b4d90}
body[data-view="draw"] .campaign-result-logo{display:block;width:194px;height:auto;max-width:80%;margin:0 auto 20px}
body[data-view="draw"] .modal h2{font-family:"Segoe UI","Microsoft YaHei",sans-serif;font-weight:700;letter-spacing:-.7px}
body[data-view="draw"] .modal .amount{font-family:"Segoe UI",sans-serif;font-weight:800;color:#ed7413}
body[data-view="draw"] .modal .eyebrow,body[data-view="draw"] .modal .hint,body[data-view="draw"] .modal .muted{color:#66799b}
body[data-view="draw"] .modal .primary{background:#ff7f18;color:#fff}
body[data-view="draw"] .modal .secondary{color:#00164e;background:#f1f5fc;border-color:#d2dcef}
body[data-view="draw"] .claim-code-panel{background:#f6f8fc;border-color:#dbe3ef;border-radius:8px}
body[data-view="draw"] .claim-code-panel code{color:#00164e}
@media(max-width:680px){body[data-view="draw"]{background-image:radial-gradient(ellipse at 50% 25%,#60b8df60,transparent 70%),linear-gradient(180deg,#fff 0 86px,#123e7d 86px,#2264a1 700px,#edf5fc 1200px)}body[data-view="draw"] .header{min-height:87px;padding:10px 19px 11px;border-bottom-width:5px;gap:12px}body[data-view="draw"] .header:after{height:5px;bottom:-5px}body[data-view="draw"] .logo img{width:min(172px,44vw);height:53px}body[data-view="draw"] .header-actions select{font-size:11px;padding:8px 7px;max-width:93px}body[data-view="draw"] main{padding:22px 15px 15px}body[data-view="draw"] .draw-card{padding:23px 22px 19px;border-radius:14px}body[data-view="draw"] .draw-card h2{font-size:28px;margin:12px auto 13px}body[data-view="draw"] .draw-card .prize-max{font-size:46px;margin-bottom:12px}body[data-view="draw"] .standalone-draw .wheel-stage{width:min(265px,calc(100vw - 108px));height:auto;aspect-ratio:1;margin:22px auto 24px}body[data-view="draw"] .draw-card .eyebrow{font-size:9px}body[data-view="draw"] .footer-note{font-size:10px;margin-top:16px}}
