@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap');
:root{--bg:#faf6ed;--paper:#fffdf8;--ink:#423b34;--muted:#7c7368;--red:#b6493e;--coral:#cd6958;--line:#e8dfd0;--soft:#f4e5da;--green:#42634c;font-family:'Noto Sans JP',sans-serif;color:var(--ink);font-size:16px;background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #995537;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,.brand,.member-card,.shop-visual strong{font-family:'Noto Serif JP',serif}h1{font-size:2rem;letter-spacing:.07em;font-weight:600;line-height:1.65;margin-bottom:8px}h2{font-size:1.15rem;font-weight:600;line-height:1.7}h3{font-size:1.05rem;line-height:1.65}p{line-height:1.95}svg{width:23px;height:23px;flex-shrink:0;vertical-align:middle}small{font-size:.8rem;line-height:1.7}.eyebrow{font-size:.75rem;letter-spacing:.19em;color:var(--red);font-weight:600;display:block;margin-bottom:12px}.demo-strip{text-align:center;background:#eee5d7;padding:7px 12px;font-size:.75rem;color:#675b4b;letter-spacing:.08em}.demo-strip span{margin-left:12px;letter-spacing:.02em}header{display:flex;align-items:center;gap:32px;max-width:1240px;margin:auto;padding:26px 40px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:600;font-size:1.15rem;letter-spacing:.06em;white-space:nowrap}.brand small{display:block;font-family:'Noto Sans JP',sans-serif;font-weight:400;letter-spacing:.13em;font-size:.75rem;margin-top:3px}.brand-mark{border:1px solid #b95c48;border-radius:50%;width:43px;height:43px;color:var(--red);display:grid;place-items:center;font-size:1.35rem}.desktop-nav{display:flex;gap:25px;margin-left:auto;font-size:.9rem}.desktop-nav a{display:flex;align-items:center;gap:7px;position:relative;padding:12px 0}.desktop-nav a.active{color:var(--red);font-weight:600}.desktop-nav a.active:after{position:absolute;content:'';bottom:0;left:0;width:100%;height:2px;background:var(--red)}.logout{border:0;background:none;color:var(--muted);font-size:.8rem;min-height:44px;padding:6px}.mobile-nav{display:none}main{max-width:1160px;padding:40px 20px 70px;margin:auto;min-height:70vh}main:focus{outline:none}.page-heading{margin-bottom:30px}.page-heading p{color:var(--muted);margin:0;font-size:.95rem}.home-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:36px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.section-title h2{margin:0}.section-title a{color:var(--red);font-size:.85rem}.badge{display:inline-flex;border:1px solid var(--line);border-radius:5px;padding:3px 9px;font-size:.75rem;color:var(--muted);font-family:'Noto Sans JP',sans-serif;white-space:nowrap;background:#f7f1e6;line-height:1.7}.badge.green{background:#edf2e8;color:#42634c;border-color:#d7e3d0}.badge.coral{color:#a3473d;border-color:#efd4cb;background:#faeae4}.member-card{position:relative;isolation:isolate;overflow:hidden;border-radius:18px;border:1px solid #d3b48b;background:radial-gradient(ellipse at 90% 20%,#f8e0c5 0,transparent 58%),linear-gradient(125deg,#fff9e9,#f1dfc1);padding:24px 28px;color:#713e31;box-shadow:0 9px 24px #734a2810;min-height:275px}.member-card:before{content:'';position:absolute;inset:7px;border:1px solid #c5a77888;border-radius:12px;z-index:-1}.member-card:after{content:'';position:absolute;width:250px;height:250px;right:-100px;top:-100px;border:1px solid #c5926b44;border-radius:50%;box-shadow:0 0 0 18px #c5926b0c,0 0 0 36px #c5926b0b,0 0 0 54px #c5926b09;z-index:-1}.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:1.05rem;letter-spacing:.08em}.card-top>span:last-child{font-family:'Noto Sans JP',sans-serif;font-size:.65rem;letter-spacing:.16em}.card-center{padding-top:23px}.card-label{font-size:.9rem;letter-spacing:.35em}.card-center p{font-size:1.85rem;line-height:1.5;letter-spacing:.1em;margin:10px 0 2px}.card-center small{font-size:1rem}.member-id{font-family:'Noto Sans JP',sans-serif;font-size:.85rem;letter-spacing:.1em}.card-bottom{display:flex;align-items:end;justify-content:space-between;gap:14px;padding-top:20px;font-family:'Noto Sans JP',sans-serif;font-size:.75rem;line-height:1.7}.card-bottom strong{font-weight:500;font-size:.85rem}.sample-watermark{position:absolute;right:24px;bottom:74px;transform:rotate(-12deg);font:600 2rem 'Noto Sans JP',sans-serif;letter-spacing:.12em;color:#a9634540;border:2px solid #a9634520;padding:3px 10px}.card-link{display:block;transition:transform .2s}.card-link:hover{transform:translateY(-2px)}.card-under{display:flex;justify-content:space-between;gap:10px;margin-top:15px;font-size:.75rem;color:var(--muted)}.card-under a{color:var(--red)}.card-under svg{width:16px;height:16px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.quick{padding:21px;background:var(--paper);border:1px solid var(--line);border-radius:13px;display:flex;flex-direction:column;align-items:start;gap:8px}.quick svg{color:var(--red);width:26px;height:26px;margin-bottom:6px}.quick strong{font-size:.95rem;font-weight:500}.quick span{font-size:.75rem;color:var(--muted)}.quick:hover,.shop-card:hover{border-color:#ce8d76}.notice{padding:28px 0 0}.notice .eyebrow{font-size:.65rem}.notice h2{font-size:1.3rem}.notice p{font-size:.9rem;color:var(--muted);margin-bottom:12px}.text-link{font-size:.9rem;color:var(--red);font-weight:500}.text-link svg{width:16px;height:16px}.panel{background:var(--paper);padding:26px;border:1px solid var(--line);border-radius:17px}.upcoming{align-self:start}.event-row{display:flex;align-items:center;gap:17px;padding:25px 0;border-top:1px solid var(--line)}.event-row:last-of-type{border-bottom:1px solid var(--line)}.date-tile{min-width:67px;background:#f7eee0;color:#a45a43;text-align:center;padding:10px;border-radius:9px;display:flex;flex-direction:column;line-height:1.2}.date-tile span{font-size:.75rem}.date-tile strong{font-weight:400;font-size:1.9rem;line-height:1.4;font-family:Georgia,serif}.event-copy{flex:1}.event-copy h3{margin:10px 0 5px;font-weight:500}.event-copy p{font-size:.8rem;color:var(--muted);margin:0;line-height:1.7}.event-row>svg{color:#ab8873;width:17px}.event-row:hover h3{color:var(--red)}.small-note{font-size:.8rem;color:var(--muted);line-height:1.8;margin:20px 0 0}.event-list{max-width:850px}.event-list .event-row:first-child{border-top:0;padding-top:0}.card-page{max-width:620px;margin:auto}.member-card.full{min-height:320px;padding:32px}.full .card-center{padding-top:30px}.full .card-center p{font-size:2.2rem}.full .card-bottom{padding-top:26px}.valid-line{display:flex;justify-content:center;align-items:center;gap:8px;padding:24px 0;color:var(--green);font-size:.95rem}.valid-line svg{width:20px}.valid-line .badge{margin-left:15px}dl{display:grid;grid-template-columns:110px 1fr;margin:18px 0 0;font-size:.95rem;line-height:1.8}dt,dd{padding:16px 0;border-bottom:1px solid var(--line);margin:0}dt{color:var(--muted);font-size:.85rem}dd{overflow-wrap:anywhere}dl :nth-last-child(-n+2){border-bottom:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--red);color:#fff;border:1px solid var(--red);border-radius:9px;padding:15px 20px;min-height:52px;font-size:.95rem;font-weight:500}.button:hover{background:#9d3e35}.button.secondary{background:transparent;color:var(--red);border-color:#d6b5a3}.button.secondary:hover{background:#f9eee4}.wide{width:100%}.card-page>.button{margin-top:24px}.back{display:inline-flex;font-size:.9rem;color:var(--muted);margin-bottom:25px;min-height:30px;align-items:center}.detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:26px}.detail-grid h2{margin-bottom:16px}.detail-grid .panel>p{font-size:.95rem}.detail-grid dl{margin-bottom:30px}.action-panel{align-self:start;position:sticky;top:24px}.action-panel h2{font-size:1.12rem}.check-label{display:flex;align-items:start;gap:8px;font-size:.9rem;margin:25px 0;line-height:1.8}.check-label input{margin-top:4px;width:20px;height:20px;accent-color:var(--red);flex-shrink:0}.success{display:flex;gap:8px;align-items:center;color:var(--green);padding:15px;background:#eff4ea;border-radius:8px;margin-bottom:20px}.program{list-style:none;padding:0}.program li{padding:12px 0;border-bottom:1px solid var(--line);font-size:.95rem}.announcement{background:#f3e9db;border-radius:12px;padding:22px 24px;margin-bottom:35px;display:flex;align-items:center;gap:20px}.announcement p{font-size:.9rem;margin:0}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.shop-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.shop-visual{height:160px;background:#eedfcb;padding:25px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-bottom:1px solid #d3bda2;position:relative}.shop-visual:before{content:'';position:absolute;inset:10px;border:1px solid #b79c7966}.shop-visual>span{font-size:.75rem;letter-spacing:.17em;margin-bottom:9px}.shop-visual strong{font-size:1.4rem;letter-spacing:.07em;font-weight:500}.shop-visual small{margin-top:9px;letter-spacing:.2em}.visual-1{background:#dfe6df;color:#486055}.visual-2{background:#eddfdc;color:#78534a}.shop-copy{padding:24px}.shop-copy h3{margin:14px 0 8px}.benefit{color:var(--red);font-weight:600;font-size:1rem}.benefit.large{font-size:1.4rem}.shop-copy .text-link{display:block;margin-top:22px;font-size:.8rem}.howto{margin-top:30px}.howto ol{display:flex;gap:40px;justify-content:space-between;padding-left:24px;margin-bottom:0;font-size:.9rem}.conditions{line-height:2.1;padding-left:20px}.muted{color:var(--muted);font-size:.8rem}footer{max-width:1120px;border-top:1px solid var(--line);padding:24px 0 30px;margin:auto;display:flex;justify-content:space-between;font-family:'Noto Serif JP',serif;font-size:.9rem;color:var(--muted)}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;max-width:1300px;margin:auto}.login-brand{background:#f0e5d2;padding:70px 55px;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;position:relative}.login-brand:before{content:'';position:absolute;inset:18px;border:1px solid #ccb89a88;pointer-events:none}.login-brand h1{font-size:2rem}.login-brand p{font-family:'Noto Serif JP',serif;font-size:1.65rem;line-height:1.9;margin:24px 0 10px;letter-spacing:.12em}.login-brand img{width:210px;max-width:70%;margin:12px 0 26px}.login-brand>span:last-child{font-size:.85rem;letter-spacing:.2em}.login-form{width:100%;max-width:510px;margin:auto;padding:55px}.login-form h2{font-size:1.8rem;margin:0 0 20px}.login-form>p{color:var(--muted);font-size:.9rem;margin-bottom:30px}.login-form label{display:block;font-size:.9rem;margin:18px 0 8px}.login-form input{width:100%;height:51px;border:1px solid #d7cbb9;border-radius:8px;background:var(--paper);padding:10px 14px;color:var(--ink);font-size:1rem}.error{color:var(--red);font-size:.85rem;margin:12px 0}.demo-box{padding:20px;background:#f0e9dc;border-radius:10px;margin-top:25px;font-size:.85rem}.demo-box strong{font-weight:500}.demo-box p{margin:10px 0;font-size:.8rem}.demo-box small{color:var(--muted)}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:#463d33;color:#fff;padding:14px 24px;border-radius:10px;z-index:30;opacity:0;pointer-events:none;transition:.2s;width:max-content;max-width:90%;font-size:.9rem}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{max-width:480px;width:calc(100% - 40px);border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:28px;color:var(--ink)}dialog::backdrop{background:#30271977}.dialog-actions{display:flex;gap:12px;justify-content:end}dialog p{font-size:.9rem}@media(min-width:1400px){main{padding-top:50px}}@media(max-width:1000px){header{padding:22px 24px;gap:15px}.desktop-nav{gap:18px}.desktop-nav svg{display:none}.home-grid{gap:24px}.panel{padding:22px}.member-card{padding:22px}.card-top{font-size:.95rem}.card-top>span:last-child{font-size:.6rem}.card-under{flex-direction:column}.shop-grid{gap:15px}.shop-copy{padding:20px}.shop-visual strong{font-size:1.2rem}footer{margin:0 24px}.login-brand{padding:55px 25px}.login-form{padding:40px}.howto ol{gap:25px}}@media(max-width:720px){.desktop-nav{display:none}.demo-strip{font-size:.7rem;padding:6px}.demo-strip span{margin-left:6px}header{padding:16px 20px;gap:10px}.brand{font-size:1rem;gap:10px}.brand-mark{width:36px;height:36px;font-size:1.15rem}.brand small{font-size:.65rem}.logout{margin-left:auto;font-size:.75rem}main{padding:27px 20px 35px;min-height:75vh}h1{font-size:1.45rem;letter-spacing:.03em}.eyebrow{font-size:.65rem;margin-bottom:8px}.page-heading{margin-bottom:24px}.page-heading p{font-size:.875rem}.home-grid{display:flex;flex-direction:column;gap:30px}.section-title h2{font-size:1.05rem}.member-card{min-height:245px;padding:21px}.card-top{font-size:.95rem}.card-center{padding-top:18px}.card-center p{font-size:1.7rem}.card-bottom{font-size:.7rem;padding-top:18px}.card-bottom strong{font-size:.8rem}.card-top>span:last-child{font-size:.55rem;letter-spacing:.08em}.card-under{flex-direction:row;font-size:.7rem;align-items:start}.card-under>span{max-width:55%;line-height:1.7}.card-under a{white-space:nowrap}.quick-grid{gap:12px;margin-top:22px}.quick{padding:18px 15px}.quick strong{font-size:.9rem}.quick span{font-size:.75rem}.notice{padding-top:28px}.notice h2{font-size:1.2rem}.notice p{font-size:.875rem}.upcoming{width:100%}.panel{padding:21px;border-radius:14px}.event-row{gap:13px;padding:22px 0}.date-tile{min-width:58px;padding:9px}.event-copy h3{font-size:.95rem}.event-copy .badge{font-size:.7rem;padding:2px 6px}.event-copy p{font-size:.75rem}.event-row>svg{width:15px}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fffdf8f5;border-top:1px solid var(--line);backdrop-filter:blur(15px);padding:8px 10px max(9px,env(safe-area-inset-bottom))}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:6px 4px;color:var(--muted);font-size:.7rem;border-radius:9px}.mobile-nav a.active{background:#f7e9de;color:var(--red)}.mobile-nav svg{width:22px;height:22px}footer{margin:0 20px;padding:22px 0 108px;font-size:.8rem}footer small{font-size:.7rem}.detail-grid{display:flex;flex-direction:column;gap:22px}.action-panel{position:static;width:100%}dl{grid-template-columns:88px 1fr;font-size:.9rem}dt{font-size:.8rem}dt,dd{padding:13px 0}.card-page .member-card.full{min-height:275px;padding:24px}.full .card-center{padding-top:24px}.full .card-center p{font-size:1.9rem}.full .card-bottom{padding-top:24px}.valid-line{font-size:.85rem;gap:6px}.valid-line .badge{margin-left:5px}.announcement{display:block;padding:20px;margin-bottom:26px}.announcement p{font-size:.85rem;margin-top:10px}.shop-grid{grid-template-columns:1fr;gap:20px}.shop-visual{height:135px}.shop-visual strong{font-size:1.5rem}.shop-copy{padding:22px}.howto ol{display:block}.howto li{margin-top:14px;line-height:1.8}.login-layout{display:block}.login-brand{padding:30px 25px 28px;min-height:unset}.login-brand:before{inset:10px}.login-brand .eyebrow{font-size:.6rem}.login-brand h1{font-size:1.5rem;margin:0}.login-brand p{font-size:1rem;margin:13px 0 0;line-height:1.7}.login-brand p br{display:none}.login-brand img{display:none}.login-brand>span:last-child{font-size:.7rem;margin-top:15px}.login-form{max-width:480px;padding:32px 25px}.login-form h2{font-size:1.5rem;margin-bottom:13px}.login-form>p{margin-bottom:22px}.login-form .eyebrow{font-size:.65rem}.demo-box{padding:17px}#toast{bottom:95px}.dialog-actions .button{padding:12px;font-size:.85rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.coupon-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px;font-size:.875rem}.coupon-nav a{padding:10px 14px;border:1px solid var(--line);border-radius:8px;color:var(--red);background:var(--paper)}.button:disabled{background:#e7dfd4;color:#796f62;border-color:#d6cbbc;cursor:not-allowed}.coupon-rule{padding:14px;background:#f5e9da;border-radius:8px;font-size:.95rem;margin-bottom:18px}.cooldown{padding:18px 0;font-size:.95rem}.cooldown p{margin:8px 0}.cooldown span{color:var(--muted)}.log-link{display:block;margin-top:20px}.usage-log{border-top:1px solid var(--line);padding:22px 0}.usage-log h3{margin:0}.usage-log dl{margin:0}.receipt-id{font-size:.8rem;overflow-wrap:anywhere}.management-switch{margin:0 0 25px}.management-switch label,.settings-form label{display:block;font-size:.9rem;margin:14px 0}.management-switch select,.settings-form select,.settings-form input{display:block;width:100%;padding:12px;margin-top:6px;background:var(--paper);color:var(--ink);border:1px solid #d7cbb9;border-radius:7px;font:inherit}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px;font-size:.85rem}.plain-button{padding:12px;border:1px solid var(--line);border-radius:6px;background:none;color:var(--red);font:inherit;font-size:.85rem}.empty-state{padding:25px 0;color:var(--muted)}#coupon-settings{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.settings-form{border:1px solid var(--line);border-radius:10px;padding:20px;margin:16px 0}.settings-form input:disabled{opacity:.5}.settings-message{font-size:.875rem;margin-top:12px}.settings-form .button{margin-top:10px}#receipt .success{display:block;margin-top:20px}
.stamp-area{margin-top:30px;border-top:1px solid var(--line);padding-top:25px}.stamp-card{padding:22px 0;border-bottom:1px solid var(--line)}.stamp-card p{font-size:.9rem}.stamp-count{margin:18px 0;color:var(--red)}.stamp-count strong{font-size:2rem}.stamp-dots{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.stamp-dots span{width:39px;height:39px;border:1px dashed #cba893;border-radius:50%;display:grid;place-items:center;color:#998e81;font-size:.85rem}.stamp-dots span.filled{border:2px solid var(--red);background:#f8dfd0;color:var(--red);font-family:'Noto Serif JP',serif;transform:rotate(-9deg)}.reward-history{padding-top:25px}.reward-history article,.registered-rules article{padding:18px 0;border-bottom:1px solid var(--line);font-size:.9rem}.registered-rules{margin-bottom:28px}.stamp-message{color:var(--red);line-height:1.8}

.fee-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:18px 0}.fee-summary span{font-size:.9rem;color:var(--muted)}.fee-summary h2{font-size:1.4rem;margin-top:12px}.email-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:.875rem;line-height:1.8;padding:20px;background:#f5efe4;border-radius:10px}#fee-order select{width:100%;font:inherit;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);margin-top:10px}#fee-order label{display:block;margin-top:20px}.expired{color:var(--red)}#daily-report summary{padding:16px 0;cursor:pointer}#daily-report .button{margin-top:20px}@media(max-width:720px){.mobile-nav{grid-template-columns:repeat(5,1fr)}.fee-summary{grid-template-columns:1fr;gap:4px}.fee-summary h2{font-size:1.2rem}}

.event-roster{margin-top:28px}.participant-list{list-style:none;padding:0;margin:15px 0}.participant-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--line)}.participant-list small{color:var(--muted)}#event-role{margin-bottom:20px}#event-message{font-size:.9rem;color:var(--red);margin-top:18px}

