:root{--blue:#1764d2;--cyan:#3ad8df;--ink:#17324a;--muted:#6c8193;--line:#dbe8f1;--bg:#f4f9fd;--white:#fff;--danger:#b42318;--success:#137a4f;--shadow:0 18px 50px rgba(23,65,102,.10)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--blue);text-decoration:none}img{max-width:100%}.container{width:min(1180px,calc(100% - 32px));margin:auto}.public-shell{min-height:100vh;background:radial-gradient(circle at 15% 10%,#dff8ff 0,transparent 28%),radial-gradient(circle at 95% 0,#dfeaff 0,transparent 25%),linear-gradient(180deg,#fafdff,#f3f9fd);padding:28px 0}.public-card{max-width:820px;margin:0 auto;background:#fff;border:1px solid #e6eff6;border-radius:26px;box-shadow:var(--shadow);overflow:hidden}.public-head{padding:30px 34px 20px;text-align:center;border-bottom:1px solid #eef4f8}.public-logo{width:430px;max-width:90%;display:block;margin:0 auto 18px}.public-head h1{font-size:clamp(26px,4vw,38px);margin:0 0 8px}.public-head p{margin:0;color:var(--muted);font-size:16px}.form-wrap{padding:28px 34px 34px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field.full{grid-column:1/-1}.field label{display:block;font-size:14px;font-weight:700;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #cadce9;border-radius:11px;background:#fff;color:var(--ink);font:inherit;outline:none;transition:.15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#4aa5e9;box-shadow:0 0 0 4px #2d8ee517}.field small{display:block;color:var(--muted);margin-top:6px}.check{display:flex;gap:10px;align-items:flex-start;background:#f8fbfd;border:1px solid var(--line);padding:14px;border-radius:12px}.check input{margin-top:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:12px 18px;font-weight:800;font:inherit;cursor:pointer;transition:.15s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(90deg,var(--blue),#2b8edd 55%,var(--cyan));color:#fff;box-shadow:0 10px 24px #1764d22d}.btn-light{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn-danger{background:#fff0ef;color:var(--danger);border:1px solid #ffd3cf}.btn-success{background:#eafaf2;color:var(--success);border:1px solid #c8edda}.btn-block{width:100%;padding:15px}.note{padding:13px 15px;border-radius:11px;margin-bottom:18px}.note.success{background:#eafaf2;color:#126c47}.note.error{background:#fff0ef;color:#9d271e}.admin-layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:18px 14px;position:sticky;top:0;height:100vh}.brand{padding:6px 8px 18px;border-bottom:1px solid #edf3f7;margin-bottom:12px}.brand img{width:190px}.nav a{display:flex;padding:11px 12px;border-radius:10px;color:#3d5669;font-weight:650;margin:3px 0}.nav a:hover,.nav a.active{background:#edf7ff;color:var(--blue)}.nav .sep{height:1px;background:#edf3f7;margin:12px 6px}.admin-main{padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.topbar h1{margin:0;font-size:28px}.topbar .muted{color:var(--muted);font-size:14px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat{background:#fff;border:1px solid #e2ecf3;border-radius:16px;padding:20px;box-shadow:0 8px 24px #1749660a}.stat .label{color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.stat .value{font-size:32px;font-weight:850;margin-top:5px}.panel{background:#fff;border:1px solid #e2ecf3;border-radius:16px;padding:20px;box-shadow:0 8px 24px #1749660a;margin-bottom:18px}.panel h2{margin:0 0 16px;font-size:19px}.actions{display:flex;flex-wrap:wrap;gap:10px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:11px 10px;border-bottom:1px solid #edf3f7;white-space:nowrap}.table th{color:#597084;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:750}.badge.public{background:#eaf5ff;color:#1764d2}.badge.manual{background:#f1efff;color:#6548bf}.badge.quick{background:#fff3df;color:#a15c00}.badge.ok{background:#eafaf2;color:#137a4f}.badge.off{background:#f2f4f6;color:#667085}.searchbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.searchbar input,.searchbar select{padding:10px 12px;border:1px solid #cfe0ec;border-radius:9px;min-width:180px}.raffle-shell{min-height:calc(100vh - 56px);border-radius:24px;background:radial-gradient(circle at 25% 10%,#123c72 0,#0c2445 35%,#08192e 100%);color:#fff;padding:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;position:relative}.raffle-logo{width:420px;max-width:70%;filter:drop-shadow(0 8px 22px #0004);background:#fff;border-radius:16px;padding:10px;margin-bottom:20px}.raffle-shell h2{font-size:clamp(28px,4vw,50px);margin:0 0 10px}.raffle-shell p{color:#c8d7e8}.raffle-controls{width:min(660px,100%);display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}.raffle-controls input{min-width:280px;padding:13px 14px;border-radius:11px;border:1px solid #ffffff33;background:#ffffff12;color:#fff}.raffle-controls input::placeholder{color:#bfd0e0}.countdown{font-size:clamp(100px,24vw,260px);line-height:1;font-weight:950;letter-spacing:-.08em;text-shadow:0 0 35px #43dbe866;display:none}.winner{display:none;width:min(900px,100%)}.winner .small{font-size:16px;color:#9fdde8;text-transform:uppercase;letter-spacing:.2em}.winner .name{font-size:clamp(40px,8vw,92px);font-weight:950;line-height:1.03;margin:14px 0}.winner .crm{font-size:22px;color:#dce9f5}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef7ff,#f9ffff)}.login-card{width:min(460px,100%);background:#fff;border:1px solid #e2ecf3;border-radius:22px;box-shadow:var(--shadow);padding:28px}.login-card img{display:block;width:330px;max-width:90%;margin:0 auto 18px}.login-card h1{text-align:center;margin:0 0 20px}.muted{color:var(--muted)}.footer-note{text-align:center;color:#8aa0b1;font-size:12px;margin-top:16px}.hamb{display:none}@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.sidebar{height:auto;position:relative;border-right:0;border-bottom:1px solid var(--line)}.nav{display:flex;flex-wrap:wrap}.brand img{width:170px}.admin-main{padding:20px}}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-wrap,.public-head{padding-left:20px;padding-right:20px}.cards{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start;flex-direction:column}.admin-main{padding:14px}.raffle-shell{padding:20px}.raffle-logo{max-width:90%}}@media(max-width:460px){.cards{grid-template-columns:1fr}.public-shell{padding:12px 0}.public-card{border-radius:18px;width:calc(100% - 16px)}.raffle-controls input{min-width:100%;width:100%}}

.powered-footer{text-align:center;color:#8aa0b1;font-size:12px;margin:18px 0 4px}.powered-footer a{font-weight:750;color:#5d7890}.powered-footer a:hover{color:var(--blue)}.inline-form{display:inline}.user-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn-sm{padding:8px 10px;font-size:12px;border-radius:8px}


.qr-panel{max-width:820px;margin:0 auto;text-align:center}.qr-preview{display:flex;flex-direction:column;align-items:center;gap:10px;margin:18px 0 22px}.qr-box{display:flex;justify-content:center;align-items:center;padding:20px;background:#fff;border:1px solid #dfeaf3;border-radius:20px;box-shadow:0 10px 26px rgba(23,73,102,.06);width:fit-content;margin:0 auto}.qr-url{margin:0;color:var(--muted)}.print-sheet{display:none}.print-brand{font-size:44px;font-weight:950;letter-spacing:.08em;color:#17324a;text-transform:uppercase}.print-title{font-size:26px;font-weight:800;color:#1764d2;margin:14px 0 28px}.print-qr{display:flex;justify-content:center;align-items:center;background:#fff;padding:26px;border:3px solid #17324a;border-radius:24px}.qr-no-print{}

@media print{
  @page{size:A4 portrait;margin:10mm}
  body{background:#fff !important}
  .sidebar,.topbar,.powered-footer,.qr-screen-only,.qr-no-print{display:none !important}
  .admin-layout,.admin-main{display:block !important;min-height:auto !important;padding:0 !important;margin:0 !important}
  .panel.qr-panel{border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important;max-width:none !important;background:transparent !important}
  .print-sheet{display:flex !important;min-height:calc(100vh - 20mm);flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12mm 8mm}
  .print-sheet *{visibility:visible}
  .print-brand{font-size:58px}
  .print-title{font-size:30px;margin:16px 0 34px}
}
