*{box-sizing:border-box}html,body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}body{background:#f3f3f3;color:#111}.admin-body{background:#111827;color:#f9fafb}.admin-wrap{max-width:980px;margin:0 auto;padding:24px}.admin-header{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:24px}.admin-header h1{margin:0;font-size:32px}.admin-header p,.muted{color:#9ca3af}.card,.session-card{background:#1f2937;border:1px solid #374151;border-radius:18px;padding:18px}.session-list{display:grid;gap:16px}.session-card label{display:block;margin-top:12px;font-size:12px;color:#9ca3af}.session-card input{width:100%;padding:12px;border-radius:10px;border:1px solid #4b5563;background:#111827;color:#f9fafb}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.button,button{border:0;text-decoration:none;border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:700}.primary{background:#22c55e;color:#06240f}.button{background:#374151;color:#f9fafb}.ghost{background:#4b5563;color:#fff}.badge{display:inline-block;margin-left:8px;padding:4px 8px;border-radius:999px;font-size:12px}.badge.ready{background:#14532d;color:#bbf7d0}.badge.pending{background:#713f12;color:#fde68a}
.calc-body{background:#000;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:manipulation}.calc-app{width:min(420px,100vw);padding:18px}.calc-screen{height:180px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;padding:0 8px 18px}.op{color:#8a8a8a;font-size:20px;min-height:28px;max-width:100%;overflow:hidden;white-space:nowrap}.display{font-size:72px;font-weight:300;line-height:1;max-width:100%;overflow:hidden}.sent{font-size:14px;color:#6ee7b7;min-height:22px}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.calc-grid button{aspect-ratio:1/1;border-radius:50%;font-size:32px;font-weight:500;background:#333;color:white}.calc-grid button.light{background:#a5a5a5;color:#000}.calc-grid button.operator{background:#ff9f0a;color:#fff}.calc-grid button.zero{grid-column:span 2;aspect-ratio:auto;border-radius:999px;text-align:left;padding-left:32px}
.receipt-page{min-height:100vh;background:#d9d5ca;display:flex;align-items:flex-start;justify-content:center;padding:26px 12px;background-image:radial-gradient(circle at 20% 0%,rgba(255,255,255,.55),transparent 34%),linear-gradient(180deg,#eee9df,#ccc5b8)}.pending-box{margin-top:8vh;background:white;border-radius:20px;padding:34px;max-width:420px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.12)}.pending-box h1{margin-bottom:8px}.spinner{width:42px;height:42px;border:4px solid #e5e7eb;border-top-color:#111;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 18px}@keyframes spin{to{transform:rotate(360deg)}}.receipt-wrap{width:100%;display:flex;justify-content:center}.receipt{width:328px;max-width:94vw;background:#fffdf3;color:#151515;padding:22px 18px 24px;font-family:"Courier New",Courier,monospace;box-shadow:0 28px 55px rgba(31,25,15,.28);position:relative;overflow:hidden;border-left:1px solid rgba(0,0,0,.05);border-right:1px solid rgba(0,0,0,.05)}.receipt:before,.receipt:after{content:"";position:absolute;left:0;right:0;height:10px;background:linear-gradient(135deg,#d9d5ca 25%,transparent 25%) 0 0/16px 16px,linear-gradient(225deg,#d9d5ca 25%,transparent 25%) 0 0/16px 16px}.receipt:before{top:-1px}.receipt:after{bottom:-9px;transform:rotate(180deg)}.receipt-top-note{text-align:center;font-size:10px;letter-spacing:2px;margin:2px 0 8px;color:#666}.receipt-title{text-align:center;font-weight:900;font-size:20px;letter-spacing:.7px;margin-bottom:6px;line-height:1.08}.center{text-align:center}.small{font-size:11px;line-height:1.35;color:#2b2b2b}.tiny{font-size:10px;color:#555;margin:4px 0 0}.receipt hr{border:0;border-top:1px dashed #222;margin:12px 0}.receipt-row{display:flex;justify-content:space-between;gap:14px;font-size:12.5px;line-height:1.55;white-space:nowrap}.receipt-row span:first-child{overflow:hidden;text-overflow:ellipsis}.receipt-row span:last-child{text-align:right}.subtotal{margin-top:7px}.receipt-total-box{border-top:2px solid #111;border-bottom:2px solid #111;margin:10px 0;padding:8px 0 6px}.total{font-size:25px;font-weight:900;letter-spacing:.2px;line-height:1.2}.barcode{height:48px;margin:16px auto 6px;width:224px;background:repeating-linear-gradient(90deg,#111 0 1px,transparent 1px 3px,#111 3px 5px,transparent 5px 8px,#111 8px 9px,transparent 9px 12px,#111 12px 15px,transparent 15px 18px)}.barcode-num{font-size:10.5px;letter-spacing:1.8px}.thanks{font-size:12px;margin:14px 0 2px;font-weight:700;text-transform:uppercase}.receipt:after{pointer-events:none}
@media(max-width:640px){.admin-header{display:block}.admin-header form{margin-top:16px}.display{font-size:64px}.calc-grid{gap:10px}.calc-grid button{font-size:30px}}
.login-body{min-height:100vh;background:#0b0f19;color:#f9fafb;display:flex;align-items:center;justify-content:center;padding:18px}.login-card{width:min(420px,100%);background:#111827;border:1px solid #374151;border-radius:22px;padding:26px;box-shadow:0 18px 60px rgba(0,0,0,.35)}.login-card h1{margin:0 0 8px;font-size:30px}.login-card input,.admin-form input{width:100%;padding:14px;border-radius:12px;border:1px solid #4b5563;background:#0b1220;color:#f9fafb;font-size:16px;margin:8px 0 14px}.full{width:100%;padding:14px}.error-box{background:#7f1d1d;color:#fecaca;border:1px solid #991b1b;padding:10px 12px;border-radius:12px}.notice{background:#064e3b;color:#d1fae5;border:1px solid #047857;border-radius:16px;padding:14px 16px;margin-bottom:18px}.header-actions,.section-head{display:flex;align-items:center;gap:10px;justify-content:space-between}.section-head{margin-bottom:14px}.section-head h2{margin-bottom:4px}.admin-form label{display:block;color:#9ca3af;font-size:13px;margin-top:8px}.danger{background:#991b1b;color:#fff}.session-card form{display:inline-block}@media(max-width:640px){.header-actions,.section-head{display:block}.header-actions .button,.section-head button{margin-top:8px}.login-card{padding:22px}}


.copy-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.copy-btn,.buttonlike{background:#374151;color:#f9fafb}.compact-card{margin-bottom:18px}.no-margin{margin:0}.session-card .copy-row input{margin:0}.buttonlike{border:0;text-decoration:none;border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:700}.theme-iphone .calc-app{background:#000}.theme-iphone .calc-grid button{border-radius:50%;background:#333;color:#fff}.theme-iphone .calc-grid button.light{background:#a5a5a5;color:#000}.theme-iphone .calc-grid button.operator{background:#ff9f0a;color:#fff}.theme-iphone .calc-grid button.zero{border-radius:999px}.theme-android{background:#202124}.theme-android .calc-app{width:min(430px,100vw);padding:20px;background:#202124}.theme-android .calc-screen{height:210px;padding:0 12px 22px;color:#e8eaed}.theme-android .op{color:#9aa0a6;font-size:18px}.theme-android .display{font-size:68px;font-weight:400}.theme-android .calc-grid{gap:10px}.theme-android .calc-grid button{border-radius:28px;aspect-ratio:1.12/1;background:#3c4043;color:#e8eaed;font-size:30px}.theme-android .calc-grid button.light{background:#5f6368;color:#e8eaed}.theme-android .calc-grid button.operator{background:#8ab4f8;color:#202124}.theme-android .calc-grid button.zero{border-radius:28px;text-align:center;padding-left:0}@media(max-width:640px){.copy-row{grid-template-columns:1fr}.copy-btn{width:100%;}.theme-android .display{font-size:60px}}

.whatsapp{background:#16a34a;color:#fff}.no-phone{display:inline-flex;align-items:center;padding:10px 0}

/* v7: receipt restored and fixed for pretty /recibo links */
.receipt-page{min-height:100vh;background:#e7e5df;display:flex;align-items:flex-start;justify-content:center;padding:28px 14px;background-image:none}.receipt-wrap{width:100%;display:flex;justify-content:center}.receipt{width:330px;max-width:94vw;background:#fbfaf4;color:#161616;padding:22px 18px 24px;font-family:"Courier New",Courier,monospace;box-shadow:0 18px 50px rgba(0,0,0,.18);position:relative;overflow:visible;border:0}.receipt:before,.receipt:after{content:"";position:absolute;left:0;right:0;height:12px;background:repeating-linear-gradient(90deg,transparent 0 10px,#e7e5df 10px 20px);pointer-events:none}.receipt:before{top:-1px}.receipt:after{bottom:-1px;transform:none}.receipt-title{text-align:center;font-weight:800;font-size:20px;letter-spacing:.8px;margin-bottom:6px;line-height:1.12}.center{text-align:center}.small{font-size:12px;line-height:1.35;color:#161616}.tiny{font-size:10.5px;color:#555;margin:6px 0 0}.receipt hr{border:0;border-top:1px dashed #111;margin:13px 0}.row{display:flex;justify-content:space-between;gap:16px;font-size:13px;line-height:1.55;white-space:nowrap}.row span:first-child{overflow:hidden;text-overflow:ellipsis}.row span:last-child{text-align:right}.subtotal{margin-top:10px}.total{font-size:22px;font-weight:900;letter-spacing:.4px}.barcode{height:54px;margin:18px auto 6px;width:230px;background:repeating-linear-gradient(90deg,#111 0 2px,transparent 2px 5px,#111 5px 6px,transparent 6px 10px,#111 10px 13px,transparent 13px 16px)}.barcode-num{font-size:12px;letter-spacing:2px}.thanks{font-size:13px;margin-top:16px;text-transform:none;font-weight:400}.pending-box{margin-top:8vh;background:white;border-radius:20px;padding:34px;max-width:420px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.12)}

/* v7: admin edit/instructions */
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-row{display:flex!important;align-items:center;gap:8px;margin:8px 0 14px!important;color:#d1d5db!important}.checkbox-row input{width:auto!important;margin:0!important}.edit-magician-form{margin-top:14px}.magician-card-head{display:flex;justify-content:space-between;gap:12px}.modal-backdrop[hidden]{display:none}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px}.modal-card{width:min(680px,100%);max-height:88vh;overflow:auto;background:#111827;color:#f9fafb;border:1px solid #374151;border-radius:22px;padding:24px;box-shadow:0 22px 80px rgba(0,0,0,.5);position:relative}.modal-card h2{margin-top:0}.modal-card h3{margin:18px 0 8px}.modal-card li{margin:7px 0;line-height:1.4}.modal-close{position:absolute;top:12px;right:12px;border-radius:999px;background:#374151;color:#fff;width:38px;height:38px;padding:0;font-size:24px;line-height:1}.buttonlike{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:640px){.two-cols{grid-template-columns:1fr}.modal-card{padding:22px 18px}.receipt-page{padding:22px 10px}.receipt{width:318px;padding:21px 16px 23px}.row{font-size:12.7px}.total{font-size:21px}}


.new-session-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline-label{display:block;font-size:12px;color:#9ca3af;margin-bottom:5px}.select-dark{appearance:none;background:#111827;color:#f9fafb;border:1px solid #4b5563;border-radius:12px;padding:10px 38px 10px 12px;font-weight:700;min-width:150px;background-image:linear-gradient(45deg,transparent 50%,#9ca3af 50%),linear-gradient(135deg,#9ca3af 50%,transparent 50%);background-position:calc(100% - 18px) 17px,calc(100% - 12px) 17px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.lottery-wrap{width:100%;display:flex;justify-content:center;padding-top:18px}.lottery-ticket{width:360px;max-width:94vw;background:linear-gradient(180deg,#fff,#f2f7ff);border:2px solid #0f3f8f;border-radius:22px;color:#111;padding:20px 18px 22px;box-shadow:0 28px 55px rgba(15,31,70,.28);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;position:relative;overflow:hidden}.lottery-ticket:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 15%,rgba(37,99,235,.12),transparent 30%),radial-gradient(circle at 90% 5%,rgba(245,158,11,.16),transparent 22%);pointer-events:none}.lottery-ticket>*{position:relative}.lottery-head{text-align:center;border-bottom:2px solid #0f3f8f;padding-bottom:12px;margin-bottom:12px}.lottery-brand{font-size:25px;font-weight:900;letter-spacing:.8px;color:#0f3f8f}.lottery-sub{font-size:12px;font-weight:800;color:#475569;letter-spacing:1.8px;margin-top:4px}.lottery-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#475569;margin:8px 0 16px}.lottery-label{text-align:center;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:1.3px;color:#111827;margin-bottom:10px}.lottery-balls{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:10px 0 14px}.lottery-balls span{aspect-ratio:1/1;border-radius:50%;background:#fff;border:2px solid #0f3f8f;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:#0f3f8f;box-shadow:inset 0 -4px 0 rgba(15,63,143,.08)}.lottery-extra{display:flex;justify-content:center;gap:12px;margin:10px 0 14px}.lottery-extra div{display:flex;align-items:center;gap:6px;background:#0f3f8f;color:#fff;border-radius:999px;padding:7px 12px}.lottery-extra strong{font-size:12px;opacity:.75}.lottery-extra span{font-size:17px;font-weight:900}.lottery-ticket hr{border:0;border-top:1px dashed #0f3f8f;margin:14px 0}.lottery-result{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.lottery-result span{font-size:13px;color:#475569;font-weight:800}.lottery-result strong{font-size:24px;color:#111827}.lottery-code{text-align:center;font-size:11px;color:#475569;margin-top:12px}.lottery-barcode{filter:hue-rotate(180deg);height:42px;margin-top:14px}

.national-style{width:760px;max-width:96vw;background:#fff;border:1px solid #d9d9d9;border-radius:6px;box-shadow:0 10px 28px rgba(0,0,0,.16);padding:0;overflow:hidden}
.lottery-topnote{color:#ef4444;font-weight:800;text-align:center;padding:10px 12px 0;font-size:18px}.lottery-state{text-align:center;font-variant:small-caps;color:#374151;font-size:17px;letter-spacing:.4px;padding-bottom:8px}.lottery-main-grid{display:grid;grid-template-columns:215px 1fr;gap:16px;padding:8px 14px 10px;align-items:start}.lottery-illustration{height:290px;border:1px solid #ddd;background:linear-gradient(180deg,#f6f2e7,#e8dcc2);position:relative;overflow:hidden}.lottery-arch{position:absolute;left:26px;top:14px;width:120px;height:205px;border:12px solid #6b4e2f;border-bottom:none;border-radius:70px 70px 0 0;background:linear-gradient(180deg,#dbeafe,#9ac7f9 60%,#dfe9f7)}.lottery-city{position:absolute;left:95px;top:70px;width:8px;height:110px;background:#8b6b3e;box-shadow:18px 30px 0 0 #8b6b3e,28px 5px 0 0 #8b6b3e,40px 48px 0 0 #8b6b3e}.lottery-city:before{content:'';position:absolute;left:-8px;top:-45px;width:22px;height:45px;background:#8b6b3e;border-radius:8px 8px 0 0}.lottery-bust{position:absolute;left:18px;bottom:18px;width:78px;height:96px;background:#222;border-radius:38px 38px 18px 18px;box-shadow:28px -44px 0 -18px #e8c9ac,34px -36px 0 -24px #2f241f}.lottery-main-content{position:relative;padding-right:110px;min-height:290px}.lottery-winning-number{display:flex;gap:12px;justify-content:center;margin:8px 0 12px}.lottery-winning-number span{font-size:68px;line-height:1;font-weight:900;color:#3f3f46;letter-spacing:1px;text-shadow:0 1px 0 #fff}.lottery-brand.big{text-align:center;font-size:44px;font-weight:900;letter-spacing:1px;color:#4b5563;margin-top:8px}.lottery-decimo{text-align:center;font-size:18px;font-weight:700;color:#444;margin-top:6px;line-height:1.2}.lottery-date{text-align:center;font-size:24px;font-weight:800;color:#222;margin-top:10px;text-transform:none}.lottery-sideboxes{position:absolute;right:0;top:0;display:flex;flex-direction:column;gap:10px}.lottery-sideboxes .box{width:95px;min-height:72px;border:2px solid #bce3ef;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff}.lottery-sideboxes .box span{font-size:14px;color:#374151;font-weight:800}.lottery-sideboxes .box strong{font-size:32px;line-height:1;color:#111827;margin-top:4px}.lottery-bottom-info{padding:8px 14px 16px;color:#1d4ed8;font-weight:700;line-height:1.25}.lottery-bottom-info div{margin-top:3px}.lottery-bottom-info strong{color:#dc2626}@media (max-width:700px){.national-style{border-radius:0}.lottery-main-grid{grid-template-columns:1fr}.lottery-illustration{height:160px}.lottery-main-content{padding-right:0;min-height:0}.lottery-sideboxes{position:static;flex-direction:row;justify-content:center;margin-top:12px}.lottery-winning-number span{font-size:46px}.lottery-brand.big{font-size:30px}.lottery-date{font-size:19px}}