.admin-entry{color:var(--red);font-size:.8rem;white-space:nowrap;padding:10px}.admin-entry[hidden]{display:none}.admin-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px}.admin-sidebar{position:sticky;top:20px;align-self:start;background:#f0e6d7;border-radius:14px;padding:24px 18px}.admin-sidebar nav{display:grid;gap:7px;margin:22px 0}.admin-sidebar nav a{font-size:.9rem;padding:13px 12px;border-radius:8px}.admin-sidebar a[aria-current]{background:var(--red);color:#fff}.admin-back{font-size:.8rem;color:var(--muted);padding:12px 0;display:block}.admin-content{min-width:0}.admin-content h1{font-size:1.7rem}.admin-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:24px}.admin-stat{padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.admin-stat>span{display:block;font-size:.875rem;color:var(--muted)}.admin-stat strong{font-size:2.1rem;display:block;margin-top:10px;font-weight:500;color:var(--red)}.admin-stat small{font-size:.8rem;margin-left:8px}.admin-status-row{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line);font-size:.9rem}.admin-status-row a{color:var(--red)}.admin-section{margin-top:24px}.admin-activity{display:flex;align-items:start;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.admin-activity strong{font-size:.9rem;font-weight:500}.admin-activity p{font-size:.8rem;color:var(--muted);margin:7px 0 0}.admin-search{display:flex;gap:12px;align-items:end;margin-bottom:20px}.admin-search label{font-size:.9rem;flex:1}.admin-search input{display:block;width:100%;font:inherit;padding:13px;border:1px solid var(--line);border-radius:8px;margin-top:8px;background:var(--paper)}.admin-table-scroll{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th,.admin-table td{text-align:left;padding:15px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table th{color:var(--muted);font-weight:500}.admin-table small{display:block}.admin-event{margin-bottom:22px}.admin-visibility{display:flex;align-items:center;flex-wrap:wrap;gap:15px}.admin-visibility .check-label{margin:10px 0}.admin-event summary{cursor:pointer;padding:16px 0}.admin-message{color:var(--red);font-size:.875rem}.in-admin .desktop-nav{display:none}.in-admin header .admin-entry{margin-left:auto}.in-admin .logout{margin-left:0}@media(max-width:720px){.admin-layout{display:block}.admin-sidebar{position:static;padding:16px;margin-bottom:24px}.admin-sidebar h2,.admin-sidebar>.eyebrow{display:none}.admin-sidebar nav{display:flex;overflow-x:auto;margin:0;gap:5px}.admin-sidebar nav a{white-space:nowrap;font-size:.8rem}.admin-back{padding-bottom:0}.admin-stats{gap:10px}.admin-stat{padding:17px}.admin-stat>span{font-size:.8rem}.admin-content h1{font-size:1.45rem}.admin-search{flex-wrap:wrap}.admin-activity{gap:10px}.in-admin .mobile-nav{display:none}.in-admin footer{padding-bottom:30px}.admin-entry{font-size:.75rem;padding:6px}.in-admin header{gap:5px}}
.account-form{display:grid;gap:15px}.account-form label{font-size:.875rem}.account-form input,.account-form select,.account-reset input{display:block;width:100%;font:inherit;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);margin-top:7px}.account-member-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.account-partner-fields[hidden],.account-member-fields[hidden]{display:none}.account-reset{margin-top:8px}.account-reset summary{cursor:pointer;color:var(--red);font-size:.8rem}.account-reset form{display:flex;gap:7px;align-items:end;margin-top:8px}.account-reset input{min-width:210px}.account-reset span{white-space:normal;font-size:.75rem}@media(max-width:720px){.account-member-fields{grid-template-columns:1fr}.account-reset form{display:block}.account-reset button{margin-top:7px}}

