:root{--ink:#18332d;--muted:#687873;--paper:#f5f7f2;--card:#fff;--line:#dfe7e2;--green:#176b55;--green2:#0e5140;--mint:#dff1e8;--orange:#ff5b24;--danger:#a13b35;--shadow:0 12px 35px rgba(25,55,46,.08)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;max-width:1120px;margin:auto;padding:0 22px}.brand{font-size:25px;font-weight:850;letter-spacing:-1px;color:var(--ink);text-decoration:none}.brand span{color:var(--orange)}.page{max-width:1080px;margin:auto;padding:42px 22px 90px}footer{text-align:center;color:var(--muted);padding:30px}h1{font-size:clamp(2.25rem,7vw,4.8rem);line-height:.98;letter-spacing:-.055em;margin:12px 0 18px}h2{letter-spacing:-.025em;margin:5px 0}h3{font-size:1.25rem}.lead{font-size:1.14rem;color:var(--muted);max-width:650px}.eyebrow{font-weight:750;text-transform:uppercase;letter-spacing:.11em;font-size:.75rem;color:var(--green)}.narrow{max-width:600px;margin:auto}.hero{padding-top:8vh}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.form{display:grid;gap:18px;margin-top:28px}.form label{display:grid;gap:7px;font-weight:700;font-size:.9rem}.form input,.form textarea,.form select{width:100%;border:1px solid #cbd8d1;background:#fff;border-radius:12px;padding:13px 14px;font:inherit;color:var(--ink);outline:none}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,107,85,.12)}button,.primary,.secondary{border:0;border-radius:12px;padding:12px 17px;font:inherit;font-weight:750;cursor:pointer;text-decoration:none;text-align:center}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green2)}.secondary{background:#e5ece8;color:var(--ink)}.link-button{background:transparent;color:var(--muted)}.code-input{font-size:2rem!important;letter-spacing:.3em;text-align:center}.notice{border-radius:14px;padding:14px 16px;margin:20px 0}.warning{background:#fff4d8;color:#6b5315}.danger{background:#fae5e3;color:#812c28}.code{font-size:1.25rem;font-weight:800;letter-spacing:.16em}.heading-row,.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-title{margin:46px 0 15px}.section-title span{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:15px}.cards .card{min-height:125px}.card-link{display:flex;align-items:center;gap:16px;color:inherit;text-decoration:none;transition:.2s}.card-link:hover,.raffle-card:hover{transform:translateY(-2px);border-color:#b8cbc1}.card-link .arrow{font-size:1.6rem;margin-left:auto}.avatar{width:48px;height:48px;background:var(--mint);border-radius:14px;display:grid;place-items:center;font-size:1.25rem;font-weight:800}.card p{margin:4px 0;color:var(--muted)}.panel{margin-top:20px}.panel summary{cursor:pointer;font-size:1.12rem;font-weight:800}.two-col{grid-template-columns:1fr 1fr}.full{grid-column:1/-1}.split{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}.stats div{background:var(--mint);padding:18px;border-radius:16px}.stats strong,.stats span{display:block}.stats strong{font-size:1.5rem}.stats span{color:var(--muted);font-size:.85rem}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:750;font-size:.74rem;background:#e7ebe9;color:#46534f}.status.active,.status.paid{background:#dcefe5;color:#0d6349}.status.closed,.status.rejected{background:#f5dfdd;color:#893d37}.status.drawn{background:#e7e2f5;color:#54418a}.status.claimed{background:#fff0cb;color:#775914}.actions{display:flex;gap:12px;margin:25px 0}.danger-button{background:#f5dfdd;color:var(--danger)}.table-wrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;min-width:590px}th,td{text-align:left;padding:15px;border-bottom:1px solid var(--line)}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}td small{display:block;color:var(--muted)}.inline-actions{display:flex;gap:6px}.small{padding:7px 10px;font-size:.8rem}.ghost{background:#edf1ef;color:var(--ink)}.back{display:inline-block;color:var(--green);font-weight:700;text-decoration:none;margin-bottom:28px}.qr{display:block;width:180px;max-width:100%;margin:20px auto}.full-button{display:block;width:100%;margin:12px 0}.plain-list{padding-left:18px}.public-hero{text-align:center;padding:4vh 0}.public-hero .lead{margin-inline:auto}.org-logo{display:block;width:100px;height:100px;object-fit:contain;margin:0 auto 20px}.raffle-card{display:block;color:inherit;text-decoration:none;transition:.2s}.raffle-card .price{font-size:2rem;font-weight:850;margin:20px 0}.raffle-card .price span{font-size:.85rem;color:var(--muted);font-weight:500}.prize-box{margin:30px 0}.prize-box ol{padding-left:22px}.purchase{margin-top:20px}.total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px}.total strong{font-size:1.65rem}.vipps-button{background:var(--orange);color:#fff}.fineprint{font-size:.78rem!important}.payment-card{text-align:center;margin:28px 0}.payment-card>strong{display:block;font-size:2.6rem;margin:4px 0 20px}.payment-card dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:10px 0}.payment-card dt{color:var(--muted)}.payment-card dd{font-weight:700}.winner-list{list-style:none;padding:0}.winner-list li{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0}.empty{padding:28px;border:1px dashed #bdcbc4;border-radius:18px;color:var(--muted)}@media(max-width:650px){.page{padding-top:25px}.heading-row{align-items:flex-start;flex-direction:column}.two-col,.split{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats div:last-child{grid-column:1/-1}.card{padding:18px}.section-title{align-items:center}.public-hero{padding-top:1vh}.actions{flex-direction:column}.actions form,.actions button{width:100%}}
