:root{--sc-ink:#12213c;--sc-muted:#6d7788;--sc-line:#e4e8ef;--sc-bg:#f5f6f8;--sc-navy:#092750;--sc-blue:#2f5bff;--sc-mint:#23c4a1;--sc-pale:#eafaf6;--sc-red:#d54c59}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--sc-bg);color:var(--sc-ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}button,input{font:inherit}button{cursor:pointer}.app-kicker{margin:0;color:#8993a5;font-size:10px;font-weight:800;letter-spacing:.16em}.app-panel{border:1px solid var(--sc-line);border-radius:22px;background:#fff;box-shadow:0 12px 36px rgba(21,36,60,.07)}
.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(300px,1fr) minmax(390px,560px)}.login-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(34px,6vw,82px);color:#fff;background:radial-gradient(circle at 20% 18%,#285997 0,transparent 32%),linear-gradient(150deg,#0b2c5b,#071b37)}.login-visual:after{content:"✦";position:absolute;right:-4vw;bottom:-10vw;color:rgba(255,255,255,.05);font-size:42vw;line-height:1}.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:14px}.login-brand span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#fff;color:var(--sc-navy);font-size:21px;font-weight:900}.login-visual h1{position:relative;z-index:1;margin:0;font-size:clamp(36px,5vw,70px);line-height:1.16;letter-spacing:-.04em}.login-visual p{position:relative;z-index:1;max-width:520px;margin:22px 0 0;color:#b9cbe3;line-height:1.9}.login-visual>small{position:relative;z-index:1;color:#92a9c8;letter-spacing:.12em}.login-panel{display:flex;align-items:center;padding:clamp(28px,5vw,72px);background:#fff}.login-box{width:100%;max-width:430px;margin:auto}.login-box h2{margin:8px 0 0;font-size:30px}.login-box>p:not(.app-kicker){margin:10px 0 27px;color:var(--sc-muted);font-size:13px;line-height:1.7}.login-box form{display:grid;gap:16px}.login-box form p{display:grid;gap:8px;margin:0;color:#465168;font-size:11px;font-weight:800}.login-box form input[type=text],.login-box form input[type=password]{width:100%;height:49px;padding:0 14px;border:1px solid #d8dee8;border-radius:11px;background:#fbfcfd}.login-box .login-remember{display:block;font-weight:500}.login-box .login-submit input{width:100%;height:50px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#3869ff,#2451e6);font-weight:800;box-shadow:0 10px 22px rgba(47,91,255,.22);cursor:pointer}.login-note{margin-top:20px;padding:13px;border-radius:11px;background:#f4f6f9;color:#6e7889;font-size:10px;line-height:1.7}
.stamp-app{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.app-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:27px 17px 22px;color:#fff;background:radial-gradient(circle at 15% 8%,#214f8d 0,transparent 30%),linear-gradient(160deg,#0b2c5b,#071d3b)}.app-brand{display:flex;align-items:center;gap:11px;padding:0 8px 28px}.app-logo{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--sc-navy);font-weight:900}.app-brand strong,.app-brand small{display:block}.app-brand strong{font-size:14px}.app-brand small{margin-top:3px;color:#98afd0;font-size:9px;letter-spacing:.16em}.app-navigation{display:grid;gap:7px}.app-navigation button{position:relative;width:100%;padding:15px;border:0;border-radius:12px;color:#bdd0e9;background:transparent;text-align:left;font-weight:700}.app-navigation button.is-active{color:#fff;background:linear-gradient(135deg,#3e71ff,#2855e8);box-shadow:0 10px 25px rgba(11,46,126,.53)}.app-navigation i{display:inline-block;width:28px;font-style:normal}.request-dot{position:absolute;right:14px;top:21px;width:8px;height:8px;border-radius:50%;background:#ffd160}.sidebar-account{margin-top:auto;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.04)}.sidebar-account small,.sidebar-account strong,.sidebar-account a{display:block}.sidebar-account small{color:#91aacb;font-size:10px}.sidebar-account strong{margin:5px 0 12px;font-size:13px}.sidebar-account a{color:#c5d5e9;font-size:10px;text-decoration:none}.app-main{min-width:0}.app-topbar{min-height:96px;display:flex;align-items:center;justify-content:space-between;padding:19px clamp(24px,4vw,58px);border-bottom:1px solid var(--sc-line);background:rgba(255,255,255,.95)}.app-topbar p,.app-topbar h1{margin:0}.app-topbar p{color:#8993a5;font-size:9px;font-weight:800;letter-spacing:.16em}.app-topbar h1{margin-top:4px;font-size:27px}.top-account{display:flex;align-items:center;gap:10px}.top-account>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#879bb9;font-weight:800}.top-account small,.top-account strong{display:block}.top-account small{color:#8791a0;font-size:9px}.top-account strong{font-size:11px}.app-content{max-width:1400px;margin:auto;padding:clamp(22px,4vw,50px)}.app-view{display:none}.app-view.is-active{display:block}.dashboard-grid,.settings-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(300px,.85fr);gap:22px;align-items:start}
.stamp-card-panel{padding:clamp(24px,3vw,40px)}.card-heading{display:flex;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--sc-line)}.card-heading h2{margin:7px 0 5px;font-size:27px}.card-heading>div>p:last-child{margin:0;color:var(--sc-muted);font-size:13px}.stamp-count{display:flex;align-items:baseline;white-space:nowrap}.stamp-count strong{color:var(--sc-blue);font-size:43px}.stamp-count span{font-size:21px}.stamp-grid{display:grid;grid-template-columns:repeat(var(--stamp-columns),minmax(48px,1fr));gap:27px 18px;padding:34px 0 27px}.stamp-cell{text-align:center}.stamp-mark{width:min(100%,88px);aspect-ratio:1;display:grid;place-items:center;margin:auto;border:2px dashed #c5cbd4;border-radius:50%;color:#a7afbd}.stamp-mark.is-filled{color:var(--sc-mint);border-style:solid;border-color:var(--sc-mint);background:var(--sc-pale);box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #58d5bd;font-size:34px;animation:stamp-pop .28s ease}.stamp-mark.is-filled.star{color:#dda72f;border-color:#e5b956;background:#fff8e7;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #eac76f}.stamp-mark.is-filled.seal{border-radius:12px;color:#df575e;border-color:#e37177;background:#fff0f1;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #eca1a5;font-size:20px;font-weight:900}.stamp-cell small{display:block;margin-top:7px;color:#485367;font-size:10px}.stamp-grid.is-compact{gap:12px 8px;padding:20px 0 5px}.stamp-grid.is-compact .stamp-mark{max-width:57px}.stamp-grid.is-compact .stamp-mark.is-filled{font-size:20px}.card-meta{display:flex;justify-content:space-between;gap:15px;padding-top:18px;border-top:1px solid var(--sc-line);color:#7c8696;font-size:10px}@keyframes stamp-pop{from{opacity:.2;transform:scale(.75) rotate(-8deg)}}
.action-panel{min-height:520px;display:flex;flex-direction:column;gap:22px;padding:34px}.action-panel h2{margin:0;font-size:23px}.action-panel p{margin:8px 0 0;color:var(--sc-muted);font-size:12px;line-height:1.7}.status-badge{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:7px 11px;border:1px solid #52d4ba;border-radius:999px;color:#119d81;background:#ecfbf8;font-size:11px;font-weight:800}.status-badge i{width:7px;height:7px;border-radius:50%;background:currentColor}.status-badge.is-waiting{color:#c88011;border-color:#e8c16b;background:#fff8e7}.primary-button,.secondary-button{min-height:50px;padding:10px 18px;border-radius:12px;font-weight:800}.primary-button{border:0;color:#fff;background:linear-gradient(135deg,#3869ff,#2451e6);box-shadow:0 10px 22px rgba(47,91,255,.21)}.secondary-button{border:1px solid #d9dfe8;color:#48556c;background:#fff}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.38}.action-note{padding:13px;border-radius:11px;background:#f3f5f8;text-align:center}.text-button{margin-top:auto;border:0;color:var(--sc-blue);background:transparent;font-weight:800}.app-toast{position:fixed;z-index:50;right:25px;bottom:25px;padding:14px 18px;border-radius:12px;color:#fff;background:#142643;box-shadow:0 15px 35px rgba(9,34,75,.27);font-size:11px;font-weight:700}.app-toast[hidden]{display:none}
.history-panel,.request-panel,.settings-panel,.settings-preview{padding:34px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:21px;border-bottom:1px solid var(--sc-line)}.section-heading h2{margin:6px 0 0;font-size:22px}.section-heading>span,.section-heading>em{padding:7px 11px;border-radius:999px;background:#eef1f5;font-size:10px;font-style:normal;font-weight:800}.history-item{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:14px;padding:19px 2px;border-bottom:1px solid #edf0f4}.history-item i{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#148f77;background:#e8f9f5;font-style:normal}.history-item strong,.history-item p{margin:0}.history-item p,.history-item time{color:#7b8595;font-size:10px}.admin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:19px}.admin-summary>div{padding:17px;border:1px solid var(--sc-line);border-radius:15px;background:#fff}.admin-summary small{color:#758095}.admin-summary strong{float:right;font-size:26px}.request-card{margin-top:22px;overflow:hidden;border:1px solid var(--sc-line);border-radius:17px}.request-member{display:flex;align-items:center;gap:11px;padding:15px 19px;background:#f7f8fa}.request-member>span{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#8ea2c1;font-weight:800}.request-member strong,.request-member small{display:block}.request-member small{color:#7f8998;font-size:9px}.request-member em{margin-left:auto;padding:7px 11px;border-radius:999px;color:#c88011;background:#fff8e7;font-size:10px;font-style:normal}.request-body{display:grid;grid-template-columns:1.5fr .7fr;gap:25px;padding:25px}.request-stamps h3{margin:7px 0 0}.admin-actions{display:flex;flex-direction:column;justify-content:center;gap:10px;padding-left:25px;border-left:1px solid var(--sc-line)}.admin-actions p{color:#697487;font-size:10px;line-height:1.7}.admin-actions .primary-button,.admin-actions .secondary-button{width:100%}
.settings-panel{display:grid;gap:21px}.settings-panel label,.settings-field{display:grid;gap:9px;color:#465168;font-size:11px;font-weight:800}.settings-panel input{width:100%;height:46px;padding:0 13px;border:1px solid #d8dee7;border-radius:10px;background:#fbfcfd}.choice-buttons,.design-buttons{display:flex;gap:8px;flex-wrap:wrap}.choice-buttons button,.design-buttons button{padding:9px 15px;border:1px solid #d9dfe7;border-radius:9px;color:#657084;background:#fff}.choice-buttons button.is-active,.design-buttons button.is-active{color:var(--sc-blue);border-color:var(--sc-blue);background:#f2f5ff}.settings-save{justify-self:end;min-width:220px}.settings-preview{position:sticky;top:20px}.settings-preview h2{margin:7px 0 18px}.preview-card{padding:20px;border-radius:16px;color:#fff;background:linear-gradient(140deg,#0b2d5e,#11213f)}.preview-card>span{float:right}.preview-card .stamp-mark{color:rgba(255,255,255,.65);border-color:rgba(255,255,255,.35)}.preview-card small{color:#b7c8df}
@media(max-width:980px){.login-screen{grid-template-columns:1fr}.login-visual{min-height:280px}.dashboard-grid,.settings-grid,.request-body{grid-template-columns:1fr}.admin-actions{padding:20px 0 0;border-top:1px solid var(--sc-line);border-left:0}.settings-preview{position:static}}@media(max-width:700px){.login-visual{min-height:220px;padding:28px}.login-visual h1{font-size:33px}.login-visual p{font-size:11px}.login-panel{padding:30px 20px 50px}.stamp-app{display:block;padding-bottom:68px}.app-sidebar{position:fixed;z-index:20;inset:auto 0 0;height:65px;padding:7px 10px}.app-brand,.sidebar-account{display:none}.app-navigation{grid-template-columns:1fr 1fr;height:100%}.app-navigation button{text-align:center;padding:7px;font-size:10px}.app-topbar{min-height:82px;padding:13px 16px}.app-topbar p{display:none}.app-topbar h1{font-size:17px}.top-account>span{width:34px;height:34px;display:grid}.app-content{padding:16px}.app-panel{border-radius:17px}.stamp-card-panel,.action-panel,.history-panel,.request-panel,.settings-panel,.settings-preview{padding:19px}.card-heading h2{font-size:18px}.stamp-count strong{font-size:29px}.stamp-count span{font-size:14px}.stamp-grid{gap:16px 7px;padding:25px 0}.stamp-mark.is-filled{font-size:21px;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 5px #58d5bd}.stamp-cell small{font-size:8px}.card-meta{display:grid}.action-panel{min-height:auto}.admin-summary{grid-template-columns:1fr}.history-item{grid-template-columns:38px 1fr}.history-item time{grid-column:2}}
.card-tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:18px;padding-bottom:4px}.card-tabs button{white-space:nowrap;padding:10px 16px;border:1px solid var(--sc-line);border-radius:999px;color:var(--sc-muted);background:#fff;font-weight:800}.card-tabs button.is-active{color:#fff;border-color:var(--sc-blue);background:var(--sc-blue)}.card-view{display:none}.card-view.is-active{display:grid}.danger-button{min-height:44px;padding:9px 15px;border:1px solid #efb8bd;border-radius:11px;color:#bd3441;background:#fff5f6;font-weight:800}.admin-link-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.top-account a{display:block}.top-account-avatar{overflow:hidden}.top-account-avatar img{width:100%;height:100%;display:block;object-fit:cover}.top-logout{margin-top:3px;color:#6f7b8d;font-size:9px;text-decoration:none}.top-logout:hover{color:var(--sc-blue);text-decoration:underline}.topbar-actions{display:flex;align-items:center;gap:16px}.app-refresh-button{display:flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid #d9dfe8;border-radius:10px;color:#465168;background:#fff;font-size:11px;font-weight:800}.app-refresh-button span{font-size:17px;line-height:1}.app-refresh-button.is-loading span{animation:wpsc-spin .7s linear infinite}.app-refresh-button:disabled{opacity:.55}@keyframes wpsc-spin{to{transform:rotate(360deg)}}.push-settings{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:22px 28px}.push-settings h2{margin:5px 0;font-size:18px}.push-settings p:last-child{margin:0;color:var(--sc-muted);font-size:11px}.push-settings button{min-width:180px}@media(max-width:700px){.push-settings{align-items:stretch;flex-direction:column;padding:19px}.push-settings button{width:100%}.topbar-actions{gap:9px}.app-refresh-button{padding:8px}.app-refresh-button{font-size:0}.app-refresh-button span{font-size:19px}}
.stamp-card-panel{color:var(--card-text-color);background-color:var(--card-bg-color);background-position:center;background-size:cover}.stamp-card-panel .card-heading h2{color:var(--card-text-color);font-size:var(--card-title-size)}.stamp-card-panel .card-heading>div>p:last-child,.stamp-card-panel .card-meta,.stamp-card-panel .stamp-count span,.stamp-card-panel .stamp-count strong,.stamp-card-panel .app-kicker,.stamp-card-panel .stamp-cell small{color:var(--card-text-color)}.stamp-card-panel .stamp-mark:not(.is-filled){color:var(--stamp-base-color);border-color:var(--stamp-base-color)}.reward-available img{display:block;width:100%;max-height:220px;object-fit:cover;margin-bottom:18px;border-radius:13px}.reward-available p{white-space:normal}@media(max-width:700px){input,select,textarea{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.wpsc-register-box{margin-top:22px;border-top:1px solid var(--sc-line);padding-top:18px}.wpsc-register-box summary{cursor:pointer;color:var(--sc-blue);font-weight:800}.wpsc-register-box form{display:grid;gap:12px;margin-top:16px}.wpsc-register-box label{display:grid;gap:6px;color:var(--sc-muted);font-size:12px;font-weight:700}.wpsc-register-box input{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--sc-line);border-radius:10px;background:#fff}.wpsc-register-box p{color:var(--sc-muted);font-size:11px}.wpsc-register-success{color:#247b53;background:#edf9f3}