.brand .official-mark{object-fit:contain;border:0;border-radius:0;background:#fff;padding:3px;flex-shrink:0}.card-organization{display:flex;align-items:center;gap:8px}.card-mark{width:32px;height:32px;object-fit:contain;background:#fff;border-radius:4px;padding:2px}
.app-version{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:4px 9px;border:1px solid #d9c9b6;border-radius:999px;background:#fffdf8;color:#76695b;font:600 .7rem/1.4 'Noto Sans JP',sans-serif;letter-spacing:.06em;white-space:nowrap}.header-version{margin-left:-20px}@media(max-width:720px){.header-version{margin-left:0;min-width:auto;padding:3px 7px;font-size:.62rem}}
.preview-warning{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;margin-bottom:20px;border:2px solid var(--red);border-radius:12px;background:#faeae4;color:#963d34}.preview-warning span{font-weight:600}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.preview-grid article{position:relative;padding:22px;border:1px solid var(--line);border-radius:12px;background:#f8f2e8}.preview-grid article strong{font-family:'Noto Serif JP',serif}.preview-grid article p{margin:8px 0;color:var(--muted);font-size:.85rem}.preview-disabled{display:inline-block;color:var(--red);font-size:.75rem;font-weight:600}@media(max-width:720px){.preview-warning{display:block}.preview-warning span{display:block;margin-top:5px}.preview-grid{grid-template-columns:1fr}}
.recovery-codes{padding:20px;border:1px solid var(--line);border-radius:10px;background:#f8f2e8;font:600 .9rem/2 monospace;letter-spacing:.05em;white-space:pre-wrap}.account-form>label,#mfa-confirm-area>label{display:block;margin-top:18px;font-size:.9rem}.account-form input,#mfa-confirm-area input{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.join-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:760px;margin:0 auto 24px}.join-steps span{padding:11px;text-align:center;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:.8rem}.join-steps .active{background:var(--red);border-color:var(--red);color:#fff}.join-panel{max-width:760px;margin:auto}.join-flow{line-height:2;padding-left:24px}.consent-box{padding:22px;margin:25px 0;background:#f5eee2;border-radius:12px}.consent-box p{margin:0;font-size:.9rem}.join-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.join-form label{font-size:.9rem}.join-form label>span{margin-left:8px;color:var(--red);font-size:.7rem}.join-form input,.join-form textarea{display:block;width:100%;padding:13px;margin-top:7px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font:inherit}.join-form .full{grid-column:1/-1}.join-complete{text-align:center}.join-complete>strong{display:block;margin:12px 0 22px;font:600 1rem/1.8 monospace;overflow-wrap:anywhere}@media(max-width:720px){.join-steps span{font-size:.7rem;padding:9px 4px}.join-form{grid-template-columns:1fr}.join-form .full{grid-column:auto}.mobile-nav{grid-template-columns:repeat(6,1fr)}.mobile-nav a{font-size:.62rem}}
.join-entry{margin-top:14px}.referral-card-badge{position:absolute;right:22px;top:70px;padding:5px 10px;border:1px solid #b9876e;border-radius:999px;background:#fff8e9;color:#8c4939;font:600 .7rem/1.5 'Noto Sans JP',sans-serif}.application-card>.button{margin-top:20px}.application-approve{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.join-status-button{margin-top:12px}.tracking-box{padding:18px;margin:20px 0;border:1px solid var(--line);border-radius:12px;background:#f8f2e8}.tracking-box p{margin:8px 0 2px;color:var(--muted);font-size:.8rem}.tracking-box strong{display:block;font:600 .9rem/1.8 monospace;overflow-wrap:anywhere}.status-result{margin-top:22px;padding:22px;border-top:1px solid var(--line)}#application-settings summary{cursor:pointer;padding:8px 0}.account-form textarea{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font:inherit}.review-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.plain-button.danger{color:#8f302a;border-color:#d7a49d}
.referral-panel{max-width:820px;margin:auto}.referral-share{padding:24px 0;border-top:1px solid var(--line)}.referral-qr{width:min(340px,100%);margin:18px auto;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px}.referral-qr svg{display:block;width:100%;height:auto}.referral-url{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.referral-url summary{cursor:pointer;color:var(--red)}.referral-url p{overflow-wrap:anywhere;font:500 .8rem/1.7 monospace}.referral-url [role=status]{margin-left:8px;font-size:.8rem;color:var(--green)}
.profile-panel{max-width:820px}.profile-panel .check-label{align-items:center;margin:5px 0}.profile-panel .check-label input{width:22px;height:22px;margin:0}.profile-success{margin:0}
@media(max-width:720px){.mobile-nav{grid-template-columns:repeat(7,1fr)}.mobile-nav a{font-size:.58rem}}

