*{box-sizing:border-box;margin:0;padding:0}:root{--rosso-red:#b3202c;--ink:#1f1a17;--paper:#faf7f4;--muted:#7a6f68;--line:#e5ddd6}body{background:var(--paper);color:var(--ink);font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,system-ui,sans-serif;line-height:1.6}main{flex-direction:column;max-width:28rem;min-height:100dvh;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex}h1{margin-bottom:1rem;font-size:1.25rem;font-weight:700}.brand{color:var(--rosso-red);letter-spacing:.04em;margin-bottom:2rem;font-weight:700}.field{margin-bottom:1.25rem;display:block}.field span{color:var(--muted);margin-bottom:.35rem;font-size:.85rem;display:block}input{border:1px solid var(--line);background:#fff;border-radius:.5rem;width:100%;padding:.75rem;font-size:1rem}.channel-choice{border:none;margin:0 0 1.25rem;padding:0}.channel-choice legend{color:var(--muted);margin-bottom:.35rem;padding:0;font-size:.85rem}.channel-choice .options{gap:.5rem;display:flex}.channel-choice label{border:1px solid var(--line);background:#fff;border-radius:.5rem;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.75rem;display:flex}.channel-choice input{width:auto;accent-color:var(--rosso-red)}button{background:var(--rosso-red);color:#fff;border:none;border-radius:.5rem;width:100%;margin-top:.5rem;padding:.9rem;font-size:1rem;font-weight:700}.balance-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:.75rem;padding:2rem 1.5rem}.balance-card .label{color:var(--muted);font-size:.9rem}.balance-card .points{color:var(--rosso-red);font-size:3rem;font-weight:700;line-height:1.2}.balance-card .unit{color:var(--ink);margin-left:.25rem;font-size:1.1rem}.greeting{margin-bottom:1.5rem}.note{color:var(--muted);margin-top:1.5rem;font-size:.85rem}.lead{color:var(--muted);margin-bottom:1.25rem;font-size:.9rem}.result{border-radius:.5rem;margin-bottom:1.25rem;padding:.9rem 1rem;font-size:.95rem}.result.ok{background:#eef6ee;border:1px solid #bfdcbf}.result.ng{background:#fbefee;border:1px solid #e8c2be}.result.pending{background:#fdf6ec;border:1px solid #ecd9b8}.pending-claims{background:#fdf6ec;border:1px solid #ecd9b8;border-radius:.5rem;margin-top:1.25rem;padding:.9rem 1rem}.pending-claims h2{margin:0 0 .5rem;font-size:.9rem}.pending-claims ul{margin:0;padding:0;list-style:none}.pending-claims li{justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.9rem;display:flex}.pending-claims .order{overflow-wrap:anywhere}.pending-claims .badge{color:#8a6116;background:#f7e8c9;border-radius:999px;flex-shrink:0;padding:.15rem .6rem;font-size:.75rem;font-weight:700}.pending-claims .note{margin-top:.6rem}.button-link{text-align:center;background:var(--rosso-red);color:#fff;border-radius:.5rem;margin-top:1.5rem;padding:.9rem;font-size:1rem;font-weight:700;text-decoration:none;display:block}.button-link.secondary{color:var(--rosso-red);border:1px solid var(--rosso-red);background:#fff;margin-top:.75rem}.order-history{margin-top:1.25rem;padding:0;list-style:none}.order-history li{border:1px solid var(--line);background:#fff;border-radius:.75rem;margin-bottom:.75rem;padding:.9rem 1rem}.order-history .meta{color:var(--muted);align-items:center;gap:.6rem;font-size:.85rem;display:flex}.order-history .channel{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.1rem .6rem;font-size:.75rem;font-weight:700}.order-history .detail{justify-content:space-between;align-items:baseline;gap:.5rem;margin-top:.35rem;display:flex}.order-history .order{overflow-wrap:anywhere;font-size:.9rem}.order-history .earned{color:var(--rosso-red);flex-shrink:0;font-size:1.05rem;font-weight:700}.order-history .amount{color:var(--muted);margin-top:.25rem;font-size:.85rem}.back-link{text-align:center;margin-top:1.5rem;font-size:.9rem}.back-link a{color:var(--muted)}main.admin{max-width:64rem}.admin-nav{margin-bottom:2rem}.admin-nav .brand{margin-bottom:.75rem}.admin-nav nav{flex-wrap:wrap;gap:.4rem;display:flex}.admin-nav nav a{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:999px;padding:.35rem .75rem;font-size:.85rem;font-weight:700;text-decoration:none}.admin-nav nav a[aria-current=page]{background:var(--rosso-red);border-color:var(--rosso-red);color:#fff}.admin h2{margin:1.75rem 0 .5rem;font-size:1rem}.admin-stats{flex-wrap:wrap;gap:.75rem;display:flex}.admin-stats a{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:.75rem;flex:10rem;padding:.9rem 1rem;font-size:.85rem;text-decoration:none}.admin-stats a .count{color:var(--ink);font-size:1.6rem;font-weight:700;display:block}.admin-stats a.alert{border-color:var(--rosso-red)}.admin-stats a.alert .count{color:var(--rosso-red)}.admin-sweep{margin-top:2rem}.admin-sweep .lead{margin-bottom:.75rem}.admin-sweep button{width:auto;padding:.75rem 1.5rem}.admin-filter{gap:.4rem;margin-bottom:1rem;display:flex}.admin-filter a{color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:999px;padding:.2rem .7rem;font-size:.85rem;text-decoration:none}.admin-filter a[aria-current=page]{background:var(--ink);border-color:var(--ink);color:#fff}.admin-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:.75rem;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:.6rem .8rem}.admin-table th{color:var(--muted);font-size:.8rem}.admin-table tr:last-child td{border-bottom:none}.admin-table .num{text-align:right;white-space:nowrap}.state-badge{border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:700}.state-badge.linked{color:#2c6b2c;background:#eef6ee}.state-badge.pending{color:#8a6116;background:#f7e8c9}.state-badge.failed{color:var(--rosso-red);background:#fbefee}.admin-member-profile{border:1px solid var(--line);background:#fff;border-radius:.75rem;grid-template-columns:auto 1fr;gap:.25rem 1.25rem;padding:.9rem 1rem;font-size:.9rem;display:grid}.admin-member-profile dt{color:var(--muted)}
