/* Participant — Tokenize wizard */
.tz{max-width:1320px;margin:0 auto;padding:26px 22px 60px}
.tz-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.tz-head h1{font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(26px,3vw,36px);letter-spacing:-.02em;margin:4px 0}
.tz-head p{color:#6F6959;font-size:14px}
.tz-samples{display:flex;gap:8px;flex-wrap:wrap}
.tz-samples button{border:1.5px solid #E7E0D0;background:#fff;border-radius:999px;padding:0 14px;min-height:40px;font-weight:700;font-size:12.5px;color:#15352A;cursor:pointer}
.tz-samples button:hover{border-color:#B6892B;color:#8A6716}
.tz-grid{display:grid;grid-template-columns:230px minmax(0,1fr) 300px;gap:20px;align-items:start}
/* stepper */
.tz-rail{position:sticky;top:120px;background:#fff;border:1px solid #ECE4D2;border-radius:18px;padding:10px;box-shadow:0 10px 30px rgba(16,40,32,.06)}
.tz-rail button{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;text-align:left;padding:10px;border-radius:12px;cursor:pointer;min-height:48px;color:#3d4741;font-size:13.5px;font-weight:700}
.tz-rail button:hover{background:#FBF8F1}.tz-rail button.on{background:#143A2E;color:#fff}
.tz-rail .n{width:26px;height:26px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;border:2px solid #E1D8C4;color:#8a826f;background:#fff}
.tz-rail button.on .n{border-color:#CBA24C;color:#143A2E;background:#CBA24C}
.tz-rail button.done .n{background:#2fb37a;border-color:#2fb37a;color:#fff}
.tz-rail button.warn .n{background:#FFF1D6;border-color:#E3B341;color:#8A6716}
.tz-prog{height:6px;border-radius:999px;background:#EDE6D8;margin:8px 10px 6px;overflow:hidden}.tz-prog i{display:block;height:100%;background:linear-gradient(90deg,#B6892B,#CBA24C);transition:width .4s}
.tz-prog-l{font-size:11px;color:#6F6959;margin:0 10px 6px}
/* main panel */
.tz-main{background:#fff;border:1px solid #ECE4D2;border-radius:22px;box-shadow:0 10px 30px rgba(16,40,32,.06);min-width:0}
.tz-step-h{padding:24px 28px 8px}.tz-step-h .k{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#8A6716;letter-spacing:.06em}
.tz-step-h h2{font-size:24px!important;margin:4px 0 4px;color:#15352A}.tz-step-h p{font-size:14px;color:#6F6959}
.tz-sec{padding:14px 28px 6px;border-top:1px solid #F2ECDF;margin-top:10px}
.tz-sec>h3{font-size:12px!important;letter-spacing:.08em;text-transform:uppercase;color:#8A6716;margin:6px 0 14px}
.tz-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.tz-f{display:flex;flex-direction:column;gap:6px;min-width:0}.tz-f.full{grid-column:1/-1}
.tz-f>label,.tz-f>.lbl{font-size:12.5px;font-weight:800;color:#15352A;display:flex;gap:6px;align-items:center}
.tz-f .req{color:#c0392b}.tz-f .hint{font-size:11.5px;color:#7d776a;line-height:1.45}
.tz-f .err{font-size:11.5px;color:#b3261e;font-weight:700}.tz-f .warn{font-size:11.5px;color:#8A6716;font-weight:700}
.tz-in{display:flex;align-items:stretch;border:1.5px solid #E1D8C4;border-radius:12px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.tz-in:focus-within{border-color:#B6892B;box-shadow:0 0 0 4px rgba(182,137,43,.14)}
.tz-in.bad{border-color:#d9534f}
.tz-in input,.tz-in select,.tz-in textarea{flex:1;min-width:0;border:none;outline:none;padding:12px 13px;font:inherit;font-size:14.5px;color:#15352A;background:transparent;min-height:46px}
.tz-in textarea{min-height:84px;resize:vertical}
.tz-in .ad{display:flex;align-items:center;padding:0 12px;background:#FBF8F1;color:#6F6959;font-size:12.5px;font-weight:700;white-space:nowrap}
.tz-in.locked{background:#F6F2E8}.tz-in.locked input,.tz-in.locked select{color:#6F6959}
/* option cards & segments */
.tz-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.tz-card{position:relative;border:1.5px solid #E1D8C4;border-radius:16px;padding:14px;cursor:pointer;background:#fff;text-align:left;transition:.15s;min-height:84px}
.tz-card:hover{border-color:#CBA24C;transform:translateY(-1px)}
.tz-card.on{border-color:#143A2E;background:#F4F8F6;box-shadow:0 0 0 3px rgba(20,58,46,.10)}
.tz-card.on::after{content:'✓';position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:50%;background:#143A2E;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}
.tz-card.dis{opacity:.45;cursor:not-allowed}
.tz-card .ic{font-size:22px;line-height:1;margin-bottom:8px}.tz-card b{display:block;font-size:14px;color:#15352A}.tz-card small{display:block;font-size:11.5px;color:#7d776a;margin-top:3px;line-height:1.4}
.tz-seg{display:inline-flex;flex-wrap:wrap;gap:6px}
.tz-seg button{border:1.5px solid #E1D8C4;background:#fff;border-radius:999px;padding:0 14px;min-height:40px;font-weight:700;font-size:13px;color:#3d4741;cursor:pointer}
.tz-seg button.on{background:#143A2E;border-color:#143A2E;color:#fff}
.tz-seg button:disabled{opacity:.4;cursor:not-allowed}
.tz-tog{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:700;color:#15352A;cursor:pointer;min-height:44px}
.tz-tog .sw{width:46px;height:26px;border-radius:999px;background:#cfc6b2;position:relative;flex:none;transition:.2s}
.tz-tog .sw::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.tz-tog.on .sw{background:#2fb37a}.tz-tog.on .sw::after{left:23px}
.tz-range{width:100%;accent-color:#B6892B;min-height:32px}
.tz-calc{display:flex;flex-wrap:wrap;gap:8px}.tz-calc span{background:#F4F8F6;border:1px solid #D6E6DE;color:#143A2E;border-radius:10px;padding:8px 12px;font-size:12.5px;font-weight:700}
.tz-calc span b{font-family:'IBM Plex Mono',monospace}
.tz-note{background:#FFFBF2;border:1px solid #F0E3C4;border-radius:12px;padding:11px 14px;font-size:12.5px;color:#5f4a1a;line-height:1.55}
.tz-note.info{background:#F2F7FB;border-color:#D5E3EE;color:#2b4a63}
/* countries */
.cp{border:1.5px solid #E1D8C4;border-radius:14px;overflow:hidden}
.cp-top{display:flex;gap:8px;flex-wrap:wrap;padding:10px;background:#FBF8F1;border-bottom:1px solid #EFE8D8}
.cp-top input{flex:1;min-width:160px;border:1.5px solid #E1D8C4;border-radius:10px;padding:0 12px;min-height:40px;font:inherit}
.cp-top button{border:1.5px solid #E1D8C4;background:#fff;border-radius:999px;padding:0 12px;min-height:40px;font-size:12px;font-weight:700;cursor:pointer}
.cp-list{max-height:250px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px;padding:8px}
.cp-it{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;font-size:13px;cursor:pointer;min-height:36px}
.cp-it:hover{background:#FBF8F1}.cp-it input{width:16px;height:16px;accent-color:#143A2E}
.cp-it.blk{opacity:.5;cursor:not-allowed}
.fb{font-size:9.5px;font-weight:800;padding:2px 6px;border-radius:6px;margin-left:auto}.fb.g{background:#FFF1D6;color:#8A6716}.fb.b{background:#FDE2DE;color:#9a3535}
.cp-sel{display:flex;flex-wrap:wrap;gap:6px;padding:10px;border-top:1px solid #EFE8D8;max-height:120px;overflow:auto}
.cp-sel span{display:inline-flex;align-items:center;gap:6px;background:#143A2E;color:#fff;border-radius:999px;padding:4px 6px 4px 11px;font-size:12px;font-weight:700}
.cp-sel span.g{background:#8A6716}
.cp-sel button{border:none;background:rgba(255,255,255,.2);color:#fff;border-radius:50%;width:22px;height:22px;cursor:pointer}
/* files */
.drop{border:2px dashed #DCCFAF;border-radius:14px;padding:16px;text-align:center;background:#FFFCF5;cursor:pointer;position:relative}
.drop:hover{border-color:#B6892B}.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop b{color:#15352A;font-size:13.5px}.drop small{display:block;color:#7d776a;font-size:11.5px;margin-top:3px}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.thumbs img{width:74px;height:56px;object-fit:cover;border-radius:8px;border:1px solid #E7E0D0}
.flist{font-size:12px;color:#3d4741;margin-top:6px}.flist div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dashed #EEE6D4}
/* repeater */
.rep{border:1.5px solid #E7E0D0;border-radius:16px;padding:14px;margin-bottom:12px;background:#FDFBF6}
.rep-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:800;color:#15352A}
.rep-h button{border:none;background:none;color:#b3261e;font-weight:700;cursor:pointer;min-height:36px}
.add-btn{border:1.5px dashed #B6892B;background:#fff;color:#8A6716;border-radius:12px;min-height:46px;width:100%;font-weight:800;cursor:pointer}
/* footer nav */
.tz-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 28px;border-top:1px solid #F2ECDF;margin-top:16px;flex-wrap:wrap}
.tz-foot .b{border-radius:12px;min-height:48px;padding:0 20px;font-weight:800;cursor:pointer;font-size:14px}
.tz-foot .back{border:1.5px solid #E1D8C4;background:#fff;color:#15352A}.tz-foot .next{border:none;background:#143A2E;color:#fff;box-shadow:0 8px 20px rgba(20,58,46,.2)}
.tz-foot .save{border:none;background:none;color:#8A6716;text-decoration:underline}
/* summary rail */
.tz-sum{position:sticky;top:120px;display:flex;flex-direction:column;gap:14px}
.tok{border-radius:20px;padding:20px;color:#fff;background:radial-gradient(400px 200px at 90% 0,#2a6a55,transparent 70%),linear-gradient(155deg,#0f2d23,#143A2E);box-shadow:0 18px 40px rgba(15,45,35,.28)}
.tok .t{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:#CBA24C;letter-spacing:.1em}
.tok h4{font-size:19px;margin:6px 0 2px;color:#fff;word-break:break-word}.tok .sym{font-family:'IBM Plex Mono',monospace;color:#9FBDB0;font-size:12px}
.tok .r{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px}
.tok .r span{color:#9FBDB0}.tok .r b{text-align:right}
.tok .badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tok .badges i{font-style:normal;font-size:10.5px;font-weight:800;background:rgba(203,162,76,.16);color:#E9D8AE;border:1px solid rgba(203,162,76,.35);border-radius:999px;padding:4px 9px}
.ready{background:#fff;border:1px solid #ECE4D2;border-radius:18px;padding:16px}
.ready .ring{display:flex;align-items:center;gap:12px}.ready svg{flex:none}
.ready b{font-size:14px;color:#15352A}.ready small{display:block;font-size:12px;color:#6F6959}
.ready ul{list-style:none;margin:10px 0 0;padding:0;font-size:12px}.ready li{padding:5px 0;border-top:1px dashed #EEE6D4;color:#8A6716;cursor:pointer}
/* code + modules */
.mods{display:grid;gap:10px}
.mod{display:flex;gap:12px;align-items:flex-start;border:1.5px solid #E7E0D0;border-radius:14px;padding:13px 14px;background:#fff}
.mod.on{border-color:#2E6F5E;background:#F4FAF7}
.mod .cb{width:22px;height:22px;accent-color:#143A2E;margin-top:2px;flex:none}
.mod b{font-size:14px;color:#15352A}.mod .p{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#2E6F5E;margin-top:3px}
.mod small{display:block;font-size:12px;color:#6F6959;margin-top:3px;line-height:1.45}
.mod .rec{font-size:9.5px;font-weight:800;background:#E4F1EC;color:#2E6F5E;border-radius:6px;padding:2px 6px;margin-left:6px}
.codebox{position:relative;background:#0f1f19;border-radius:14px;overflow:hidden;margin-top:10px}
.codebox pre{margin:0;padding:16px;max-height:380px;overflow:auto;font-family:'IBM Plex Mono',monospace;font-size:11.5px;line-height:1.55;color:#cfe4da;white-space:pre}
.codebox .cp-btn{position:absolute;top:8px;right:8px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:8px;padding:0 10px;min-height:32px;font-size:11.5px;cursor:pointer}
/* CBDC demo */
.cb-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:12px;align-items:stretch}
.bank{border-radius:16px;padding:14px;border:1.5px solid #E7E0D0;background:#fff}
.bank .bh{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6F6959}
.bank .bn{font-weight:800;color:#15352A;margin:4px 0 10px}
.bal{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid #F2ECDF;font-size:13px}.bal b{font-family:'IBM Plex Mono',monospace}
.bal.flash{animation:fl 1s}@keyframes fl{0%{background:#FFF3D6}100%{background:transparent}}
.umi{border-radius:16px;padding:14px;background:linear-gradient(155deg,#0f2d23,#143A2E);color:#fff}
.umi .bh{color:#CBA24C;font-size:11px;font-weight:800;letter-spacing:.08em}
.ust{display:flex;gap:10px;align-items:center;padding:8px 0;font-size:12.5px;opacity:.4;transition:.3s}
.ust.on{opacity:1}.ust i{font-style:normal;width:22px;height:22px;border-radius:50%;border:2px solid #CBA24C;display:flex;align-items:center;justify-content:center;font-size:11px;flex:none}
.ust.ok i{background:#2fb37a;border-color:#2fb37a}.ust.no i{background:#d9534f;border-color:#d9534f}
.cb-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.cb-act button{border-radius:10px;min-height:44px;padding:0 14px;font-weight:800;cursor:pointer;border:1.5px solid #E1D8C4;background:#fff;color:#15352A}
.cb-act button.p{background:#143A2E;border-color:#143A2E;color:#fff}
.cb-log{margin-top:10px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;background:#FBF8F1;border-radius:12px;padding:10px;max-height:150px;overflow:auto}
/* review */
.rv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rv-card{border:1px solid #ECE4D2;border-radius:14px;padding:14px;background:#FDFBF6}
.rv-card h4{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#8A6716;margin-bottom:8px;display:flex;justify-content:space-between}
.rv-card h4 button{border:none;background:none;color:#8A6716;font-weight:800;cursor:pointer;text-transform:none;letter-spacing:0}
.rv-row{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:5px 0;border-top:1px dashed #EEE6D4}.rv-row span{color:#6F6959}.rv-row b{text-align:right;color:#15352A;word-break:break-word}
.done-box{text-align:center;padding:40px 28px}.done-box .big{font-size:54px}
@media(max-width:1180px){.tz-grid{grid-template-columns:200px minmax(0,1fr)}.tz-sum{position:static;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:860px){.tz-grid{grid-template-columns:minmax(0,1fr)}.tz-rail{position:static;display:flex;overflow-x:auto;gap:4px}
 .tz-rail button{width:auto;white-space:nowrap}.tz-rail .lbl-t{display:none}.tz-rail button.on .lbl-t{display:inline}.tz-prog,.tz-prog-l{display:none}
 .tz-fields,.rv-grid{grid-template-columns:minmax(0,1fr)}.tz-sum{grid-template-columns:minmax(0,1fr)}.cb-grid{grid-template-columns:minmax(0,1fr)}
 .tz-step-h,.tz-sec,.tz-foot{padding-left:16px;padding-right:16px}}
