:root{font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#203c35;background:#f3f6f3;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:#126b59;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:12px}h2{font-size:18px;margin-bottom:18px}h3{font-size:15px}p{line-height:1.7}button{border:0}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;border:1px solid #dce4df;background:#fff;border-radius:10px;padding:13px;color:#203c35;outline:none;min-height:46px}input:focus,select:focus,textarea:focus{border-color:#13866d!important;box-shadow:0 0 0 3px #15826c16}input[type=checkbox]{accent-color:#126b59;width:17px;height:17px;flex-shrink:0}label{display:block;font-weight:600;margin-bottom:19px}label>input,label>textarea{margin-top:9px}fieldset{border:0;padding:0;margin:0}legend{font-weight:600;margin-bottom:12px}.shell{max-width:560px;margin:auto;padding:0 22px 24px}.topbar{display:flex;justify-content:space-between;align-items:center;height:88px;border-bottom:1px solid #dde6df;margin-bottom:35px}.brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:750;color:#174d40}.brand-icon{background:#126b59;color:#fff;border-radius:12px;width:38px;height:38px;display:grid;place-items:center;font-size:25px}.brand-sub{display:block;font-size:10px;font-weight:400;letter-spacing:1.5px;margin-top:1px}.top-meta{font-size:11px;color:#6c8279}.eyebrow{display:block;font-size:10px;letter-spacing:2px;font-weight:700;color:#718d7c;margin-bottom:15px}.intro{margin-bottom:28px}.intro p{color:#73847b;font-size:13px}.card{background:#fff;border:1px solid #e1e8e2;border-radius:18px;padding:28px;box-shadow:0 5px 20px #1c473004}.venue-strip{display:flex;align-items:center;gap:14px;margin-bottom:20px}.venue-strip strong{font-size:13px}.venue-strip p{font-size:11px;color:#708077;margin:5px 0 0}.pin{width:40px;height:40px;background:#e4eee5;border-radius:12px;display:grid;place-items:center;color:#126b59;font-size:24px;flex-shrink:0}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:22px;justify-content:space-between}.section-title h2,.section-title h3{margin:0;flex:1}.step{font-size:11px;color:#126b59;background:#edf5ef;border-radius:6px;padding:5px 6px}.second{margin-top:28px;padding-top:24px;border-top:1px solid #edf0ed}.slots{display:grid;gap:10px}.slot{display:flex;align-items:center;justify-content:space-between;position:relative;border:1px solid #dfe5df;border-radius:12px;padding:15px;margin:0;cursor:pointer}.slot strong{font-size:13px}.slot small{display:block;font-weight:400;font-size:11px;color:#75847b;margin-top:7px}.slot input{position:absolute;opacity:0}.slot:focus-within{outline:2px solid #126b59;outline-offset:2px}.slot.selected{border-color:#126b59;background:#f1f8f3}.slot.disabled{background:#f5f6f4;color:#8f9a92;cursor:not-allowed}.radio-dot{border:1px solid #cbd6ce;border-radius:50%;width:17px;height:17px;margin-left:8px;flex-shrink:0}.selected .radio-dot{border:5px solid #126b59}.location-box{display:flex;gap:12px;align-items:center;justify-content:space-between;background:#f7f9f6;border-radius:10px;padding:14px}.location-box strong{font-size:12px}.location-box p{font-size:11px;color:#78867b;margin:5px 0 0}.text-button{background:none;color:#126b59;white-space:nowrap;padding:6px;font-size:12px}.consent{display:flex;gap:9px;font-size:11px;font-weight:400;color:#758179;line-height:1.8;margin:20px 0}.consent input{margin:3px 0}.primary{background:#126b59;color:#fff;padding:14px 22px;border-radius:10px;font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:46px}.submit{width:100%;position:relative;justify-content:center;text-align:center;padding-inline:40px}.submit>span{position:absolute;inset-inline-end:22px}.small{font-size:11px;line-height:1.8}.muted{color:#7a887f}.center{text-align:center;margin:14px 0 0}footer{text-align:center;font-size:11px;color:#8a978d;margin-top:28px;line-height:2}footer a{display:block;margin-top:14px;color:#688075}.alert{border-radius:10px;padding:14px 18px;margin-bottom:18px;font-size:13px;line-height:1.8;display:flex;align-items:center;justify-content:space-between}.error{background:#fff0ed;color:#a54231}.success{background:#dfefe3;color:#246341}.warning{background:#faf0db;color:#8e6a26}.dismiss{background:none;color:inherit;font-size:20px;margin-left:10px}.ticket{text-align:center}.status-pill{display:inline-block;border-radius:20px;padding:5px 10px;background:#eaf5ed;color:#297653;font-size:11px;font-weight:600}.ticket-label{margin:26px 0 0;color:#6e8276;font-size:13px}.ticket-number{font-size:104px;line-height:1.35;font-weight:750;letter-spacing:-5px;color:#126b59;font-variant-numeric:tabular-nums}.ticket-details{border-top:1px dashed #dce5dc;margin-top:25px;padding-top:20px;text-align:left}.ticket-details>div{display:flex;justify-content:space-between;gap:16px;margin:16px 0;font-size:13px}.ticket-details span{color:#809084;flex-shrink:0}.ticket-details strong{text-align:right;font-weight:500}.note{background:#f5f8f2;padding:14px;border-radius:10px;font-size:12px;line-height:1.8;margin:23px 0}.admin-shell{max-width:1180px;padding:0 32px 45px}.admin-heading{display:flex;justify-content:space-between;align-items:center}.secondary{background:#fff;color:#365e4d;border:1px solid #d9e3da;border-radius:8px;padding:10px 16px;white-space:nowrap;min-height:40px}.tabs{display:flex;gap:28px;border-bottom:1px solid #dce5dd;margin:25px 0}.tabs button{background:transparent;padding:14px 2px;color:#7c8a80;border-bottom:2px solid transparent}.tabs button.active{color:#126b59;border-color:#126b59;font-weight:650}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px;margin-bottom:24px}.stat span{font-size:12px;color:#78877c}.stat strong{display:block;font-size:38px;margin-top:20px;font-weight:650}.stat small{font-size:12px;font-weight:400;color:#8c998e;margin-left:12px}.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.list-toolbar h2{margin:0;white-space:nowrap}.filters{display:flex;gap:10px}.filters input{max-width:210px}.filters select{max-width:200px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-weight:500;font-size:12px;background:#f7f9f6;color:#7d8a80;padding:15px}td{padding:18px 15px;border-bottom:1px solid #edf0eb;font-size:13px}.number-cell{font-weight:700;color:#126b59;letter-spacing:1px}.empty{text-align:center;padding:65px 0;color:#7c8d80}.empty>span{font-size:40px;color:#a6b9a8}.empty h3{margin:15px 0 8px}.empty p{font-size:12px}.login{max-width:430px;margin:70px auto}.login h1{font-size:26px}.login .primary{width:100%;margin:5px 0 22px}.login>a{display:block;text-align:center}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.settings-form{max-width:900px;margin:auto}.settings-form>.card{margin-bottom:20px}.pause{font-size:12px;display:flex;align-items:center;gap:8px;margin:0}.pause input{margin:0}.slot-editor{border-top:1px solid #e6ece5;padding:22px 0 0}.danger{color:#a95444}.save-bar{display:flex;justify-content:space-between;align-items:center;background:#e7eee6;padding:15px 22px;border-radius:12px;margin:20px 0;font-size:12px;color:#637763}.audit-row{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#748176;padding:13px 0;border-bottom:1px solid #edf0eb}.qr-card{text-align:center;max-width:480px;margin:30px auto}.qr-card img{display:block;margin:25px auto;max-width:100%;height:auto}.qr-card .primary{margin:10px 0 15px}.loading{text-align:center;color:#76867a;padding:60px 0}@media(max-width:700px){.admin-shell{padding:0 18px 30px}.admin-heading h1{font-size:25px}.admin-heading p{font-size:11px}.list-toolbar{align-items:stretch;flex-direction:column}.filters{flex-wrap:wrap}.filters input{max-width:none;flex:1;min-width:140px}.filters select{flex:1;min-width:120px}.list-card{padding:18px}.stats{gap:10px;grid-template-columns:repeat(2,1fr)}.stat{padding:18px}.stat strong{font-size:32px}.grid{grid-template-columns:1fr}.audit-row{flex-direction:column;gap:5px}.top-meta{font-size:10px}.card{padding:23px}.topbar{margin-bottom:28px}.slot strong{font-size:12px}.login{margin:35px auto}.ticket-number{font-size:94px}}body:has(.checkin-shell){background:radial-gradient(ellipse at top,#ffe5ee,#fff6f8 550px);color:#572a3d}.checkin-shell .topbar{border-color:#f3ceda;margin-bottom:22px}.checkin-shell .brand,.checkin-shell a,.checkin-shell .text-button{color:#922747}.checkin-shell .brand-icon,.checkin-shell .primary{background:#a82851}.mascot-hero{text-align:center;border-radius:28px;padding:15px 16px 20px;background:linear-gradient(145deg,#ffe9f2,#fff0ec);border:1px solid #f5cfde}.mascot-hero img{display:block;width:min(56%,220px);height:auto;margin:0 auto 10px}.mascot-hero h1{color:#732844;margin-bottom:0;overflow-wrap:anywhere}.mascot-hero p{margin:8px 0 0}.checkin-shell .card{border:1px solid #f2d8e2;border-radius:24px;box-shadow:0 8px 24px #9d315611}.checkin-shell .venue-strip{background:#fff0f5;padding:12px;border-radius:16px}.checkin-shell .pin,.checkin-shell .status-pill{background:#fce1ec;color:#8b294b}.checkin-shell .muted,.checkin-shell .intro p,.checkin-shell .venue-strip p,.checkin-shell .slot small,.checkin-shell .location-box p,.checkin-shell .consent,.checkin-shell .ticket-details span{color:#76515f}.checkin-shell .slot,.checkin-shell input:not([type=checkbox]):not([type=radio]){border-color:#edcfd9;border-radius:14px}.checkin-shell .slot.selected{border-color:#aa335a;background:#fff0f5}.checkin-shell .slot.disabled{background:#fcf6f8;color:#76515f}.checkin-shell .selected .radio-dot{border-color:#aa335a}.checkin-shell input[type=checkbox]{accent-color:#a82851}.checkin-shell input:focus{border-color:#aa335a!important;box-shadow:0 0 0 3px #aa335a22}.checkin-shell .slot:focus-within{outline-color:#aa335a}.checkin-shell .location-box,.checkin-shell .note{background:#fff1f6;border-radius:14px}.checkin-shell .primary{border-radius:16px}.checkin-shell .ticket-number{color:#a82851}.password-form{max-width:460px}.admin-shell .tabs{gap:clamp(12px,4vw,28px);flex-wrap:wrap}
