.tokuspi-submit-shell{--ts-gold:#b89243;--ts-red:#b5121b;--ts-ink:#171717;--ts-paper:#fbfaf7;--ts-muted:#6a6d72;max-width:920px;margin:42px auto;padding:0 16px;color:var(--ts-ink)}
.tokuspi-submit-card{background:#fff;border:1px solid #e6e1d7;border-radius:22px;box-shadow:0 18px 55px rgba(20,20,20,.08);overflow:hidden}
.tokuspi-submit-topline{display:flex;justify-content:space-between;gap:12px;padding:15px 22px;background:#171717;color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tokuspi-submit-topline span:last-child{color:#d8b86b}.tokuspi-submit-progress{height:5px;background:#ece8df}.tokuspi-submit-progress i{display:block;height:100%;background:linear-gradient(90deg,#b5121b,#b89243);transition:width .25s ease}
.tokuspi-submit-body{padding:34px clamp(20px,5vw,56px) 30px}.tokuspi-wizard-step{display:none}.tokuspi-wizard-step.is-active{display:block;animation:tokuspiStepIn .18s ease}@keyframes tokuspiStepIn{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}
.tokuspi-submit-brand,.tokuspi-submit-kicker{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--ts-red);margin-bottom:8px}.tokuspi-submit-card h1,.tokuspi-submit-card h2{font-family:Georgia,'Times New Roman',serif;line-height:1.08;color:#171717;margin:0 0 14px}.tokuspi-submit-card h1{font-size:clamp(32px,5vw,50px)}.tokuspi-submit-card h2{font-size:clamp(28px,4vw,40px)}.tokuspi-submit-card p{font-size:16px;line-height:1.65;color:#4e5359}.tokuspi-submit-lead{font-size:18px!important}.tokuspi-submit-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#171717;color:#dabb70;font-size:26px;font-weight:900;margin-bottom:18px}
.tokuspi-event-summary{display:grid;gap:4px;background:#f7f3e9;border-left:4px solid var(--ts-gold);padding:15px 18px;border-radius:10px;margin:20px 0}.tokuspi-event-summary strong{font-size:18px}.tokuspi-event-summary span{font-weight:700}.tokuspi-event-summary small{color:#62656a}.tokuspi-submit-callout{padding:16px 18px;border-radius:12px;background:#fff6df;border:1px solid #ecd59e;color:#3f3522;line-height:1.5;margin:18px 0}.tokuspi-submit-callout.soft{background:#f7f7f5;border-color:#e6e3dd}.tokuspi-help-strip{padding:15px 22px;text-align:center;background:#f5f2eb;border-top:1px solid #e9e4d9;color:#666;font-size:13px;font-weight:700}
.tokuspi-submit-field{display:block;margin:18px 0}.tokuspi-submit-field>span{display:flex;justify-content:space-between;gap:10px;font-weight:800;font-size:14px;margin-bottom:7px}.tokuspi-submit-field em,.tokuspi-payment-option em{font-style:normal;font-weight:600;color:#8b8e92;font-size:12px}.tokuspi-submit-field input,.tokuspi-submit-field select,.tokuspi-submit-field textarea,.tokuspi-payment-option input[type=text]{width:100%;border:1px solid #cfcfcf;border-radius:12px;padding:14px 14px;background:#fff;color:#171717;font-size:16px;line-height:1.3;box-shadow:none}.tokuspi-submit-field input:focus,.tokuspi-submit-field select:focus,.tokuspi-submit-field textarea:focus,.tokuspi-payment-option input[type=text]:focus{border-color:#b89243;outline:3px solid rgba(184,146,67,.14)}.tokuspi-submit-field small{display:block;color:#777;margin-top:5px;line-height:1.4}.tokuspi-submit-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.is-hidden{display:none!important}
.tokuspi-submit-actions{display:flex;gap:12px;justify-content:space-between;margin-top:26px}.tokuspi-submit-primary,.tokuspi-submit-secondary{appearance:none;border:0;border-radius:12px;padding:14px 20px;min-height:50px;font-size:15px;font-weight:900;cursor:pointer}.tokuspi-submit-primary{background:#b5121b;color:#fff;margin-left:auto}.tokuspi-submit-secondary{background:#efede8;color:#202020}.tokuspi-submit-primary[disabled],.tokuspi-submit-secondary[disabled]{opacity:.55;cursor:not-allowed}.tokuspi-submit-error{display:none;background:#fff0f0;color:#9b151c;border:1px solid #efc6c8;border-radius:10px;padding:11px 13px;margin:12px 0;font-weight:700}.tokuspi-submit-error.is-visible{display:block}
.tokuspi-count-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.tokuspi-count-grid button{border:1px solid #d9d6d0;background:#fff;border-radius:14px;padding:22px 10px;font-size:27px;font-weight:900;cursor:pointer}.tokuspi-count-grid button small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7b7e82;margin-top:3px}.tokuspi-count-grid button.is-selected{border-color:#b89243;background:#fbf4df;box-shadow:0 0 0 2px rgba(184,146,67,.12)}
.tokuspi-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tokuspi-card-fields .tokuspi-submit-field{margin:0}
.tokuspi-photo-guide{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.tokuspi-photo-guide>div{border:1px solid #dedbd4;border-radius:14px;padding:14px;text-align:center}.tokuspi-photo-guide b{display:block;font-size:12px;letter-spacing:.09em;margin-bottom:10px}.tokuspi-photo-guide .good b{color:#177443}.tokuspi-photo-guide .bad b{color:#b5121b}.guide-box{display:block;position:relative;aspect-ratio:1.55/1;border:2px solid #cfcfcf;border-radius:8px;background:linear-gradient(145deg,#f7f7f7,#ececec);overflow:hidden}.guide-box i{position:absolute;inset:18% 15%;border:3px solid #777;border-radius:5px}.bad .guide-box i{inset:5% -8% 20% 25%;transform:rotate(-8deg)}.bad .guide-box:after{content:'✦';position:absolute;right:20%;top:20%;font-size:40px;color:rgba(255,255,255,.9);text-shadow:0 0 12px #fff}.tokuspi-photo-guide small{display:block;margin-top:9px;line-height:1.35;color:#666}.tokuspi-photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0}.tokuspi-photo-thumb{position:relative;border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#f4f4f4;aspect-ratio:1/1}.tokuspi-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.tokuspi-photo-thumb span{position:absolute;left:5px;bottom:5px;background:rgba(0,0,0,.75);color:#fff;border-radius:5px;padding:3px 6px;font-size:9px;font-weight:800}.tokuspi-photo-thumb button{position:absolute;right:5px;top:5px;border:0;border-radius:50%;width:28px;height:28px;background:rgba(0,0,0,.75);color:#fff;font-size:20px;line-height:1;cursor:pointer}.tokuspi-photo-upload{display:grid;place-items:center;text-align:center;border:2px dashed #b89243;border-radius:14px;padding:22px;background:#fffaf0;cursor:pointer}.tokuspi-photo-upload input{position:absolute;opacity:0;width:1px;height:1px}.tokuspi-photo-upload span{font-size:16px;font-weight:900}.tokuspi-photo-upload small{color:#777;margin-top:4px}.tokuspi-photo-upload.is-disabled{opacity:.5;cursor:not-allowed}.tokuspi-photo-counter{text-align:center;font-size:12px;font-weight:800;color:#666;margin-top:8px}
.tokuspi-review-list{display:grid;gap:12px}.tokuspi-review-item{display:grid;grid-template-columns:104px 1fr;gap:16px;border:1px solid #e2dfd8;border-radius:14px;padding:12px}.tokuspi-review-photo{height:104px;background:#f3f3f3;border-radius:9px;overflow:hidden}.tokuspi-review-photo img{width:100%;height:100%;object-fit:cover}.tokuspi-review-item small{color:#b5121b;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.tokuspi-review-item h3{margin:3px 0 4px;font-size:20px}.tokuspi-review-item p{margin:0!important;font-size:14px!important}.tokuspi-review-item span{display:block;color:#696d72;font-size:13px;margin-top:5px}.tokuspi-review-item b{display:inline-block;font-size:11px;background:#f2efe7;border-radius:999px;padding:5px 8px;margin-top:8px}
.tokuspi-payment-total{background:#171717;color:#fff;border-radius:15px;padding:18px 20px;margin:18px 0;display:grid;gap:3px}.tokuspi-payment-total span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#d9c08b}.tokuspi-payment-total strong{font-size:30px}.tokuspi-payment-total small{color:#cfcfcf}.tokuspi-payment-methods{display:grid;gap:12px}.tokuspi-payment-option{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:16px;border:1px solid #dedbd5;border-radius:14px;cursor:pointer}.tokuspi-payment-option.is-selected{border-color:#b89243;background:#fffaf0;box-shadow:0 0 0 2px rgba(184,146,67,.1)}.tokuspi-payment-option input[type=radio]{margin-top:4px}.tokuspi-payment-option strong{display:block;font-size:16px}.tokuspi-payment-option small{display:block;color:#62666b;line-height:1.45;margin-top:3px}.tokuspi-payment-option label{display:block;margin-top:12px;font-size:12px;font-weight:800}.tokuspi-payment-option label input{margin-top:5px}.tokuspi-payment-link{display:inline-block;margin-top:12px;background:#171717;color:#fff!important;text-decoration:none;border-radius:9px;padding:10px 13px;font-weight:800}.tokuspi-local-pay-qr{display:block;width:min(220px,100%);height:auto;margin:12px 0;border:1px solid #ddd;padding:6px;background:#fff;border-radius:8px}
.tokuspi-complete-reference{border:1px solid #e0d9ca;border-radius:14px;padding:17px;text-align:center;background:#fffaf1;margin:20px 0}.tokuspi-complete-reference span{display:block;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.1em;color:#756846}.tokuspi-complete-reference strong{display:block;font-size:34px;letter-spacing:.04em;margin-top:4px}.tokuspi-staff-qr{text-align:center;margin:20px auto;max-width:340px}.tokuspi-staff-qr img{display:block;width:min(260px,80vw);height:auto;margin:0 auto 10px;border:1px solid #ddd;padding:7px;background:#fff;border-radius:10px}.tokuspi-staff-qr strong,.tokuspi-staff-qr small{display:block}.tokuspi-staff-qr small{color:#777;margin-top:4px}
.tokuspi-event-picker{padding:34px clamp(20px,5vw,50px)}.tokuspi-event-choice-list{display:grid;gap:12px;margin-top:22px}.tokuspi-event-choice{display:grid;grid-template-columns:1fr auto;gap:4px 12px;border:1px solid #dfdcd5;border-radius:14px;padding:16px 18px;text-decoration:none!important;color:#171717!important}.tokuspi-event-choice strong{font-size:18px}.tokuspi-event-choice span,.tokuspi-event-choice small{grid-column:1;color:#5e6266}.tokuspi-event-choice b{grid-column:2;grid-row:1/4;align-self:center;color:#b5121b}.tokuspi-event-choice:hover{border-color:#b89243;background:#fffaf0}
/* Staff portal submission extensions */
.tokuspi-submission-staff-list{display:grid;gap:10px}.tokuspi-submission-staff-card{display:flex;justify-content:space-between;gap:20px;padding:15px 17px;border:1px solid #e0ddd6;border-radius:12px;text-decoration:none!important;color:inherit!important;background:#fff}.tokuspi-submission-staff-card:hover{border-color:#b89243}.tokuspi-submission-staff-card>div{display:grid;gap:3px}.tokuspi-submission-staff-card>div:last-child{text-align:right}.tokuspi-submission-staff-card span,.tokuspi-submission-staff-card small{color:#666}.tokuspi-submission-staff-card .status{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.tokuspi-submission-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.tokuspi-submission-summary-grid>div{padding:15px;border:1px solid #e2dfd8;border-radius:12px;background:#fff}.tokuspi-submission-summary-grid span,.tokuspi-submission-summary-grid small{display:block;color:#6c7074}.tokuspi-submission-summary-grid strong{display:block;font-size:20px;margin:3px 0}.tokuspi-submission-review-grid{display:grid;grid-template-columns:minmax(280px,42%) 1fr;gap:20px}.tokuspi-submission-review-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tokuspi-submission-photo-preview{position:relative;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#eee}.tokuspi-submission-photo-preview img{width:100%;height:100%;object-fit:cover}.tokuspi-submission-photo-preview span{position:absolute;left:5px;bottom:5px;background:#111;color:#fff;padding:3px 5px;border-radius:4px;font-size:9px}.tokuspi-submission-details{display:grid;grid-template-columns:145px 1fr;gap:7px 12px;margin:0}.tokuspi-submission-details dt{font-weight:800;color:#666}.tokuspi-submission-details dd{margin:0}.tokuspi-submission-action-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:15px}.tokuspi-inline-form{margin:0}.tokuspi-submission-confirmed{font-weight:800;color:#176b3e}.tokuspi-submission-muted{color:#777;font-size:13px}.tokuspi-submission-delivery{margin-top:12px;padding:10px 12px;background:#f6f4ef;border-radius:8px}.tokuspi-admin-backlink{font-size:13px;text-decoration:none}
@media(max-width:700px){.tokuspi-submit-shell{margin:18px auto;padding:0 10px}.tokuspi-submit-card{border-radius:16px}.tokuspi-submit-body{padding:25px 17px}.tokuspi-submit-topline{padding:13px 16px}.tokuspi-submit-card h1{font-size:34px}.tokuspi-submit-card h2{font-size:30px}.tokuspi-submit-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);padding:12px 0 3px;z-index:5}.tokuspi-submit-primary,.tokuspi-submit-secondary{padding:13px 15px}.tokuspi-count-grid{grid-template-columns:repeat(2,1fr)}.tokuspi-card-fields{grid-template-columns:1fr}.tokuspi-photo-guide{grid-template-columns:1fr 1fr;gap:8px}.tokuspi-photo-guide>div{padding:9px}.tokuspi-photo-grid{grid-template-columns:repeat(3,1fr)}.tokuspi-review-item{grid-template-columns:82px 1fr}.tokuspi-review-photo{height:82px}.tokuspi-submission-summary-grid{grid-template-columns:1fr}.tokuspi-submission-review-grid{grid-template-columns:1fr}.tokuspi-submission-staff-card{flex-direction:column}.tokuspi-submission-staff-card>div:last-child{text-align:left}.tokuspi-submission-details{grid-template-columns:1fr}.tokuspi-submission-details dt{margin-top:4px}.tokuspi-submission-review-photos{grid-template-columns:repeat(3,1fr)}}
/* v0.9.58 separated main/supporting photo flow */
.tokuspi-photo-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.tokuspi-photo-choice-row .tokuspi-photo-upload{min-height:104px;align-content:center;position:relative}.tokuspi-main-photo-slot{margin:18px 0}.tokuspi-main-photo-empty{border:2px dashed #d7d2c6;border-radius:14px;padding:24px;text-align:center;background:#faf9f6}.tokuspi-main-photo-empty strong,.tokuspi-main-photo-empty small{display:block}.tokuspi-main-photo-empty small{margin-top:5px;color:#777}.tokuspi-main-photo-preview{display:grid;grid-template-columns:minmax(130px,220px) 1fr;gap:18px;align-items:center;border:1px solid #dedbd4;border-radius:14px;padding:13px;background:#fff}.tokuspi-main-photo-preview img{width:100%;max-height:250px;object-fit:contain;border-radius:9px;background:#f3f3f3}.tokuspi-main-photo-preview strong,.tokuspi-main-photo-preview small{display:block}.tokuspi-main-photo-preview small{color:#6b6e72;margin-top:4px}.tokuspi-remove-photo{margin-top:12px;border:1px solid #cfcac0;background:#fff;border-radius:9px;padding:9px 11px;font-weight:800;cursor:pointer}.tokuspi-remove-photo:hover{border-color:#b5121b;color:#b5121b}.tokuspi-support-photo-grid:empty:before{content:'No supporting photos added yet. You can continue without them.';grid-column:1/-1;display:block;border:1px dashed #d7d2c6;border-radius:12px;padding:18px;text-align:center;color:#777;background:#faf9f6}.tokuspi-photo-upload input:disabled+span{opacity:.55}.tokuspi-photo-upload.is-disabled{pointer-events:none}.tokuspi-photo-upload span{display:block}.tokuspi-photo-upload small{display:block}
@media(max-width:700px){.tokuspi-photo-choice-row{grid-template-columns:1fr}.tokuspi-main-photo-preview{grid-template-columns:1fr}.tokuspi-main-photo-preview img{max-height:320px}}


/* v0.9.73 Premium interactive self-submission experience */
#tokuspi-submission-root{--ts-red:#b5121b;--ts-red2:#7f0710;--ts-gold:#d8b45b;--ts-gold2:#9c7425;--ts-ink:#161616;--ts-soft:#f7f3e9}
.tokuspi-submit-card{overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.14);border:1px solid rgba(158,119,37,.24)}
.tokuspi-submit-topline{background:linear-gradient(110deg,#0d0d0d,#272018);color:#fff}.tokuspi-submit-progress{height:7px;background:#e9e3d7}.tokuspi-submit-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--ts-red),#e13a34,var(--ts-gold));box-shadow:0 0 18px rgba(181,18,27,.4);transition:width .38s cubic-bezier(.2,.8,.2,1)}
.tokuspi-wizard-step{animation:tokuspiStepIn .28s ease both}@keyframes tokuspiStepIn{from{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:none}}
.tokuspi-submit-kicker{color:var(--ts-red)!important;letter-spacing:.13em}.tokuspi-success-orb{background:radial-gradient(circle at 35% 28%,#fff7cc,var(--ts-gold) 38%,#9f7121 75%);color:#2d210b!important;border:3px solid #f7e2a5;box-shadow:0 9px 30px rgba(181,137,44,.33),inset 0 2px 4px rgba(255,255,255,.85)}
.tokuspi-submit-primary,.tokuspi-submit-secondary{min-height:54px;border-radius:14px;font-weight:950;letter-spacing:.035em;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.tokuspi-submit-primary{border:1px solid #69070d!important;background:linear-gradient(180deg,#d12730 0%,var(--ts-red) 52%,var(--ts-red2) 100%)!important;color:#fff!important;box-shadow:0 6px 0 #62070d,0 11px 22px rgba(130,8,15,.22),inset 0 1px rgba(255,255,255,.32);text-shadow:0 1px 1px rgba(0,0,0,.2)}.tokuspi-submit-primary:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 7px 0 #62070d,0 13px 24px rgba(130,8,15,.24)}.tokuspi-submit-primary:active{transform:translateY(5px);box-shadow:0 1px 0 #62070d,0 5px 10px rgba(130,8,15,.2)}.tokuspi-submit-primary:disabled{filter:grayscale(.35);opacity:.45;box-shadow:0 3px 0 #777;transform:none}.tokuspi-submit-secondary{background:linear-gradient(#fff,#f2efe9)!important;border:1px solid #d5cec1!important;box-shadow:0 4px 0 #c9c0b2;color:#262626!important}.tokuspi-submit-secondary:active{transform:translateY(3px);box-shadow:0 1px 0 #c9c0b2}.tokuspi-hero-button{width:100%;display:flex!important;justify-content:center;gap:18px;align-items:center;font-size:18px;min-height:64px;margin-top:20px}.tokuspi-hero-button b{font-size:24px}.tokuspi-skip-button{background:linear-gradient(180deg,#403c36,#24211e)!important;border-color:#151311!important;box-shadow:0 6px 0 #111!important}
.tokuspi-count-grid button{border:1px solid #d8d0c2!important;background:linear-gradient(180deg,#fff,#f8f3e9)!important;border-radius:17px!important;min-height:100px;box-shadow:0 6px 0 #d1c6b4,0 9px 20px rgba(0,0,0,.07);transition:.14s ease}.tokuspi-count-grid button strong{font-size:31px;display:block}.tokuspi-count-grid button small{font-weight:900;letter-spacing:.09em}.tokuspi-count-grid button:hover{transform:translateY(-2px)}.tokuspi-count-grid button:active{transform:translateY(5px);box-shadow:0 1px 0 #d1c6b4}.tokuspi-count-grid button.is-selected{background:linear-gradient(160deg,#fff4cf,#e7c96e)!important;border-color:#b18a30!important;box-shadow:0 6px 0 #9b7625,0 0 0 3px rgba(216,180,91,.2);color:#3c2c0c}
.tokuspi-item-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.tokuspi-type-card{position:relative;display:grid;grid-template-columns:52px 1fr 28px;align-items:center;text-align:left;gap:10px;min-height:82px;padding:12px 14px;border:1px solid #ddd4c6;border-radius:17px;background:linear-gradient(180deg,#fff,#faf6ed);box-shadow:0 5px 0 #d8cfc0,0 8px 18px rgba(0,0,0,.06);cursor:pointer;transition:.14s ease;color:#1c1c1c}.tokuspi-type-card>span{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:#f1eadb;font-size:27px}.tokuspi-type-card strong{font-size:14px;line-height:1.18}.tokuspi-type-card i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-style:normal;background:#d8d3c9;color:#fff;opacity:.45}.tokuspi-type-card:hover{transform:translateY(-2px);border-color:#c7a754}.tokuspi-type-card:active{transform:translateY(4px);box-shadow:0 1px 0 #d8cfc0}.tokuspi-type-card.is-selected{border-color:#a98228;background:linear-gradient(150deg,#fff9e4,#ebce72);box-shadow:0 5px 0 #a27d2a,0 0 0 3px rgba(216,180,91,.18)}.tokuspi-type-card.is-selected i{opacity:1;background:#27814c}
.tokuspi-submit-field input,.tokuspi-submit-field select,.tokuspi-submit-field textarea{min-height:52px;border:1.5px solid #d6d0c5!important;border-radius:13px!important;background:#fff!important;padding:12px 13px!important;font-size:16px!important;box-shadow:inset 0 2px 4px rgba(0,0,0,.025);transition:.15s ease}.tokuspi-submit-field input:focus,.tokuspi-submit-field select:focus,.tokuspi-submit-field textarea:focus{border-color:#b48c34!important;box-shadow:0 0 0 4px rgba(216,180,91,.18)!important;outline:0}.tokuspi-submit-field>span{font-weight:850}.tokuspi-submit-field em{font-style:normal;color:#8a7443;font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin-left:5px}
.tokuspi-optional-banner{display:flex;gap:10px;align-items:center;padding:13px 15px;border-radius:14px;background:linear-gradient(120deg,#fff8dc,#fff);border:1px solid #e6cf8c;margin:15px 0 20px}.tokuspi-optional-banner b{background:#9b7422;color:#fff;border-radius:999px;padding:5px 9px;font-size:10px;letter-spacing:.08em}.tokuspi-optional-banner span{font-size:13px;color:#5b5036}
.tokuspi-signer-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.tokuspi-signer-quick-actions button{border:1px solid #d8cfbe;border-radius:999px;background:#fff;padding:9px 12px;font-weight:850;cursor:pointer}.tokuspi-signer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:16px 0}#tokuspi-submission-root .tokuspi-signer-card{display:grid;grid-template-columns:48px 1fr 28px;gap:10px;align-items:center;text-align:left;border:1px solid #ddd5c7;border-radius:16px;background:#fff;padding:11px;min-height:72px;box-shadow:0 4px 0 #d8d0c4;cursor:pointer;transition:.13s ease}.tokuspi-signer-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2d2a25,#0e0e0d);color:#e6c66e;font-weight:950;border:2px solid #d0ac52}#tokuspi-submission-root .tokuspi-signer-card strong,#tokuspi-submission-root .tokuspi-signer-card small{display:block}#tokuspi-submission-root .tokuspi-signer-card small{color:#777;margin-top:2px}#tokuspi-submission-root .tokuspi-signer-card i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ddd;color:#fff;font-style:normal}#tokuspi-submission-root .tokuspi-signer-card.is-selected{background:linear-gradient(145deg,#fff9df,#f0d47c);border-color:#a9852d;box-shadow:0 4px 0 #9d7928,0 0 0 3px rgba(216,180,91,.16)}#tokuspi-submission-root .tokuspi-signer-card.is-selected i{background:#247b49}.tokuspi-live-price{display:grid;grid-template-columns:1fr auto;align-items:center;border-radius:16px;background:linear-gradient(130deg,#171717,#2c251c);color:#fff;padding:15px 17px;margin:17px 0}.tokuspi-live-price span{font-weight:850}.tokuspi-live-price strong{font-size:24px;color:#f1d47d}.tokuspi-live-price small{grid-column:1/-1;color:#bbb;margin-top:3px}
.tokuspi-photo-upload{border:1px solid #cfaa4d!important;background:linear-gradient(160deg,#fffaf0,#f5e7ba)!important;box-shadow:0 5px 0 #bc9843,0 8px 18px rgba(126,89,13,.09);transition:.14s ease}.tokuspi-photo-upload:hover{transform:translateY(-2px)}.tokuspi-photo-upload:active{transform:translateY(4px);box-shadow:0 1px 0 #bc9843}.tokuspi-main-photo-preview{box-shadow:0 7px 25px rgba(0,0,0,.07)}
.tokuspi-review-item{border-color:#ded5c7!important;box-shadow:0 5px 18px rgba(0,0,0,.045);background:#fff}.tokuspi-review-signers{font-weight:800!important;color:#4e4130!important}.tokuspi-payment-option{box-shadow:0 4px 0 #ded8ce;transition:.13s ease}.tokuspi-payment-option.is-selected{box-shadow:0 4px 0 #a98734,0 0 0 3px rgba(216,180,91,.15)!important}.tokuspi-finalize-button{font-size:15px}.tokuspi-complete-step{text-align:center}.tokuspi-complete-step .tokuspi-submit-callout{text-align:left}.tokuspi-complete-step .tokuspi-success-orb{margin-left:auto;margin-right:auto;animation:tokuspiWin .65s cubic-bezier(.2,1.7,.4,1)}@keyframes tokuspiWin{0%{transform:scale(.3) rotate(-20deg);opacity:0}100%{transform:scale(1);opacity:1}}
.tokuspi-privacy-note{font-size:13px;color:#666}.is-hidden{display:none!important}
/* staff verification for multi-signer submissions */
.tokuspi-submission-signer-review{margin:16px 0;padding:14px;border:1px solid #ddd6ca;border-radius:12px;background:#faf8f3}.tokuspi-staff-signer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 12px}.tokuspi-staff-signer-grid label{display:flex;align-items:center;gap:9px;border:1px solid #ddd7cd;border-radius:9px;background:#fff;padding:9px;cursor:pointer}.tokuspi-staff-signer-grid b,.tokuspi-staff-signer-grid small{display:block}.tokuspi-staff-signer-grid small{color:#777}
@media(max-width:700px){.tokuspi-submit-body{padding:23px 15px 28px}.tokuspi-submit-card h1{font-size:31px}.tokuspi-submit-card h2{font-size:27px}.tokuspi-item-type-grid,.tokuspi-signer-grid{grid-template-columns:1fr}.tokuspi-type-card{min-height:75px}.tokuspi-submit-actions{gap:9px}.tokuspi-submit-actions>*{flex:1}.tokuspi-submit-primary,.tokuspi-submit-secondary{min-height:56px;font-size:13px}.tokuspi-staff-signer-grid{grid-template-columns:1fr}.tokuspi-live-price{position:sticky;bottom:78px;z-index:4;box-shadow:0 8px 25px rgba(0,0,0,.18)}}


/* v0.9.74: always-visible wizard navigation */
.tokuspi-submit-body{padding-bottom:118px}
.tokuspi-wizard-step.is-active .tokuspi-submit-actions{
  position:fixed;
  left:50%;
  bottom:max(10px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  width:min(860px,calc(100vw - 28px));
  margin:0;
  padding:10px 12px;
  border:1px solid rgba(207,198,181,.92);
  border-radius:17px;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 34px rgba(20,20,20,.18),0 2px 8px rgba(20,20,20,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  z-index:10000;
  box-sizing:border-box;
  align-items:center;
}
.tokuspi-wizard-step.is-active .tokuspi-submit-actions .tokuspi-submit-secondary{
  flex:0 0 auto;
}
.tokuspi-wizard-step.is-active .tokuspi-submit-actions .tokuspi-submit-primary{
  flex:1 1 auto;
  margin-left:0;
}
@media(max-width:700px){
  .tokuspi-submit-body{padding-bottom:112px}
  .tokuspi-wizard-step.is-active .tokuspi-submit-actions{
    position:fixed;
    left:50%;
    bottom:max(6px,env(safe-area-inset-bottom));
    width:calc(100vw - 12px);
    padding:8px;
    gap:8px;
    border-radius:15px;
  }
  .tokuspi-wizard-step.is-active .tokuspi-submit-actions .tokuspi-submit-secondary{
    flex:0 0 34%;
    min-width:0;
  }
  .tokuspi-wizard-step.is-active .tokuspi-submit-actions .tokuspi-submit-primary{
    flex:1 1 66%;
    min-width:0;
  }
}


/* v0.9.75: clearer submission review with visible supporting photos */
.tokuspi-review-list{display:grid;gap:18px}
.tokuspi-review-item{
  display:block;
  border:1px solid #ded9cf;
  border-radius:18px;
  padding:0;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 24px rgba(20,20,20,.06);
}
.tokuspi-review-item-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:16px 18px;
  border-bottom:1px solid #ece7dd;
  background:linear-gradient(180deg,#fffdf8,#faf7ef);
}
.tokuspi-review-item-head small{
  display:block;
  color:var(--ts-red,#b5121b);
  text-transform:uppercase;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
}
.tokuspi-review-item-head h3{
  margin:4px 0 0;
  font-size:22px;
  line-height:1.2;
}
.tokuspi-review-fee{
  flex:0 0 auto;
  padding:8px 11px;
  border-radius:999px;
  background:#171717;
  color:#fff;
  font-weight:900;
  font-size:13px;
  white-space:nowrap;
}
.tokuspi-review-main-block{
  display:grid;
  grid-template-columns:minmax(180px,260px) minmax(0,1fr);
  gap:20px;
  padding:18px;
  align-items:start;
}
.tokuspi-review-main-photo{
  min-width:0;
}
.tokuspi-review-main-photo img,
.tokuspi-review-photo-missing{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  max-height:280px;
  object-fit:contain;
  border-radius:13px;
  border:1px solid #e2ded5;
  background:#f5f3ee;
}
.tokuspi-review-photo-missing{
  display:grid;
  place-items:center;
  color:#8a8a8a;
  font-size:12px;
  font-weight:800;
}
.tokuspi-review-main-photo>span{
  display:block;
  margin-top:7px;
  color:#6d6d6d;
  text-align:center;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.tokuspi-review-info{
  display:grid;
  gap:17px;
  min-width:0;
}
.tokuspi-review-section{
  min-width:0;
}
.tokuspi-review-section h4{
  margin:0 0 8px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#222;
}
.tokuspi-review-detail-list,
.tokuspi-review-signer-list{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  display:grid;
  gap:0;
  border:1px solid #e7e2d8;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.tokuspi-review-detail-list li{
  display:grid;
  grid-template-columns:minmax(120px,38%) minmax(0,1fr);
  gap:12px;
  padding:9px 11px;
  border-bottom:1px solid #eee9e0;
  align-items:start;
}
.tokuspi-review-detail-list li:last-child,
.tokuspi-review-signer-list li:last-child{
  border-bottom:0;
}
.tokuspi-review-detail-list li>span{
  color:#737373;
  font-size:11px;
  font-weight:800;
}
.tokuspi-review-detail-list li>strong{
  color:#222;
  font-size:13px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.tokuspi-review-signer-list li{
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:8px;
  padding:8px 11px;
  border-bottom:1px solid #eee9e0;
  align-items:center;
}
.tokuspi-review-signer-list li>span{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#f2e7cb;
  color:#6e5114;
  font-size:10px;
  font-weight:900;
}
.tokuspi-review-signer-list li>strong{
  font-size:13px;
}
.tokuspi-review-detail-list li.is-empty strong,
.tokuspi-review-signer-list li.is-empty strong{
  color:#858585;
  font-weight:600;
}
.tokuspi-review-support-section{
  padding:0 18px 18px;
}
.tokuspi-review-section-title{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:8px;
}
.tokuspi-review-section-title h4{
  margin:0;
}
.tokuspi-review-section-title>span{
  color:#777;
  font-size:11px;
  font-weight:800;
}
.tokuspi-review-support-gallery{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}
.tokuspi-review-support-photo{
  margin:0!important;
  min-width:0;
}
.tokuspi-review-support-photo img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border:1px solid #ddd7cb;
  border-radius:10px;
  background:#f3f3f3;
}
.tokuspi-review-support-photo figcaption{
  margin-top:4px;
  text-align:center;
  color:#707070;
  font-size:9px;
  font-weight:800;
}
.tokuspi-review-no-support{
  grid-column:1/-1;
  padding:13px;
  border:1px dashed #d9d2c3;
  border-radius:10px;
  background:#faf8f3;
  color:#777;
  text-align:center;
  font-size:12px;
}

@media(max-width:700px){
  .tokuspi-review-item-head{padding:14px}
  .tokuspi-review-item-head h3{font-size:19px}
  .tokuspi-review-main-block{
    grid-template-columns:1fr;
    gap:16px;
    padding:14px;
  }
  .tokuspi-review-main-photo img,
  .tokuspi-review-photo-missing{
    max-height:360px;
    aspect-ratio:auto;
    min-height:180px;
  }
  .tokuspi-review-detail-list li{
    grid-template-columns:1fr;
    gap:2px;
    padding:9px 10px;
  }
  .tokuspi-review-support-section{padding:0 14px 15px}
  .tokuspi-review-support-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* v0.9.76: explicit cashier/payment-confirmation stage */
.tokuspi-payment-breakdown,
[data-payment-breakdown]{display:grid!important;gap:3px!important;margin-top:7px!important}
[data-payment-breakdown]>span{display:block;font-size:11px;line-height:1.4;color:#6c6c6c}
.tokuspi-payment-required-step{text-align:center}
.tokuspi-payment-orb{
  background:linear-gradient(145deg,#f5c956,#d89b16)!important;
  color:#241800!important;
  box-shadow:0 10px 30px rgba(216,155,22,.28)!important;
}
.tokuspi-payment-required-step>p{max-width:650px;margin-left:auto;margin-right:auto}
.tokuspi-payment-due-card{
  max-width:470px;
  margin:20px auto 14px;
  padding:17px 18px;
  border:2px solid #d6a42f;
  border-radius:17px;
  background:linear-gradient(180deg,#fffaf0,#fff4d8);
  box-shadow:0 8px 22px rgba(100,72,10,.08);
}
.tokuspi-payment-due-card>span,
.tokuspi-payment-due-card>small{display:block}
.tokuspi-payment-due-card>span{
  color:#765615;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.tokuspi-payment-due-card>strong{
  display:block;
  margin:4px 0;
  font-size:32px;
  line-height:1;
}
.tokuspi-payment-due-card>small{color:#655936;font-size:11px;line-height:1.4}
.tokuspi-cashier-qr{
  max-width:440px;
  margin:16px auto;
  padding:17px;
  border:1px solid #e4ded0;
  border-radius:17px;
  background:#fff;
}
.tokuspi-cashier-qr img{width:min(250px,72vw);height:auto}
.tokuspi-payment-waiting{
  display:flex;
  align-items:center;
  gap:12px;
  max-width:500px;
  margin:16px auto 4px;
  padding:13px 15px;
  border:1px solid #e1d7bc;
  border-radius:14px;
  background:#faf7ee;
  text-align:left;
}
.tokuspi-payment-waiting>i{
  flex:0 0 22px;
  width:22px;height:22px;
  border:3px solid #e0d5ba;
  border-top-color:#b98717;
  border-radius:50%;
  animation:tokuspiPaymentSpin .9s linear infinite;
}
.tokuspi-payment-waiting strong,
.tokuspi-payment-waiting small{display:block}
.tokuspi-payment-waiting strong{font-size:12px}
.tokuspi-payment-waiting small{margin-top:2px;color:#777;font-size:10px;line-height:1.35}
@keyframes tokuspiPaymentSpin{to{transform:rotate(360deg)}}

/* Price belongs on the Payment step, not Review. */
.tokuspi-review-fee{display:none!important}

@media(max-width:700px){
  .tokuspi-payment-due-card>strong{font-size:29px}
  .tokuspi-payment-waiting{margin-left:0;margin-right:0}
}


/* v0.9.77: payment-only Cashier console */
.tokuspi-cashier-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
  margin-bottom:18px
}
.tokuspi-cashier-head h2{margin:3px 0 4px;font-size:30px}
.tokuspi-cashier-head p{margin:0;color:#6d6d6d;max-width:720px}
.tokuspi-cashier-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.tokuspi-cashier-stats span{
  display:block;padding:10px 13px;border:1px solid #ddd6c8;border-radius:12px;
  background:#fff;color:#686868;font-size:11px;white-space:nowrap
}
.tokuspi-cashier-stats strong{display:block;color:#171717;font-size:20px;line-height:1}
.tokuspi-cashier-search-panel{
  display:grid;grid-template-columns:minmax(250px,.8fr) minmax(300px,1.2fr);
  gap:14px;padding:16px;border:1px solid #ded8cd;border-radius:16px;background:#fff;
  box-shadow:0 8px 24px rgba(20,20,20,.05);margin-bottom:14px
}
.tokuspi-cashier-scan-tip{
  display:flex;align-items:center;gap:12px;padding:13px;border-radius:13px;
  background:linear-gradient(145deg,#1d1d1d,#2b2b2b);color:#fff
}
.tokuspi-cashier-scan-tip>span{font-size:32px;line-height:1}
.tokuspi-cashier-scan-tip strong,.tokuspi-cashier-scan-tip small{display:block}
.tokuspi-cashier-scan-tip small{margin-top:3px;color:#d3d3d3;font-size:10px;line-height:1.4}
.tokuspi-cashier-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.tokuspi-cashier-search label>span{display:block;margin-bottom:5px;font-size:11px;font-weight:900;text-transform:uppercase}
.tokuspi-cashier-search input{
  width:100%;min-height:48px;padding:11px 13px;border:1px solid #cfc8bb;border-radius:11px;
  background:#fff;font-size:17px;font-weight:800;letter-spacing:.03em;text-transform:uppercase
}
.tokuspi-cashier-filter-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.tokuspi-cashier-filter-tabs a{
  padding:8px 11px;border:1px solid #ded8cd;border-radius:999px;background:#fff;
  color:#555;text-decoration:none;font-size:11px;font-weight:800
}
.tokuspi-cashier-filter-tabs a.is-active{background:#1b1b1b;color:#fff;border-color:#1b1b1b}
.tokuspi-cashier-list{display:grid;gap:9px}
.tokuspi-cashier-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;
  border:1px solid #e2ddd4;border-radius:14px;background:#fff;padding:12px 13px
}
.tokuspi-cashier-row-main{
  display:flex;justify-content:space-between;align-items:center;gap:14px;color:inherit;text-decoration:none;min-width:0
}
.tokuspi-cashier-row-main>div:first-child{min-width:0}
.tokuspi-cashier-row-main strong,.tokuspi-cashier-row-main span,.tokuspi-cashier-row-main small{display:block}
.tokuspi-cashier-row-main>div:first-child>strong{font-size:15px}
.tokuspi-cashier-row-main>div:first-child>span{font-size:12px;font-weight:800;margin-top:2px}
.tokuspi-cashier-row-main>div:first-child>small{
  margin-top:3px;color:#777;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:620px
}
.tokuspi-cashier-amount{text-align:right;flex:0 0 auto}
.tokuspi-cashier-amount strong{font-size:16px}
.tokuspi-cashier-amount small{margin-top:2px;color:#8a6616;font-size:9px;font-weight:900}
.tokuspi-cashier-row-action{min-width:98px;text-align:right}
.tokuspi-cashier-paid-button{
  min-height:44px;padding:9px 15px;border:0;border-radius:12px;
  background:linear-gradient(180deg,#24a55c,#168347);color:#fff;font-weight:950;
  letter-spacing:.04em;box-shadow:0 5px 0 #0e6536,0 8px 16px rgba(22,131,71,.18);
  cursor:pointer
}
.tokuspi-cashier-paid-button:active{transform:translateY(3px);box-shadow:0 2px 0 #0e6536}
.tokuspi-cashier-paid-badge{
  display:inline-block;padding:9px 12px;border-radius:999px;background:#e7f7ed;color:#14753e;
  font-size:11px;font-weight:950
}
.tokuspi-cashier-detail-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px
}
.tokuspi-cashier-detail-head h2{margin:3px 0 4px;font-size:32px}
.tokuspi-cashier-detail-head p{margin:0;color:#666}
.tokuspi-cashier-total{
  min-width:210px;padding:14px 17px;border:2px solid #d7a431;border-radius:15px;
  background:#fff7df;text-align:right
}
.tokuspi-cashier-total span,.tokuspi-cashier-total strong,.tokuspi-cashier-total small{display:block}
.tokuspi-cashier-total span{font-size:10px;font-weight:900;text-transform:uppercase;color:#745819}
.tokuspi-cashier-total strong{font-size:27px;line-height:1.1;margin:3px 0}
.tokuspi-cashier-total small{font-size:10px;font-weight:950;color:#8e6710}
.tokuspi-cashier-total.is-paid{border-color:#63ad7f;background:#ebf8f0}
.tokuspi-cashier-total.is-paid span,.tokuspi-cashier-total.is-paid small{color:#176c3d}
.tokuspi-cashier-confirm-box{
  display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px;
  border:1px solid #d9d3c6;border-radius:15px;background:#fff;margin-bottom:15px
}
.tokuspi-cashier-confirm-box strong,.tokuspi-cashier-confirm-box small{display:block}
.tokuspi-cashier-confirm-box small{margin-top:3px;color:#777;font-size:10px}
.tokuspi-cashier-confirmed{
  padding:14px 16px;border:1px solid #8bc49e;border-radius:13px;background:#eaf8ef;
  color:#176f3f;font-weight:900;margin-bottom:15px
}
.tokuspi-cashier-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tokuspi-cashier-item-card{
  display:grid;grid-template-columns:110px minmax(0,1fr);gap:13px;align-items:center;
  border:1px solid #e1ddd4;border-radius:13px;padding:10px;background:#fff
}
.tokuspi-cashier-item-card img,.tokuspi-cashier-item-placeholder{
  width:110px;height:110px;object-fit:contain;border-radius:9px;background:#f3f1ed;border:1px solid #e2ddd4
}
.tokuspi-cashier-item-placeholder{display:grid;place-items:center;color:#888;font-size:10px}
.tokuspi-cashier-item-card span{font-size:9px;color:#9a751d;font-weight:950;letter-spacing:.07em}
.tokuspi-cashier-item-card h4{margin:3px 0 2px;font-size:16px}
.tokuspi-cashier-item-card p{margin:0;color:#666;font-size:11px}
.tokuspi-cashier-item-card small{display:block;margin-top:6px;color:#555;font-size:10px;line-height:1.35}

@media(max-width:760px){
  .tokuspi-cashier-head,.tokuspi-cashier-detail-head{display:block}
  .tokuspi-cashier-stats{justify-content:flex-start;margin-top:10px}
  .tokuspi-cashier-search-panel{grid-template-columns:1fr}
  .tokuspi-cashier-search{grid-template-columns:1fr}
  .tokuspi-cashier-search .tokuspi-front-btn{width:100%}
  .tokuspi-cashier-row{grid-template-columns:1fr auto}
  .tokuspi-cashier-row-main{display:block}
  .tokuspi-cashier-amount{text-align:left;margin-top:7px}
  .tokuspi-cashier-confirm-box{display:block}
  .tokuspi-cashier-confirm-box .tokuspi-inline-form{margin-top:12px}
  .tokuspi-cashier-confirm-box .tokuspi-cashier-paid-button{width:100%}
  .tokuspi-cashier-total{margin-top:12px;text-align:left;min-width:0}
  .tokuspi-cashier-items{grid-template-columns:1fr}
}


/* v0.9.79: distraction-free event submission mode */
body.tokuspi-submission-mode .site-footer,
body.tokuspi-submission-mode footer.site-footer,
body.tokuspi-submission-mode #colophon {
  display:none !important;
}

/* Keep the bottom of the wizard intentional after removing the global site footer. */
body.tokuspi-submission-mode .tokuspi-submit-shell {
  margin-bottom:0;
}


/* v0.9.80: resilient camera/gallery switching for the single main-photo slot */
.tokuspi-main-photo-slot{position:relative}
.tokuspi-main-photo-slot.is-uploading::after{
  content:"Uploading photo…";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  min-height:110px;
  padding:18px;
  border-radius:14px;
  background:rgba(255,255,255,.92);
  color:#2a2a2a;
  font-size:13px;
  font-weight:900;
  letter-spacing:.03em;
  text-align:center;
  z-index:5;
}
.tokuspi-photo-upload.is-uploading-source{
  opacity:.55;
  pointer-events:none;
  cursor:wait;
}


/* v0.9.81: real-world Main Photo visual guide */
.tokuspi-main-photo-intro strong,
.tokuspi-main-photo-intro span{display:block}
.tokuspi-main-photo-intro span{margin-top:4px}

.tokuspi-photo-guide-real{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  align-items:stretch;
}
.tokuspi-photo-guide-real>div{
  padding:13px;
  text-align:left;
  overflow:hidden;
}
.tokuspi-photo-guide-real b{
  text-align:center;
  margin-bottom:10px;
}
.tokuspi-good-photo-card{
  border-color:#b7d8c5!important;
  background:linear-gradient(180deg,#fbfffc,#f2faf5);
}
.tokuspi-good-photo-card>img{
  display:block;
  width:100%;
  height:auto;
  max-height:430px;
  object-fit:contain;
  object-position:center;
  border-radius:11px;
  border:1px solid #afd0bb;
  background:#ece9e2;
}
.tokuspi-good-photo-points{
  display:grid;
  gap:7px;
  margin-top:10px;
}
.tokuspi-good-photo-points>span,
.tokuspi-avoid-photo-list>span{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:8px 9px;
  border-radius:10px;
}
.tokuspi-good-photo-points>span{
  background:rgba(255,255,255,.8);
  border:1px solid #d8e9df;
}
.tokuspi-good-photo-points i,
.tokuspi-avoid-photo-list i{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:8px;
  font-style:normal;
  font-size:15px;
  font-weight:900;
}
.tokuspi-good-photo-points i{
  background:#e1f4e8;
  color:#177443;
}
.tokuspi-good-photo-points strong,
.tokuspi-good-photo-points small,
.tokuspi-avoid-photo-list strong,
.tokuspi-avoid-photo-list small{display:block}
.tokuspi-good-photo-points strong,
.tokuspi-avoid-photo-list strong{
  font-size:11px;
  line-height:1.25;
}
.tokuspi-good-photo-points small,
.tokuspi-avoid-photo-list small{
  margin-top:2px;
  color:#6e7274;
  font-size:9px;
  line-height:1.35;
}

.tokuspi-avoid-photo-card{
  border-color:#e8c5c7!important;
  background:linear-gradient(180deg,#fffdfd,#fff5f5);
}
.tokuspi-avoid-photo-list{
  display:grid;
  gap:7px;
}
.tokuspi-avoid-photo-list>span{
  background:#fff;
  border:1px solid #f0dada;
}
.tokuspi-avoid-photo-list i{
  background:#ffeded;
  color:#ae111a;
}
.tokuspi-main-photo-reminder{
  display:flex;
  align-items:center;
  gap:5px;
  margin:12px 0 17px;
  padding:11px 13px;
  border-left:4px solid var(--ts-red,#b5121b);
  border-radius:9px;
  background:#fff2f2;
  color:#3d2728;
  font-size:12px;
  line-height:1.4;
}
.tokuspi-main-photo-reminder b{color:#a50e17}

@media(max-width:700px){
  .tokuspi-photo-guide-real{
    grid-template-columns:1fr;
    gap:11px;
  }
  .tokuspi-good-photo-card>img{
    max-height:none;
  }
  .tokuspi-good-photo-points{
    gap:6px;
  }
  .tokuspi-good-photo-points>span,
  .tokuspi-avoid-photo-list>span{
    padding:8px;
  }
}


/* v0.9.82: restore original simpler Main Photo guide layout and swap the GOOD placeholder with the real sample image */
.tokuspi-real-photo-box{
  background:#f6f4ef;
  padding:0;
}
.tokuspi-real-photo-box img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.tokuspi-main-photo-reminder-compact{
  margin:-6px 0 16px;
  padding:10px 12px;
  border-left:4px solid var(--ts-red,#b5121b);
  border-radius:9px;
  background:#fff3f3;
  color:#4c2f31;
  font-size:12px;
  line-height:1.45;
}
@media(max-width:700px){
  .tokuspi-main-photo-reminder-compact{
    font-size:11px;
    line-height:1.4;
  }
}


/* v0.9.83: make the GOOD guide example portrait instead of landscape */
.tokuspi-photo-guide .good .guide-box.tokuspi-real-photo-box{
  aspect-ratio: 0.72 / 1;
  max-width: 190px;
  margin: 0 auto;
  background: #f6f4ef;
}
.tokuspi-photo-guide .good .guide-box.tokuspi-real-photo-box img{
  object-fit: cover;
  object-position: center;
}
@media(max-width:700px){
  .tokuspi-photo-guide .good .guide-box.tokuspi-real-photo-box{
    max-width: 160px;
  }
}


/* v0.9.84: show the real sample image in the AVOID guide as a wrongly photographed example */
.tokuspi-photo-guide .bad .guide-box.tokuspi-real-photo-box-bad{
  position:relative;
  background:linear-gradient(145deg,#f7f7f7,#ececec);
}
.tokuspi-photo-guide .bad .guide-box.tokuspi-real-photo-box-bad img{
  position:absolute;
  width:76%;
  height:88%;
  left:24%;
  top:7%;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:rotate(-8deg);
  border:3px solid #777;
  border-radius:6px;
  filter:blur(1.1px) saturate(.92) brightness(.98);
}
.tokuspi-photo-guide .bad .guide-box.tokuspi-real-photo-box-bad i{
  display:none;
}
.tokuspi-photo-guide .bad .guide-box.tokuspi-real-photo-box-bad:before{
  content:'';
  position:absolute;
  right:11%;
  top:14%;
  width:30%;
  height:18%;
  background:rgba(255,255,255,.32);
  transform:rotate(-8deg);
  border-radius:999px;
  filter:blur(2px);
  z-index:2;
}
.tokuspi-photo-guide .bad .guide-box.tokuspi-real-photo-box-bad:after{
  z-index:3;
}


/* v0.9.87: multi-day event schedule */
.tokuspi-event-summary-schedule{display:grid;gap:4px;margin:5px 0 2px}.tokuspi-event-summary-schedule small{display:block}


/* v0.9.90 — isolate Admin signer form from client artist-card styles */
body.tokuspi-admin-page .tokuspi-signer-section .tokuspi-signer-card{
  display:block !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  gap:0 !important;
  align-items:initial !important;
  text-align:initial !important;
  cursor:default !important;
  box-sizing:border-box !important;
}
body.tokuspi-admin-page .tokuspi-signer-section .tokuspi-signer-card > .tokuspi-admin-field-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  width:100% !important;
  min-width:0 !important;
  gap:15px !important;
  align-items:start !important;
}
body.tokuspi-admin-page .tokuspi-signer-section .tokuspi-signer-card .tokuspi-front-field,
body.tokuspi-admin-page .tokuspi-signer-section .tokuspi-signer-card .tokuspi-front-field input,
body.tokuspi-admin-page .tokuspi-signer-section .tokuspi-signer-card .tokuspi-front-field select,
body.tokuspi-admin-page .tokuspi-signer-section .tokuspi-signer-card .tokuspi-front-field textarea{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
@media(max-width:760px){
  body.tokuspi-admin-page .tokuspi-signer-section .tokuspi-signer-card > .tokuspi-admin-field-grid{
    grid-template-columns:1fr !important;
  }
}


/* v0.9.91: actual Cashier QR scanner */
.tokuspi-cashier-scanner-card{
  display:grid;
  gap:12px;
  padding:14px;
  border-radius:14px;
  background:linear-gradient(145deg,#171717,#292929);
  color:#fff;
  min-width:0;
}
.tokuspi-cashier-scanner-heading{
  display:flex;
  align-items:center;
  gap:12px;
}
.tokuspi-cashier-scanner-heading>span{
  flex:0 0 38px;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  font-size:25px;
}
.tokuspi-cashier-scanner-heading strong,
.tokuspi-cashier-scanner-heading small{
  display:block;
}
.tokuspi-cashier-scanner-heading strong{
  font-size:16px;
}
.tokuspi-cashier-scanner-heading small{
  margin-top:3px;
  color:#d1d1d1;
  font-size:10px;
  line-height:1.35;
}
.tokuspi-cashier-scan-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.tokuspi-cashier-scan-button{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  min-height:46px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:11px;
  background:#fff;
  color:#171717;
  font:inherit;
  font-size:11px;
  font-weight:900;
  text-align:center;
  cursor:pointer;
  box-sizing:border-box;
}
.tokuspi-cashier-scan-button.is-primary{
  border-color:#d21b28;
  background:linear-gradient(180deg,#e21a29,#b90c18);
  color:#fff;
  box-shadow:0 4px 0 #790910;
}
.tokuspi-cashier-scan-button input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.tokuspi-cashier-scan-button:disabled{
  opacity:.6;
  cursor:wait;
}
.tokuspi-cashier-scan-status{
  min-height:0;
  color:#d7d7d7;
  font-size:10px;
  line-height:1.35;
}
.tokuspi-cashier-scan-status:empty{display:none}
.tokuspi-cashier-scan-status.is-error{
  padding:8px 9px;
  border-radius:9px;
  background:#4d171a;
  color:#ffd9dc;
}
.tokuspi-cashier-scan-status.is-success{
  padding:8px 9px;
  border-radius:9px;
  background:#123d26;
  color:#d9ffe7;
}
.tokuspi-cashier-scan-status.is-working{
  padding:8px 9px;
  border-radius:9px;
  background:#3e351b;
  color:#fff1bf;
}
.tokuspi-cashier-camera-panel{
  padding:10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  background:#0d0d0d;
}
.tokuspi-cashier-camera-stage{
  position:relative;
  overflow:hidden;
  width:100%;
  aspect-ratio:4/3;
  max-height:480px;
  border-radius:10px;
  background:#000;
}
.tokuspi-cashier-camera-stage video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.tokuspi-cashier-camera-frame{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  pointer-events:none;
}
.tokuspi-cashier-camera-frame:before{
  content:"";
  display:block;
  width:min(64%,260px);
  aspect-ratio:1/1;
  border:3px solid rgba(255,255,255,.92);
  border-radius:16px;
  box-shadow:0 0 0 999px rgba(0,0,0,.28);
}
.tokuspi-cashier-camera-help{
  margin:8px 2px 9px;
  color:#d4d4d4;
  font-size:10px;
  text-align:center;
}
.tokuspi-cashier-camera-close{
  display:block;
  width:100%;
  min-height:40px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:9px;
  background:#242424;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
@media(max-width:760px){
  .tokuspi-cashier-scan-actions{
    grid-template-columns:1fr;
  }
  .tokuspi-cashier-scan-button{
    min-height:52px;
    font-size:12px;
  }
  .tokuspi-cashier-camera-stage{
    aspect-ratio:3/4;
  }
}


/* v0.9.92: Cashier item photo presentation */
.tokuspi-cashier-item-card img{
  display:block;
  overflow:hidden;
  object-fit:contain;
  object-position:center;
}


/* v0.9.93: Cashier void controls */
.tokuspi-cashier-row-buttons{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}
.tokuspi-cashier-void-button{
  min-height:44px;
  padding:9px 13px;
  border:1px solid #be1b25;
  border-radius:12px;
  background:#fff;
  color:#b10f19;
  font-weight:950;
  letter-spacing:.04em;
  cursor:pointer;
}
.tokuspi-cashier-void-button:hover{
  background:#fff1f2;
}
.tokuspi-cashier-voided-badge{
  display:inline-block;
  padding:9px 12px;
  border-radius:999px;
  background:#f5e9ea;
  color:#a00e17;
  font-size:11px;
  font-weight:950;
}
.tokuspi-cashier-row.is-voided{
  opacity:.7;
  background:#faf7f7;
}
.tokuspi-cashier-total.is-voided{
  border-color:#c75b61;
  background:#fff0f1;
}
.tokuspi-cashier-total.is-voided span,
.tokuspi-cashier-total.is-voided small{
  color:#a11720;
}
.tokuspi-cashier-void-box{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:15px 17px;
  border:1px solid #e2b8bb;
  border-radius:15px;
  background:#fff6f6;
  margin-bottom:15px;
}
.tokuspi-cashier-void-box strong,
.tokuspi-cashier-void-box small{
  display:block;
}
.tokuspi-cashier-void-box strong{color:#9f111a}
.tokuspi-cashier-void-box small{
  margin-top:3px;
  color:#7c5d60;
  font-size:10px;
}
.tokuspi-cashier-voided-notice{
  display:flex;
  gap:10px;
  align-items:center;
  padding:14px 16px;
  border:1px solid #d8a2a6;
  border-radius:13px;
  background:#fff0f1;
  color:#8f131b;
  margin-bottom:15px;
}
.tokuspi-cashier-voided-notice strong{
  padding:6px 8px;
  border-radius:8px;
  background:#a6111a;
  color:#fff;
  font-size:10px;
}
.tokuspi-cashier-voided-notice span{
  font-size:12px;
  font-weight:700;
}

/* Client-side voided state */
.tokuspi-voided-step{
  text-align:center;
}
.tokuspi-voided-orb{
  background:linear-gradient(145deg,#d8424c,#a70f19)!important;
  color:#fff!important;
  box-shadow:0 10px 30px rgba(167,15,25,.2)!important;
}

@media(max-width:760px){
  .tokuspi-cashier-row-buttons{
    flex-direction:column;
    align-items:stretch;
  }
  .tokuspi-cashier-row-buttons form,
  .tokuspi-cashier-row-buttons button{
    width:100%;
  }
  .tokuspi-cashier-void-box{
    display:block;
  }
  .tokuspi-cashier-void-box form{
    margin-top:12px;
  }
  .tokuspi-cashier-void-box .tokuspi-cashier-void-button{
    width:100%;
  }
}


/* v0.9.94 — Green means GO throughout the client submission flow */
#tokuspi-submission-root .tokuspi-submit-primary,
.tokuspi-submit-shell .tokuspi-submit-primary{
  background:linear-gradient(180deg,#29b765 0%,#159348 100%) !important;
  color:#fff !important;
  border:1px solid #11813e !important;
  box-shadow:0 5px 0 #0b6631,0 9px 20px rgba(16,131,65,.20) !important;
  transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;
}
#tokuspi-submission-root .tokuspi-submit-primary:hover,
.tokuspi-submit-shell .tokuspi-submit-primary:hover{
  filter:brightness(1.04);
  transform:translateY(-1px);
  box-shadow:0 6px 0 #0b6631,0 11px 22px rgba(16,131,65,.24) !important;
}
#tokuspi-submission-root .tokuspi-submit-primary:active,
.tokuspi-submit-shell .tokuspi-submit-primary:active{
  transform:translateY(3px);
  box-shadow:0 2px 0 #0b6631,0 5px 12px rgba(16,131,65,.18) !important;
}
#tokuspi-submission-root .tokuspi-submit-primary[disabled],
.tokuspi-submit-shell .tokuspi-submit-primary[disabled]{
  opacity:.52;
  filter:saturate(.45);
  transform:none;
  box-shadow:0 3px 0 #6d8d78 !important;
}

/* v0.9.94 — event picker hierarchy */
.tokuspi-event-picker{
  padding:34px clamp(20px,5vw,50px);
}
.tokuspi-event-picker-intro{
  max-width:720px;
  margin-bottom:0!important;
}
.tokuspi-picker-section{
  margin-top:26px;
}
.tokuspi-picker-section-heading{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:11px;
  color:#292929;
}
.tokuspi-picker-section-heading>div{
  display:flex;
  align-items:center;
  gap:8px;
}
.tokuspi-picker-section-heading strong{
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.tokuspi-picker-section-heading small{
  color:#72767a;
  font-size:11px;
  font-weight:800;
}
.tokuspi-live-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#20a958;
  box-shadow:0 0 0 5px rgba(32,169,88,.13);
}
.tokuspi-active-event-list{
  display:grid;
  gap:14px;
}
.tokuspi-active-event-card{
  position:relative;
  overflow:hidden;
  padding:clamp(22px,4vw,34px);
  border:2px solid #46b973;
  border-radius:20px;
  background:
    radial-gradient(circle at 93% 10%,rgba(40,183,100,.14),transparent 32%),
    linear-gradient(145deg,#fbfffc,#f1fbf5);
  box-shadow:0 14px 38px rgba(22,113,61,.10);
}
.tokuspi-active-event-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background:linear-gradient(180deg,#31c871,#128b43);
}
.tokuspi-active-event-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:12px;
  padding:6px 9px;
  border-radius:999px;
  background:#daf5e5;
  color:#10723a;
  font-size:10px;
  font-weight:950;
  letter-spacing:.10em;
}
.tokuspi-active-event-badge span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#1dad58;
}
.tokuspi-active-event-card h2{
  margin:0!important;
  max-width:780px;
  font-size:clamp(27px,5vw,42px)!important;
  line-height:1.06!important;
}
.tokuspi-active-event-signers{
  margin:10px 0 0!important;
  font-size:17px!important;
  font-weight:800;
  color:#252525!important;
}
.tokuspi-active-event-meta{
  margin:7px 0 0!important;
  color:#60656a!important;
  font-size:13px!important;
}
.tokuspi-event-start-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:46px;
  padding:10px 16px;
  border:1px solid #11813e;
  border-radius:12px;
  background:linear-gradient(180deg,#29b765,#159348);
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px;
  font-weight:950;
  letter-spacing:.04em;
  box-shadow:0 4px 0 #0b6631,0 7px 16px rgba(16,131,65,.17);
  transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;
}
.tokuspi-event-start-button:hover{
  color:#fff!important;
  filter:brightness(1.04);
  transform:translateY(-1px);
}
.tokuspi-event-start-button:active{
  transform:translateY(3px);
  box-shadow:0 1px 0 #0b6631;
}
.tokuspi-event-start-button.is-large{
  display:flex;
  width:100%;
  max-width:520px;
  min-height:72px;
  margin-top:22px;
  padding:13px 20px;
  border-radius:16px;
  flex-direction:column;
  gap:1px;
  font-size:18px;
  box-shadow:0 6px 0 #0b6631,0 12px 24px rgba(16,131,65,.22);
}
.tokuspi-event-start-button.is-large small{
  color:#e8fff1;
  font-size:10px;
  font-weight:700;
  letter-spacing:.02em;
}
.tokuspi-no-active-event{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:24px;
  padding:14px 16px;
  border:1px solid #dfdcd5;
  border-radius:14px;
  background:#faf9f6;
}
.tokuspi-no-active-event>span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  background:#ece9e2;
  color:#777;
  font-weight:900;
}
.tokuspi-no-active-event strong,
.tokuspi-no-active-event small{
  display:block;
}
.tokuspi-no-active-event small{
  margin-top:2px;
  color:#73777b;
  font-size:10px;
}
.tokuspi-event-choice-list.is-compact{
  display:grid;
  gap:9px;
  margin-top:0;
}
.tokuspi-event-choice.tokuspi-event-choice-compact{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:13px 14px;
  border:1px solid #e1ded7;
  border-radius:13px;
  background:#fff;
  color:#171717;
}
.tokuspi-event-choice-copy{
  min-width:0;
}
.tokuspi-event-choice-copy strong,
.tokuspi-event-choice-copy span,
.tokuspi-event-choice-copy small{
  display:block;
}
.tokuspi-event-choice-copy strong{
  font-size:16px;
  line-height:1.25;
}
.tokuspi-event-choice-copy span{
  margin-top:3px;
  color:#4f5458;
  font-size:12px;
}
.tokuspi-event-choice-copy small{
  margin-top:4px;
  color:#777b7e;
  font-size:10px;
  line-height:1.35;
}
.tokuspi-event-start-button.is-secondary-size{
  min-height:40px;
  padding:8px 12px;
  font-size:10px;
}
.tokuspi-previous-events{
  margin-top:26px;
  border-top:1px solid #e5e1da;
  padding-top:15px;
}
.tokuspi-previous-events summary{
  display:flex;
  align-items:center;
  gap:9px;
  cursor:pointer;
  list-style:none;
  color:#666b6f;
  user-select:none;
}
.tokuspi-previous-events summary::-webkit-details-marker{
  display:none;
}
.tokuspi-previous-events summary span{
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.tokuspi-previous-events summary b{
  display:grid;
  place-items:center;
  min-width:25px;
  height:25px;
  padding:0 6px;
  border-radius:999px;
  background:#efede8;
  color:#555;
  font-size:10px;
}
.tokuspi-previous-events summary small{
  margin-left:auto;
  color:#8a8d90;
  font-size:10px;
}
.tokuspi-previous-events[open] summary{
  margin-bottom:11px;
}
.tokuspi-event-choice.is-previous{
  background:#fafafa;
  opacity:.82;
}

@media(max-width:700px){
  .tokuspi-event-picker{
    padding:25px 17px;
  }
  .tokuspi-active-event-card{
    padding:21px 18px 24px;
    border-radius:17px;
  }
  .tokuspi-active-event-card h2{
    font-size:30px!important;
  }
  .tokuspi-event-start-button.is-large{
    max-width:none;
    min-height:68px;
    font-size:17px;
  }
  .tokuspi-event-choice.tokuspi-event-choice-compact{
    grid-template-columns:1fr;
    gap:10px;
  }
  .tokuspi-event-choice.tokuspi-event-choice-compact .tokuspi-event-start-button{
    width:100%;
  }
}


/* v0.9.95 — Featured Event terminology */
.tokuspi-active-event-badge.is-featured{
  background:#edf5ff;
  color:#265f95;
}
.tokuspi-active-event-badge.is-featured span{
  background:#377fbd;
}


/* v0.9.96 — brighter lime-green GO buttons */
#tokuspi-submission-root .tokuspi-submit-primary,
.tokuspi-submit-shell .tokuspi-submit-primary{
  background:linear-gradient(180deg,#A9EE3A 0%,#78C91F 100%) !important;
  color:#173207 !important;
  border:1px solid #63AE16 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.42);
  box-shadow:0 5px 0 #4E8E10,0 9px 22px rgba(111,190,29,.28) !important;
}
#tokuspi-submission-root .tokuspi-submit-primary:hover,
.tokuspi-submit-shell .tokuspi-submit-primary:hover{
  background:linear-gradient(180deg,#B7F653 0%,#83D728 100%) !important;
  color:#102904 !important;
  filter:none !important;
  box-shadow:0 6px 0 #4E8E10,0 12px 25px rgba(111,190,29,.34) !important;
}
#tokuspi-submission-root .tokuspi-submit-primary:active,
.tokuspi-submit-shell .tokuspi-submit-primary:active{
  background:linear-gradient(180deg,#8FD62A 0%,#6CBC1B 100%) !important;
  box-shadow:0 2px 0 #4E8E10,0 5px 12px rgba(111,190,29,.22) !important;
}
#tokuspi-submission-root .tokuspi-submit-primary[disabled],
.tokuspi-submit-shell .tokuspi-submit-primary[disabled]{
  background:linear-gradient(180deg,#CFE7A6,#AFC987) !important;
  color:#667359 !important;
  border-color:#9CB57D !important;
  text-shadow:none;
  box-shadow:0 3px 0 #879C6E !important;
}

/* Event picker START buttons use the same bright lime palette */
.tokuspi-event-start-button{
  background:linear-gradient(180deg,#A9EE3A,#78C91F) !important;
  color:#173207 !important;
  border-color:#63AE16 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.42);
  box-shadow:0 4px 0 #4E8E10,0 8px 18px rgba(111,190,29,.25) !important;
}
.tokuspi-event-start-button:hover{
  background:linear-gradient(180deg,#B7F653,#83D728) !important;
  color:#102904 !important;
  filter:none !important;
  box-shadow:0 5px 0 #4E8E10,0 10px 21px rgba(111,190,29,.31) !important;
}
.tokuspi-event-start-button:active{
  background:linear-gradient(180deg,#8FD62A,#6CBC1B) !important;
  box-shadow:0 1px 0 #4E8E10,0 4px 10px rgba(111,190,29,.20) !important;
}
.tokuspi-event-start-button.is-large{
  box-shadow:0 6px 0 #4E8E10,0 13px 27px rgba(111,190,29,.30) !important;
}
.tokuspi-event-start-button.is-large small{
  color:#315C10 !important;
}


/* v0.9.97 — subtle animated Featured Event START button */
@keyframes tokuspi-start-breathe{
  0%,72%,100%{
    transform:translateY(0) scale(1);
    box-shadow:0 6px 0 #4E8E10,0 13px 27px rgba(111,190,29,.30);
  }
  80%{
    transform:translateY(-2px) scale(1.018);
    box-shadow:0 7px 0 #4E8E10,0 15px 34px rgba(133,220,40,.42);
  }
  88%{
    transform:translateY(0) scale(1);
    box-shadow:0 6px 0 #4E8E10,0 13px 27px rgba(111,190,29,.30);
  }
}
@keyframes tokuspi-start-sheen{
  0%,68%{left:-45%;opacity:0}
  72%{opacity:.55}
  84%{left:120%;opacity:0}
  100%{left:120%;opacity:0}
}
.tokuspi-event-start-button.is-large.is-animated{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  animation:tokuspi-start-breathe 3.2s ease-in-out infinite;
}
.tokuspi-event-start-button.is-large.is-animated:after{
  content:"";
  position:absolute;
  top:-35%;
  left:-45%;
  width:25%;
  height:170%;
  z-index:-1;
  pointer-events:none;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
  animation:tokuspi-start-sheen 3.2s ease-in-out infinite;
}
.tokuspi-event-start-button.is-large.is-animated:hover{
  animation-play-state:paused;
}
.tokuspi-event-start-button.is-large.is-animated:active{
  animation:none;
}

/* Accessibility: no motion for users who request reduced motion. */
@media (prefers-reduced-motion: reduce){
  .tokuspi-event-start-button.is-large.is-animated,
  .tokuspi-event-start-button.is-large.is-animated:after{
    animation:none !important;
  }
}


/* v0.9.98 — bigger START word on the featured-event CTA */
.tokuspi-event-start-button.is-large > span{
  display:block;
  font-size:clamp(24px,5vw,32px);
  line-height:1;
  letter-spacing:.05em;
  font-weight:1000;
}
.tokuspi-event-start-button.is-large > small{
  margin-top:3px;
}


/* v0.9.99 — workload distribution + exclusive job ownership */
.tokuspi-job-owner-panel{border:1px solid #d7e2db!important;background:linear-gradient(145deg,#fbfefc,#f4faf6)!important}
.tokuspi-job-owner-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}
.tokuspi-job-owner-head>div:first-child span,.tokuspi-job-owner-head>div:first-child strong,.tokuspi-job-owner-head>div:first-child small{display:block}
.tokuspi-job-owner-head>div:first-child span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6c746f}
.tokuspi-job-owner-head>div:first-child strong{margin-top:3px;font-size:21px;color:#1e2a22}
.tokuspi-job-owner-head>div:first-child small{margin-top:3px;color:#747a76;font-size:10px}
.tokuspi-job-lock-badge{padding:8px 11px;border-radius:999px;background:#e4f4e9;color:#21683a;font-size:10px;font-weight:950;letter-spacing:.06em;white-space:nowrap}
.tokuspi-job-transfer-form{display:grid;grid-template-columns:minmax(170px,1fr) minmax(220px,1.4fr) auto;gap:10px;align-items:end;margin:12px 0}
.tokuspi-job-transfer-form label span{display:block;margin-bottom:5px;font-size:10px;font-weight:850;color:#555}
.tokuspi-job-transfer-form label span em{font-style:normal;font-weight:600;color:#999}
.tokuspi-job-transfer-form select,.tokuspi-job-transfer-form input{width:100%;min-height:43px;box-sizing:border-box;border:1px solid #d5d5d5;border-radius:10px;padding:9px 11px;background:#fff}

.tokuspi-workload-settings{display:grid;gap:15px}
.tokuspi-workload-mode{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.tokuspi-workload-mode label{position:relative;display:block;cursor:pointer}
.tokuspi-workload-mode input{position:absolute;opacity:0;pointer-events:none}
.tokuspi-workload-mode label>span{display:block;min-height:84px;padding:16px;border:2px solid #dedede;border-radius:14px;background:#fff;box-sizing:border-box}
.tokuspi-workload-mode label>span strong,.tokuspi-workload-mode label>span small{display:block}
.tokuspi-workload-mode label>span strong{font-size:15px;color:#222}.tokuspi-workload-mode label>span small{margin-top:5px;color:#777;font-size:10px;line-height:1.4}
.tokuspi-workload-mode input:checked+span{border-color:#84cf35;background:#f5fee9;box-shadow:0 0 0 3px rgba(132,207,53,.10)}
.tokuspi-workload-table{display:grid;border:1px solid #e1e1df;border-radius:14px;overflow:hidden;background:#fff}
.tokuspi-workload-row{display:grid;grid-template-columns:minmax(190px,1.6fr) minmax(130px,.8fr) minmax(100px,.65fr) minmax(100px,.65fr) 80px;gap:10px;align-items:center;padding:12px 14px;border-top:1px solid #ececea}
.tokuspi-workload-row:first-child{border-top:0}.tokuspi-workload-row.is-head{background:#f5f4f0;color:#6f716f;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.07em}
.tokuspi-workload-user strong,.tokuspi-workload-user small{display:block}.tokuspi-workload-user strong{font-size:13px}.tokuspi-workload-user small{margin-top:2px;color:#878787;font-size:9px}
.tokuspi-percent-input{position:relative;max-width:105px}.tokuspi-percent-input input{width:100%;height:40px;padding:7px 27px 7px 9px;border:1px solid #d8d8d6;border-radius:9px;box-sizing:border-box}.tokuspi-percent-input b{position:absolute;right:9px;top:50%;transform:translateY(-50%);color:#777;font-size:11px}
.tokuspi-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.tokuspi-toggle input{position:absolute;opacity:0}.tokuspi-toggle i{position:relative;width:37px;height:21px;border-radius:999px;background:#c9cbca;transition:.15s}.tokuspi-toggle i:after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.22);transition:.15s}.tokuspi-toggle input:checked+i{background:#86cf37}.tokuspi-toggle input:checked+i:after{left:19px}.tokuspi-toggle b{font-size:10px;color:#666}
.tokuspi-workload-counter{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 15px;border:1px solid #e5e2dc;border-radius:12px;background:#faf9f6}.tokuspi-workload-counter>div strong,.tokuspi-workload-counter>div span{display:block}.tokuspi-workload-counter>div strong{font-size:25px}.tokuspi-workload-counter>div span{font-size:10px;color:#777}.tokuspi-workload-counter label{font-size:11px;font-weight:750;color:#4d4d4d}

@media(max-width:760px){
  .tokuspi-job-owner-head{align-items:flex-start;flex-direction:column}.tokuspi-job-transfer-form{grid-template-columns:1fr}.tokuspi-job-transfer-form button{width:100%}
  .tokuspi-workload-mode{grid-template-columns:1fr}.tokuspi-workload-row{grid-template-columns:1.3fr .8fr}.tokuspi-workload-row.is-head{display:none}.tokuspi-workload-row>span:nth-child(3):before{content:"Target: ";font-size:9px;color:#888}.tokuspi-workload-row>span:nth-child(4):before{content:"Effective: ";font-size:9px;color:#888}.tokuspi-workload-row>span:nth-child(5):before{content:"Assigned: ";font-size:9px;color:#888}.tokuspi-workload-counter{align-items:flex-start;flex-direction:column}
}


/* v0.9.101 — real guest thumbnails in self-submission signer selection */
#tokuspi-submission-root .tokuspi-signer-avatar.has-photo{
  overflow:hidden;
  padding:0;
  background:#eee;
  border-color:#d2b55e;
}
#tokuspi-submission-root .tokuspi-signer-avatar.has-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
@media(max-width:700px){
  #tokuspi-submission-root .tokuspi-signer-card{
    grid-template-columns:64px minmax(0,1fr) 28px;
    min-height:86px;
  }
  #tokuspi-submission-root .tokuspi-signer-avatar{
    width:60px;
    height:60px;
    border-radius:12px;
  }
}


/* v0.9.107 — clearer artist-selection step */
#tokuspi-submission-root .tokuspi-signer-grid{
  margin-top:18px;
}
#tokuspi-submission-root .tokuspi-signer-card{
  min-height:88px;
}
#tokuspi-submission-root .tokuspi-signer-avatar{
  width:58px;
  height:58px;
}
#tokuspi-submission-root .tokuspi-signer-card{
  grid-template-columns:60px minmax(0,1fr) 28px;
}
#tokuspi-submission-root .tokuspi-signer-card strong{
  font-size:14px;
}
#tokuspi-submission-root .tokuspi-signer-card small{
  font-size:10px;
  line-height:1.35;
}
#tokuspi-submission-root .tokuspi-signer-empty{
  grid-column:1/-1;
  padding:16px;
  border:1px solid #e4b7bb;
  border-radius:12px;
  background:#fff4f5;
  color:#8e1720;
}
#tokuspi-submission-root .tokuspi-signer-empty strong,
#tokuspi-submission-root .tokuspi-signer-empty small{
  display:block;
}
#tokuspi-submission-root .tokuspi-signer-empty small{
  margin-top:4px;
  color:#74585b;
}


/* v0.9.108 — visible event artist preview + robust artist cards */
#tokuspi-submission-root .tokuspi-event-artist-preview{
  margin:18px 0;
  padding:15px;
  border:1px solid #ddd6c9;
  border-radius:15px;
  background:#faf8f3;
}
#tokuspi-submission-root .tokuspi-event-artist-preview>strong{
  display:block;
  margin-bottom:10px;
  font-size:12px;
  letter-spacing:.07em;
  text-transform:uppercase;
}
#tokuspi-submission-root .tokuspi-event-artist-preview>div{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
#tokuspi-submission-root .tokuspi-event-artist-preview span{
  display:flex;
  align-items:center;
  gap:6px;
  padding:5px 8px 5px 5px;
  border:1px solid #e0dbd1;
  border-radius:999px;
  background:#fff;
  font-size:10px;
}
#tokuspi-submission-root .tokuspi-event-artist-preview img{
  width:30px;
  height:30px;
  border-radius:50%;
  object-fit:cover;
  object-position:center top;
}
#tokuspi-submission-root .tokuspi-event-artist-preview small{
  display:block;
  margin-top:10px;
  color:#70757a;
  font-size:10px;
}

/* v0.9.115 — sticky primary actions on the first two self-submission screens */
.tokuspi-event-picker{
  padding-bottom:118px;
}

.tokuspi-picker-sticky-actions{
  position:fixed;
  left:50%;
  bottom:max(10px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  width:min(860px,calc(100vw - 28px));
  margin:0;
  padding:10px 12px;
  border:1px solid rgba(207,198,181,.92);
  border-radius:17px;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 34px rgba(20,20,20,.18),0 2px 8px rgba(20,20,20,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  z-index:10000;
  box-sizing:border-box;
}

.tokuspi-picker-sticky-start.is-large{
  width:100%;
  max-width:none;
  min-height:64px;
  margin-top:0;
  box-sizing:border-box;
}

/* The Welcome screen uses the same fixed action dock as the wizard. */
#tokuspi-submission-root .tokuspi-wizard-step.is-active[data-step="welcome"]{
  padding-bottom:112px;
}

#tokuspi-submission-root .tokuspi-wizard-step.is-active[data-step="welcome"] .tokuspi-welcome-actions{
  position:fixed!important;
  left:50%!important;
  bottom:max(10px,env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;
  width:min(860px,calc(100vw - 28px))!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid rgba(207,198,181,.92)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 12px 34px rgba(20,20,20,.18),0 2px 8px rgba(20,20,20,.08)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  z-index:10000!important;
  box-sizing:border-box;
}

#tokuspi-submission-root .tokuspi-welcome-actions .tokuspi-hero-button{
  width:100%!important;
  margin-top:0!important;
}

@media(max-width:700px){
  .tokuspi-event-picker{
    padding-bottom:104px;
  }

  .tokuspi-picker-sticky-actions{
    bottom:max(6px,env(safe-area-inset-bottom));
    width:calc(100vw - 12px);
    padding:8px;
    border-radius:15px;
  }

  .tokuspi-picker-sticky-start.is-large{
    min-height:60px;
    border-radius:14px;
  }

  #tokuspi-submission-root .tokuspi-wizard-step.is-active[data-step="welcome"]{
    padding-bottom:104px;
  }

  #tokuspi-submission-root .tokuspi-wizard-step.is-active[data-step="welcome"] .tokuspi-welcome-actions{
    bottom:max(6px,env(safe-area-inset-bottom))!important;
    width:calc(100vw - 12px)!important;
    padding:8px!important;
    border-radius:15px!important;
  }
}



/* v0.9.117 — submission workflow uses an app-like layout without the theme page hero */
.page-hero{
  display:none!important;
}
.content-shell{
  padding-top:24px!important;
}
.tokuspi-submit-shell{
  margin-top:18px;
}
@media(max-width:700px){
  .content-shell{
    padding-top:12px!important;
  }
  .tokuspi-submit-shell{
    margin-top:10px;
  }
}

/* v0.9.124 — event-day submission availability states */
.tokuspi-live-dot.is-inactive{
  background:#9aa0a6;
  box-shadow:0 0 0 5px rgba(125,130,135,.11);
}
.tokuspi-active-event-card.is-closed{
  border-color:#d7d4cc;
  background:linear-gradient(145deg,#fff,#f8f7f3);
  box-shadow:0 12px 30px rgba(30,30,30,.07);
}
.tokuspi-active-event-card.is-closed:before{
  background:linear-gradient(180deg,#c7a34b,#a7822d);
}
.tokuspi-active-event-badge.is-closed{
  background:#f0eeea;
  color:#6f6759;
}
.tokuspi-active-event-badge.is-closed span{
  background:#9e9586;
}
.tokuspi-event-availability-note{
  margin:15px 0 0!important;
  padding:11px 13px;
  border:1px solid #e1ddd4;
  border-radius:11px;
  background:#fbf8f1;
  color:#655b4b!important;
  font-size:12px!important;
  font-weight:750;
  line-height:1.45;
}
.tokuspi-event-start-button.is-disabled,
.tokuspi-event-start-button.is-disabled:hover,
.tokuspi-event-start-button.is-disabled:active{
  cursor:not-allowed;
  background:linear-gradient(180deg,#e8e8e4,#d7d7d1)!important;
  color:#5f625b!important;
  border-color:#c7c8c1!important;
  text-shadow:none!important;
  box-shadow:0 4px 0 #b7b8b1,0 8px 18px rgba(20,20,20,.10)!important;
  transform:none!important;
  filter:none!important;
  animation:none!important;
  user-select:none;
}
.tokuspi-event-start-button.is-disabled:after{
  display:none!important;
}
.tokuspi-event-start-button.is-disabled small{
  color:#777b72!important;
}
@media(max-width:700px){
  .tokuspi-event-start-button.is-disabled > span{
    font-size:clamp(18px,5vw,24px);
    text-align:center;
  }
}

/* v0.9.125: processor-only download links for client-submitted photos. */
.tokuspi-submission-review-photo-card{display:grid;gap:5px;min-width:0}.tokuspi-submission-photo-preview{position:relative;display:block;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#eee}.tokuspi-submission-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}.tokuspi-submission-photo-preview span{position:absolute;left:5px;bottom:5px;background:#111;color:#fff;padding:3px 5px;border-radius:4px;font-size:9px}.tokuspi-submission-photo-download{display:flex;align-items:center;justify-content:center;min-height:32px;padding:6px 8px;border:1px solid #d5c39c;border-radius:7px;background:#fff8e8;color:#765512!important;text-decoration:none!important;font-size:10px;font-weight:800}.tokuspi-submission-photo-download:hover{background:#f7ebcb}.

/* v0.9.126 — shared non-downloadable certificate preview */
.tokuspi-coa-preview-host{width:100%;max-width:940px;margin:0 auto;--cp-header:#171717;--cp-gold:#b89243;--cp-red:#c71818;--cp-paper:#f8f5ed}.tokuspi-coa-preview{position:relative;width:100%;aspect-ratio:200/138;overflow:hidden;border:5px solid #111;background:var(--cp-paper);color:#171717;font-family:Arial,Helvetica,sans-serif;box-shadow:0 16px 40px rgba(18,18,18,.13);user-select:none;-webkit-user-select:none}.tokuspi-coa-preview:after{content:"";position:absolute;inset:7px;border:2px solid var(--cp-gold);pointer-events:none;z-index:20}.tokuspi-cp-header{position:relative;z-index:3;height:19%;display:grid;grid-template-columns:31% minmax(0,1fr);gap:3%;align-items:center;padding:2.2% 3.2%;background:var(--cp-header);border-bottom:3px solid var(--cp-gold)}.tokuspi-cp-logo{display:block;width:100%;max-width:245px;max-height:72px;object-fit:contain;object-position:left center;pointer-events:none}.tokuspi-cp-logo-text{color:#fff;font-size:clamp(13px,2.2vw,25px);letter-spacing:.09em}.tokuspi-cp-header-copy{min-width:0;text-align:right}.tokuspi-cp-header-copy h2{margin:0!important;color:#fff!important;font:700 clamp(13px,2.2vw,25px)/1.05 Georgia,'Times New Roman',serif!important;letter-spacing:.035em;white-space:nowrap}.tokuspi-cp-header-copy>div{display:flex;align-items:center;justify-content:flex-end;gap:2%;margin-top:2%}.tokuspi-cp-header-copy span{color:#d6b360;font-size:clamp(6px,.92vw,11px);font-weight:800;letter-spacing:.08em;white-space:nowrap}.tokuspi-cp-header-copy b{border:1px solid var(--cp-gold);border-radius:7px;padding:1.4% 2.2%;color:#d7b55e;font-size:clamp(6px,.9vw,11px);letter-spacing:.08em;white-space:nowrap}.tokuspi-cp-main{position:relative;z-index:2;height:63%;display:grid;grid-template-columns:31% minmax(0,1fr);gap:4%;padding:2.5% 3.4% 2%}.tokuspi-cp-photo-col{min-width:0;display:flex;flex-direction:column;align-items:center}.tokuspi-cp-photo-frame{width:100%;height:88%;border:2px solid var(--cp-gold);border-radius:11px;background:#fff;padding:4%;display:flex;align-items:center;justify-content:center;overflow:hidden}.tokuspi-cp-photo{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;pointer-events:none}.tokuspi-cp-photo-empty{text-align:center;color:#8c8c8c;font-size:clamp(8px,1.05vw,13px);font-weight:800;line-height:1.25}.tokuspi-cp-photo-empty small{display:block;font-weight:600;margin-top:3px}.tokuspi-cp-photo-col>small{margin-top:2%;font-size:clamp(6px,.8vw,10px);color:#6f6f6f;font-weight:800;letter-spacing:.09em}.tokuspi-cp-copy{min-width:0;overflow:hidden}.tokuspi-cp-name-accent{width:18%;height:4px;margin:1% 0 2%;background:linear-gradient(90deg,var(--cp-red) 0 58%,var(--cp-gold) 58%)}.tokuspi-cp-artist{margin:0!important;font:700 clamp(18px,3.1vw,36px)/.98 Georgia,'Times New Roman',serif!important;text-transform:uppercase;overflow-wrap:anywhere}.tokuspi-cp-artist.is-pending{color:#777}.tokuspi-cp-designation{margin-top:1%;color:#60636a;font-size:clamp(8px,1.15vw,13px);line-height:1.18;overflow-wrap:anywhere}.tokuspi-cp-autograph{display:flex;gap:1.5%;align-items:baseline;margin-top:1.1%;font-size:clamp(7px,.9vw,11px);color:#5e5549}.tokuspi-cp-autograph b{color:var(--cp-red);font-size:.88em;letter-spacing:.05em}.tokuspi-cp-multi-title{display:flex;align-items:flex-end;gap:2%;margin:1% 0 1.5%}.tokuspi-cp-multi-title span{color:var(--cp-red);font-size:clamp(7px,.85vw,10px);font-weight:900;letter-spacing:.1em}.tokuspi-cp-multi-title strong{font:700 clamp(13px,2vw,23px)/1 Georgia,serif}.tokuspi-cp-signer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2% 2%}.tokuspi-cp-signer-grid>div{border-bottom:1px solid rgba(20,20,20,.14);padding-bottom:1%}.tokuspi-cp-signer-grid strong{display:block;font:700 clamp(8px,1vw,12px)/1.05 Georgia,serif;text-transform:uppercase;overflow-wrap:anywhere}.tokuspi-cp-signer-grid span{display:block;margin-top:2px;color:#666;font-size:clamp(6px,.78vw,9px);line-height:1.08;overflow-wrap:anywhere}.tokuspi-cp-more{display:block;margin-top:1%;font-size:clamp(6px,.78vw,9px);font-weight:800;color:#6c604c}.tokuspi-cp-preview-statement{margin:1.6% 0 1.7%!important;font-size:clamp(7px,.95vw,11px)!important;line-height:1.24!important;color:#343434!important}.tokuspi-cp-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2% 2.5%}.tokuspi-cp-detail{min-width:0;border-top:1px solid rgba(20,20,20,.15);padding-top:1%}.tokuspi-cp-detail.is-wide{grid-column:1/-1}.tokuspi-cp-detail span{display:block;color:#777;font-size:clamp(5.5px,.7vw,8px);font-weight:800;letter-spacing:.08em}.tokuspi-cp-detail strong{display:block;margin-top:1px;font-size:clamp(7px,.9vw,11px);line-height:1.12;overflow-wrap:anywhere}.tokuspi-cp-event{display:flex;gap:1.5%;margin-top:1.6%;padding-top:1.2%;border-top:1px solid rgba(184,146,67,.42);font-size:clamp(6px,.76vw,9px);line-height:1.15}.tokuspi-cp-event b{color:var(--cp-red);white-space:nowrap}.tokuspi-cp-event span{color:#5c5c5c;overflow-wrap:anywhere}.tokuspi-cp-footer{position:relative;z-index:2;height:18%;display:grid;grid-template-columns:minmax(0,1fr) 13% 18%;gap:3%;align-items:center;padding:1.8% 3.5%;background:var(--cp-header);border-top:3px solid var(--cp-gold);color:#fff}.tokuspi-cp-footer>div:first-child b{display:block;color:#d7b55e;font-size:clamp(7px,.9vw,11px);letter-spacing:.09em}.tokuspi-cp-footer>div:first-child span{display:block;margin-top:3px;color:#d4d4d4;font-size:clamp(5.5px,.7vw,8px)}.tokuspi-cp-preview-seal{aspect-ratio:1;border:2px solid var(--cp-gold);border-radius:50%;display:grid;place-items:center;color:var(--cp-gold);font-size:clamp(6px,.75vw,9px);font-weight:900;letter-spacing:.06em}.tokuspi-cp-qr-placeholder{height:80%;border:1px solid #d1b15e;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;color:#171717}.tokuspi-cp-qr-placeholder span{font-size:clamp(5px,.64vw,8px);font-weight:900;color:var(--cp-red);letter-spacing:.06em}.tokuspi-cp-qr-placeholder b{margin-top:2px;font-size:clamp(5.5px,.72vw,9px);line-height:1.05}.tokuspi-cp-watermark{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-18deg);display:flex;flex-direction:column;align-items:center;pointer-events:none;color:rgba(183,18,27,.16);white-space:nowrap}.tokuspi-cp-watermark strong{font:900 clamp(38px,10vw,120px)/.8 Arial,sans-serif;letter-spacing:.06em}.tokuspi-cp-watermark span{font:900 clamp(13px,2.8vw,33px)/1 Arial,sans-serif;letter-spacing:.15em;margin-top:10px}
.tokuspi-fan-preview-panel{margin:24px 0 8px;padding:18px;border:1px solid #d9cfbc;border-radius:16px;background:#fbf8f1}.tokuspi-fan-preview-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(240px,1.1fr);gap:18px;align-items:end;margin-bottom:14px}.tokuspi-fan-preview-head h3{margin:3px 0 0!important;font:700 27px/1.08 Georgia,serif!important}.tokuspi-fan-preview-head p{margin:0!important;color:#666!important;font-size:13px!important;line-height:1.45!important}.tokuspi-preview-item-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}.tokuspi-preview-item-tabs:empty{display:none}.tokuspi-preview-item-tabs button{appearance:none;border:1px solid #cfc7b9;border-radius:999px;background:#fff;padding:8px 12px;font:800 11px/1 inherit;cursor:pointer}.tokuspi-preview-item-tabs button.is-active{background:#171717;border-color:#171717;color:#fff}.tokuspi-preview-disclaimer{margin:12px 0 0!important;padding:10px 12px;border-radius:9px;background:#f0ebe0;color:#62594c!important;font-size:11px!important;line-height:1.4!important}.tokuspi-preview-disclaimer strong{color:#a71c21}
@media(max-width:700px){.tokuspi-fan-preview-panel{padding:13px;margin-top:18px}.tokuspi-fan-preview-head{grid-template-columns:1fr;gap:7px}.tokuspi-fan-preview-head h3{font-size:22px!important}.tokuspi-coa-preview{border-width:3px}.tokuspi-coa-preview:after{inset:4px;border-width:1px}.tokuspi-cp-header{border-bottom-width:2px}.tokuspi-cp-footer{border-top-width:2px}.tokuspi-cp-photo-frame{border-width:1px;border-radius:6px}.tokuspi-cp-name-accent{height:2px}.tokuspi-cp-watermark span{margin-top:4px}}
@media print{.tokuspi-fan-preview-panel,.tokuspi-certificate-preview-modal{display:none!important}}

/* v0.9.127 exact production-layout certificate preview */
.tokuspi-exact-certificate-preview{display:block;width:100%;max-width:100%;aspect-ratio:200/138;border:0;background:#d9d9d9;overflow:hidden}.tokuspi-preview-loading,.tokuspi-preview-error{max-width:940px;min-height:180px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;padding:24px;border:1px solid #d8d8d4;border-radius:12px;background:#fff;color:#222}.tokuspi-preview-loading span,.tokuspi-preview-error span{font-size:12px;color:#68707a}.tokuspi-preview-error strong{color:#a52026}.tokuspi-certificate-preview-scroll [data-admin-certificate-preview],.tokuspi-fan-preview-panel [data-fan-certificate-preview]{width:100%;max-width:100%}@media(max-width:700px){.tokuspi-exact-certificate-preview{min-height:230px}}@media print{.tokuspi-exact-certificate-preview{display:none!important}}

/* v0.9.128 enlarged certificate preview */
.tokuspi-preview-render-wrap{width:100%;max-width:100%}.tokuspi-preview-render-controls{display:flex;justify-content:flex-end;align-items:center;margin:0 0 9px}.tokuspi-preview-enlarge-button{appearance:none;border:1px solid #24282d;border-radius:9px;background:#24282d;color:#fff;padding:9px 13px;font:800 12px/1 Arial,sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.tokuspi-preview-enlarge-button:hover{background:#3a4047}.tokuspi-preview-enlarge-button:focus-visible{outline:3px solid rgba(183,32,38,.25);outline-offset:2px}.tokuspi-preview-render-frame{width:100%;max-width:100%}.tokuspi-preview-enlarged-open{overflow:hidden!important}.tokuspi-preview-enlarged-overlay[hidden]{display:none!important}.tokuspi-preview-enlarged-overlay{position:fixed;inset:0;z-index:100500;display:grid;place-items:center;padding:10px}.tokuspi-preview-enlarged-backdrop{position:absolute;inset:0;background:rgba(5,8,11,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.tokuspi-preview-enlarged-dialog{position:relative;z-index:1;width:calc(100vw - 20px);height:calc(100vh - 20px);max-width:1720px;display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 26px 90px rgba(0,0,0,.48)}.tokuspi-preview-enlarged-dialog>header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid #ddd;background:#f7f6f2}.tokuspi-preview-enlarged-dialog>header strong{display:block;font-size:16px}.tokuspi-preview-enlarged-dialog>header small{display:block;margin-top:2px;color:#68707a;font-size:11px}.tokuspi-preview-enlarged-dialog>header button{width:40px;height:40px;border:1px solid #d0d3d6;border-radius:10px;background:#fff;color:#20252a;font-size:27px;line-height:1;cursor:pointer}.tokuspi-preview-enlarged-stage{flex:1;min-height:0;overflow:auto;padding:18px;background:#3d4145}.tokuspi-preview-enlarged-frame-host{width:min(1580px,100%);min-width:900px;margin:0 auto}.tokuspi-exact-certificate-preview.is-enlarged{width:100%;max-width:none;min-height:620px;box-shadow:0 14px 45px rgba(0,0,0,.3)}.tokuspi-preview-enlarged-dialog>footer{flex:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 15px;border-top:1px solid #ddd;background:#fff}.tokuspi-preview-enlarged-dialog>footer span{color:#a52026;font:800 11px/1.2 Arial,sans-serif;letter-spacing:.04em}.tokuspi-preview-enlarged-dialog>footer button{appearance:none;border:1px solid #c9cdd1;border-radius:8px;background:#fff;color:#20252a;padding:9px 14px;font:700 12px/1 Arial,sans-serif;cursor:pointer}@media(max-width:760px){.tokuspi-preview-render-controls{margin-bottom:7px}.tokuspi-preview-enlarge-button{width:100%;justify-content:center;min-height:44px}.tokuspi-preview-enlarged-overlay{padding:4px}.tokuspi-preview-enlarged-dialog{width:calc(100vw - 8px);height:calc(100vh - 8px);border-radius:10px}.tokuspi-preview-enlarged-stage{padding:10px}.tokuspi-preview-enlarged-frame-host{min-width:760px}.tokuspi-preview-enlarged-dialog>footer span{display:none}}@media print{.tokuspi-preview-enlarged-overlay,.tokuspi-preview-render-controls{display:none!important}}

/* v0.9.131 — previously signed / private witnessed online submissions */
.tokuspi-previous-signing-entry{margin:18px 0 4px;padding:16px 17px;border:1px solid #d9cfbc;border-radius:15px;background:linear-gradient(145deg,#fffdf8,#f6f0e4);display:flex;align-items:center;justify-content:space-between;gap:18px}.tokuspi-previous-signing-entry>div{min-width:0;display:grid;gap:3px}.tokuspi-previous-signing-entry>div>span{color:#a52026;font-size:10px;font-weight:900;letter-spacing:.11em}.tokuspi-previous-signing-entry>div>strong{font:700 20px/1.1 Georgia,'Times New Roman',serif;color:#191919}.tokuspi-previous-signing-entry>div>small{color:#686258;font-size:12px;line-height:1.4}.tokuspi-previous-signing-entry>a{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:10px;background:#171717;color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:900;letter-spacing:.035em}.tokuspi-previous-signing-entry>a:hover{background:#303030}
.tokuspi-special-picker{max-width:920px}.tokuspi-special-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:22px 0}.tokuspi-special-source-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:116px;padding:17px;border:1px solid #d9d3c7;border-radius:15px;background:#fff;color:#171717!important;text-decoration:none!important;box-shadow:0 8px 24px rgba(25,25,25,.055);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.tokuspi-special-source-card:hover{transform:translateY(-2px);border-color:#b89243;box-shadow:0 12px 28px rgba(25,25,25,.09)}.tokuspi-special-source-card>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f2ead8;color:#8c6718;font-size:11px;font-weight:900}.tokuspi-special-source-card>div{display:grid;gap:5px;min-width:0}.tokuspi-special-source-card strong{font:700 18px/1.12 Georgia,'Times New Roman',serif}.tokuspi-special-source-card small{color:#6c6a65;font-size:12px;line-height:1.38}.tokuspi-special-source-card>b{font-size:21px;color:#b89243}
.tokuspi-past-event-list{display:grid;gap:10px;margin:20px 0}.tokuspi-past-event-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;border:1px solid #dcd6cb;border-radius:13px;background:#fff;color:#171717!important;text-decoration:none!important}.tokuspi-past-event-card:hover{border-color:#b89243;background:#fffdf8}.tokuspi-past-event-card>div{min-width:0;display:grid;gap:4px}.tokuspi-past-event-card strong{font:700 17px/1.15 Georgia,'Times New Roman',serif}.tokuspi-past-event-card span{font-size:12px;font-weight:700;color:#4d4f51}.tokuspi-past-event-card small{font-size:11px;color:#77736c}.tokuspi-past-event-card>b{flex:none;color:#a52026;font-size:11px;letter-spacing:.05em}
.tokuspi-paypal-account{margin:11px 0;padding:10px 12px;border:1px solid #d8cfbd;border-radius:10px;background:#fffaf0;font-size:12px;line-height:1.45;color:#5f574a}.tokuspi-paypal-account strong{color:#242424}.tokuspi-payment-proof-note{margin-top:9px;color:#6a6257;font-size:11px;line-height:1.42}.tokuspi-online-payment-proof{margin:14px 0;padding:15px 16px;border:1px solid #d6c59f;border-radius:12px;background:#fff8e8;display:grid;gap:4px}.tokuspi-online-payment-proof>span{color:#8e681a;font-size:10px;font-weight:900;letter-spacing:.09em}.tokuspi-online-payment-proof>strong{font:700 20px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#171717;overflow-wrap:anywhere}.tokuspi-online-payment-proof>small{color:#6a6257;font-size:11px}.tokuspi-source-label{display:block;margin-top:4px;color:#7b7365;font-size:10px;text-align:right}.tokuspi-private-signing-summary .tokuspi-submission-details{margin-bottom:0}
@media(max-width:700px){.tokuspi-previous-signing-entry{align-items:stretch;flex-direction:column;gap:12px}.tokuspi-previous-signing-entry>a{width:100%}.tokuspi-special-source-grid{grid-template-columns:1fr}.tokuspi-special-source-card{min-height:104px}.tokuspi-past-event-card{align-items:flex-start}.tokuspi-past-event-card>b{padding-top:3px}.tokuspi-source-label{text-align:left}}


/* v0.9.132 — standalone previously-signed certification request */
.tokuspi-special-picker{
  padding:42px clamp(28px,5vw,54px) 40px;
}
.tokuspi-special-picker .tokuspi-event-picker-intro{
  max-width:760px;
  margin:0 0 26px;
}
.tokuspi-special-picker .tokuspi-special-source-grid{
  margin:26px 0 0;
}
.tokuspi-special-workflow .tokuspi-submit-body{
  padding:40px clamp(30px,5.5vw,58px) 126px;
}
.tokuspi-special-workflow .tokuspi-signing-context-step>p{
  max-width:720px;
  margin-bottom:24px;
}
.tokuspi-special-workflow .tokuspi-submit-field{
  margin:22px 0;
}
.tokuspi-special-workflow .tokuspi-submit-callout{
  margin:24px 0;
}
@media(max-width:700px){
  .tokuspi-special-picker{padding:28px 20px 26px}
  .tokuspi-special-workflow .tokuspi-submit-body{padding:28px 20px 116px}
  .tokuspi-special-workflow .tokuspi-submit-field{margin:20px 0}
}


.tokuspi-special-signer-tools{margin:18px 0 20px;padding:16px 17px;border:1px solid #ded7c9;border-radius:13px;background:#faf8f3}
.tokuspi-special-signer-tools label{display:grid;gap:7px;margin:0}
.tokuspi-special-signer-tools label>span{font-size:12px;font-weight:850;color:#262626}
.tokuspi-special-signer-tools label>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
.tokuspi-special-signer-tools input{width:100%;min-height:46px;border:1px solid #cfc8bb;border-radius:10px;background:#fff;padding:10px 12px;font:inherit;color:#222}
.tokuspi-special-signer-tools button{min-height:46px;border:0;border-radius:10px;padding:10px 15px;background:#171717;color:#fff;font-size:11px;font-weight:900;letter-spacing:.04em;cursor:pointer}
.tokuspi-special-signer-tools small{color:#706b63;font-size:11px;line-height:1.45}
@media(max-width:620px){.tokuspi-special-signer-tools{padding:14px}.tokuspi-special-signer-tools label>div{grid-template-columns:1fr}.tokuspi-special-signer-tools button{width:100%}}

/* v0.9.143 — Philippine GCash payment details */
.tokuspi-gcash-account{display:grid;grid-template-columns:minmax(96px,auto) 1fr;gap:5px 12px;align-items:baseline}.tokuspi-gcash-account span{color:#7b6f5c;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.tokuspi-gcash-account strong{display:block;overflow-wrap:anywhere}@media(max-width:560px){.tokuspi-gcash-account{grid-template-columns:1fr;gap:2px}.tokuspi-gcash-account strong+span{margin-top:7px}}
