:root{--navy:#0e1b2a;--navy2:#17283b;--bg:#f3f7fb;--card:#fff;--text:#152033;--muted:#687487;--line:var(--ds-line);--blue:#1668d4;--blue2:#0f55b4;--green:#12915b;--red:#d43a46;--amber:#bf7b00;--shadow:0 12px 35px rgba(25,46,72,.08);--radius:18px}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;background:linear-gradient(180deg,var(--ds-blue-soft) 0,var(--ds-surface-alt) 240px);font-size:15px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:22px;min-height:64px;padding:8px 24px;background:var(--ds-topbar,#1b5fb8);color:var(--ds-text);box-shadow:0 3px 14px rgba(0,0,0,.14)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;white-space:nowrap}.brand-mark{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;border-radius:9px;background:var(--ds-surface);color:var(--ds-text);font-size:11px;letter-spacing:.08em}.mainnav{display:flex;align-items:center;gap:8px;flex:1}.nav-group{position:relative}.nav-group-title,.nav-btn{border:0;background:transparent;color:var(--ds-text);padding:10px 13px;border-radius:10px;font-weight:700;white-space:nowrap}.nav-group-title:hover,.nav-btn:hover,.nav-btn.active{background:var(--ds-blue-solid);color:#fff}.nav-menu{display:none;position:absolute;top:44px;left:0;min-width:168px;padding:8px;background:var(--ds-blue-solid);border:1px solid var(--ds-line);border-radius:12px;box-shadow:0 14px 28px rgba(0,0,0,.24)}.nav-group.open .nav-menu{display:grid;gap:4px}.nav-menu .nav-btn{display:block;text-align:left}.top-user{display:flex;align-items:center;gap:10px;font-weight:700;white-space:nowrap}
.page-shell{width:min(1440px,calc(100% - 32px));margin:26px auto 60px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.page-title{margin:0;font-size:28px}.page-sub{margin:5px 0 0;color:var(--muted)}
.card{background:var(--card);border:1px solid rgba(211,222,234,.9);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.card+.card{margin-top:18px}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stack{display:grid;gap:14px}.section-title{margin:0 0 15px;font-size:18px}.muted{color:var(--muted)}.small{font-size:13px}
.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.field{display:grid;gap:7px;grid-column:span 3}.field.w2{grid-column:span 2}.field.w4{grid-column:span 4}.field.w6{grid-column:span 6}.field.w12{grid-column:span 12}.field label{font-weight:800;font-size:13px}.input,.select,.textarea{width:100%;border:1px solid var(--ds-line);border-radius:11px;background:var(--ds-surface);padding:11px 12px;outline:none;transition:.15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--ds-blue-line);box-shadow:0 0 0 3px rgba(22,104,212,.12)}.textarea{min-height:110px;resize:vertical}.input-group{display:flex;gap:8px}.input-group .input{flex:1}
.btn{border:0;border-radius:11px;padding:11px 16px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.15s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue2)}.btn-secondary{background:var(--ds-blue-soft);color:var(--ds-text)}.btn-success{background:var(--green);color:#fff}.btn-danger{background:var(--red);color:#fff}.btn-ghost{background:var(--ds-surface);color:var(--ds-text);border:1px solid var(--ds-line)}.btn-sm{padding:8px 11px;border-radius:9px;font-size:13px}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.toolbar .field{min-width:150px;grid-column:auto}
.alert{padding:13px 16px;border-radius:12px;margin-bottom:15px;font-weight:700}.alert.success{background:var(--ds-green-soft);color:var(--ds-green-text);border:1px solid var(--ds-green-line)}.alert.error{background:var(--ds-surface-alt);color:var(--ds-red-text);border:1px solid var(--ds-line)}
.kpi{padding:18px;border-radius:16px;background:var(--ds-surface-alt);border:1px solid var(--ds-line)}.kpi-label{font-size:13px;font-weight:800;color:var(--muted)}.kpi-value{font-size:28px;font-weight:900;margin-top:4px}.kpi-foot{font-size:12px;margin-top:7px;color:var(--muted)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.table th{background:var(--ds-blue-soft);color:var(--ds-muted);font-size:12px;position:sticky;top:0}.table tr:last-child td{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums}
.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:900;background:var(--ds-blue-soft);color:var(--ds-muted)}.badge.free{background:var(--ds-blue-soft);color:var(--ds-muted)}.badge.day{background:var(--ds-amber-soft);color:var(--ds-amber-text)}.badge.night{background:var(--ds-blue-soft);color:var(--ds-blue-text)}.badge.special{background:var(--ds-red-soft);color:var(--ds-red-text)}.badge.hit{background:var(--ds-green-soft);color:var(--ds-green-text)}.badge.miss{background:var(--ds-red-soft);color:var(--ds-red-text)}.badge.pending{background:var(--ds-blue-soft);color:var(--ds-muted)}.badge.pt-high{background:var(--ds-amber-soft);color:var(--ds-amber-text)}.badge.pt-low{background:var(--ds-blue-soft);color:var(--ds-muted)}.badge.strength-1{background:var(--ds-blue-soft)}.badge.strength-2{background:var(--ds-green-soft);color:var(--ds-green-text)}.badge.strength-3{background:var(--ds-amber-soft);color:var(--ds-amber-text)}.badge.strength-4,.badge.strength-5{background:var(--ds-red-soft);color:var(--ds-red-text)}
.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{padding:9px 13px;border:1px solid var(--ds-line);background:var(--ds-surface);border-radius:10px;font-weight:800;color:var(--ds-muted)}.tab.active{background:var(--ds-blue-solid);border-color:var(--ds-blue-line);color:#fff}.quick-links{display:flex;gap:8px;flex-wrap:wrap}.quick-links a{padding:9px 13px;border-radius:10px;background:var(--ds-blue-soft);color:var(--ds-muted);font-weight:800}
.calc-race{padding:18px;border:1px solid var(--ds-line);border-radius:14px;background:var(--ds-surface)}.calc-race h3{margin:0 0 14px}.stepper{display:flex;align-items:stretch}.stepper input{border-radius:11px 0 0 11px}.step-buttons{display:grid;width:38px}.step-buttons button{border:1px solid var(--ds-line);background:var(--ds-blue-soft);line-height:1;border-left:0}.step-buttons button:first-child{border-radius:0 9px 0 0}.step-buttons button:last-child{border-radius:0 0 9px 0;border-top:0}.suffix{display:flex;align-items:center;padding:0 10px;background:var(--ds-blue-soft);border:1px solid var(--ds-line);border-left:0;border-radius:0 10px 10px 0;font-weight:800}.day-num{font-weight:900;margin-bottom:7px}.schedule-card{border:1px solid var(--ds-line);border-left:4px solid var(--ds-blue-line);border-radius:9px;padding:8px;margin-top:7px;background:var(--ds-surface);font-size:12px}.schedule-card .name{font-weight:900;margin:3px 0}.schedule-card .meta{display:flex;gap:5px;flex-wrap:wrap}
.report-mode .topbar,.report-mode .page-head .actions,.report-mode .report-hide{display:none!important}.report-mode .page-shell{margin-top:16px;width:min(1100px,calc(100% - 24px))}.report-block{break-inside:avoid}.group-card{border:1px solid var(--ds-line);border-radius:14px;padding:16px}.group-card h3{margin:0 0 10px}.group-total{font-size:25px;font-weight:900}.progress{height:8px;background:var(--ds-blue-soft);border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--ds-blue-solid);border-radius:999px}
.hit-layout{display:grid;grid-template-columns:minmax(340px,520px) minmax(320px,1fr);gap:22px;align-items:start}.phone-preview{background:#111;border-radius:28px;padding:10px;box-shadow:0 18px 55px rgba(0,0,0,.24);position:sticky;top:85px}.phone-stage{position:relative;width:100%;aspect-ratio:946/2048;overflow:hidden;border-radius:20px;background:#000}.phone-stage img{width:100%;height:100%;display:block}.overlay-text{position:absolute;color:#090909;font-weight:700;white-space:nowrap;pointer-events:none}.overlay-patch{position:absolute;background:#fff;pointer-events:none}.hit-controls{display:grid;gap:16px}.hint{padding:11px 13px;border-radius:10px;background:var(--ds-amber-soft);color:var(--ds-amber-text);border:1px solid var(--ds-amber-line);font-size:13px}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,var(--ds-blue-soft) 0,transparent 38%),linear-gradient(160deg,var(--ds-blue-soft),var(--ds-surface-alt))}.login-card{width:min(430px,100%);background:var(--ds-surface);border:1px solid var(--ds-line);box-shadow:0 22px 65px rgba(26,54,86,.14);border-radius:22px;padding:34px}.login-card h1{margin:0 0 6px}.password-wrap{position:relative}.password-wrap .input{padding-right:50px}.password-toggle{position:absolute;right:5px;top:5px;bottom:5px;width:42px;border:0;background:var(--ds-blue-soft);border-radius:9px;font-size:18px}
.empty{padding:35px;text-align:center;color:var(--ds-muted);background:var(--ds-surface-alt);border:1px dashed var(--ds-line);border-radius:14px}
@media(max-width:960px){.topbar{flex-wrap:wrap;padding:9px 14px}.mainnav{order:3;width:100%;overflow:auto}.top-user{margin-left:auto}.page-shell{width:min(100% - 20px,1400px);margin-top:16px}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3,.grid-2{grid-template-columns:1fr}.field,.field.w2,.field.w4,.field.w6{grid-column:span 6}.hit-layout{grid-template-columns:1fr}.phone-preview{position:static;max-width:520px;margin:auto}}
@media(max-width:620px){body{font-size:14px}.brand span:last-child{display:none}.topbar{gap:8px}.nav-group-title,.nav-btn{padding:9px 10px}.top-user>span{display:none}.page-title{font-size:23px}.card{padding:15px;border-radius:15px}.grid-4{grid-template-columns:1fr}.field,.field.w2,.field.w4,.field.w6,.field.w12{grid-column:span 12}.kpi-value{font-size:24px}.actions .btn{flex:1}.toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar .field{min-width:0}.hit-layout{display:block}.hit-controls{margin-top:16px}}
/* v0.2 usability additions */
.permission-tools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.permission-section td{background:var(--ds-blue-soft)!important;font-weight:900;color:var(--ds-text)}.permission-check{width:19px;height:19px;accent-color:var(--blue)}
.report-header-only{margin:0 0 18px}.report-title{font-size:30px;font-weight:950;letter-spacing:.02em}.report-mode .report-header-only{display:block!important}.report-mode .report-block{box-shadow:none}.report-mode body{background:var(--ds-surface)}.report-mode .group-card{background:var(--ds-surface)}.report-mode .group-card:nth-child(n){break-inside:avoid}
.group-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.group-metrics{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:5px}.allocation-items{border:1px solid var(--ds-line);border-radius:10px;overflow:hidden;margin-bottom:8px}.allocation-items>div,.member-line,.group-difference{display:flex;justify-content:space-between;gap:14px;padding:8px 10px;border-top:1px solid var(--ds-line)}.allocation-items>div:first-child{border-top:0;background:var(--ds-surface-alt)}.member-line{padding-left:4px;padding-right:4px}.group-difference{margin-top:8px;border:0;border-radius:9px;background:var(--ds-blue-soft);color:var(--ds-muted)}.group-difference.warn{background:var(--ds-amber-soft);color:var(--ds-amber-text)}
.page-head.compact{align-items:center}.sep{border:0;border-top:1px solid var(--ds-line);margin:18px 0}
.site-switch{display:flex;gap:8px;flex-wrap:wrap}.site-switch a{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid var(--ds-line);border-radius:999px;background:var(--ds-surface);font-weight:850;color:var(--ds-muted)}.site-switch a.active{background:var(--ds-blue-solid);color:#fff;border-color:var(--ds-blue-line)}.today-site-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.today-site-card{border:1px solid var(--ds-line);border-radius:14px;padding:14px;background:var(--ds-surface)}.today-site-card strong{font-size:18px}.today-site-card .stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:13px}.detail-row td{background:var(--ds-surface-alt);padding:0!important}.detail-box{padding:16px 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.detail-box .raw{grid-column:1/-1;white-space:pre-wrap;background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:10px;padding:12px;max-height:320px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.filter-details summary{cursor:pointer;font-weight:850;color:var(--ds-muted);list-style:none}.filter-details summary::-webkit-details-marker{display:none}.filter-details[open] summary{margin-bottom:12px}.btn-wide{min-width:130px}.login-card .password-toggle{font-size:12px;font-weight:900;color:var(--ds-muted)}
@media(max-width:900px){.today-site-grid{grid-template-columns:repeat(2,1fr)}.detail-box{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.today-site-grid{grid-template-columns:1fr 1fr}.site-switch{display:grid;grid-template-columns:repeat(2,1fr)}.site-switch a{border-radius:10px}.detail-box{grid-template-columns:1fr}.group-card-head{display:block}.group-total{margin-top:5px}.report-mode .page-shell{width:100%;padding:0 10px}.report-mode .grid-2{grid-template-columns:1fr}}
.quick-links a.active{background:var(--ds-blue-solid);color:#fff}
a.schedule-card{display:block;color:inherit;text-decoration:none;transition:.15s}a.schedule-card:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(32,58,88,.08);border-color:var(--ds-blue-line)}
/* v0.3: site separated plans / no-slide sales overview / clearer reward navigation */
.plan-site-switch{margin:0 0 18px}.plan-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plan-card{margin:0!important}.plan-card .plan-name{margin:14px 0 6px;font-size:21px}.plan-card .plan-notes{white-space:pre-wrap;min-height:40px}.site-permission-box{margin-top:16px;padding:16px;border:1px solid var(--ds-line);border-radius:14px;background:var(--ds-surface-alt)}.compact-table{min-width:0}
.overview-card{margin-top:18px}.overview-table-wrap{overflow:visible;border:1px solid var(--line);border-radius:14px}.overview-table{min-width:0;table-layout:fixed}.overview-table th,.overview-table td{padding:10px 9px}.overview-table .num{white-space:nowrap}.total-row td{background:var(--ds-blue-soft)}.negative{color:var(--ds-red-text)}.positive{color:var(--ds-green-text)}.compact-input{padding:8px 9px}.entry-table input{min-width:80px}.input-label{display:flex;align-items:center;min-width:110px;font-weight:850;padding:0 10px;background:var(--ds-blue-soft);border:1px solid var(--ds-line);border-radius:10px}.media-target-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(140px,1fr) minmax(180px,1.4fr);gap:10px;align-items:center}.media-target-row label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800}.subhead{font-size:14px;margin:4px 0 10px}.section-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.section-nav a{padding:9px 12px;border:1px solid var(--ds-line);border-radius:10px;background:var(--ds-surface);color:var(--ds-muted);font-weight:850}.mini-list{border:1px solid var(--ds-line);border-radius:11px;overflow:hidden}.mini-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-top:1px solid var(--ds-line)}.mini-list>div:first-child{border-top:0}.toggle-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ds-line);background:var(--ds-surface);border-radius:999px;padding:7px 10px;font-weight:850}.toggle-chip input{width:18px;height:18px;accent-color:#e64862}
@media(max-width:1050px){.plan-card-grid{grid-template-columns:repeat(2,1fr)}.media-overview{font-size:13px}.media-overview th,.media-overview td{padding:8px 6px}}
@media(max-width:720px){.plan-card-grid{grid-template-columns:1fr}.overview-table-wrap{overflow-x:auto}.overview-table{min-width:760px}.media-target-row{grid-template-columns:1fr}.section-nav{display:grid;grid-template-columns:1fr 1fr}.input-label{min-width:90px}}

/* v0.4 */
.home-site{padding:10px 0;border-bottom:1px solid var(--line,var(--ds-line))}
.home-line{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--ds-line);flex-wrap:wrap}
.home-line:last-child{border-bottom:0}
.segmented{display:flex;gap:6px;flex-wrap:wrap}.segmented label{cursor:pointer}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented span{display:inline-flex;padding:9px 14px;border:1px solid var(--ds-line);border-radius:10px;background:var(--ds-surface);font-weight:800}.segmented input:checked+span{background:var(--ds-blue-solid);color:#fff;border-color:var(--ds-blue-line)}
.race-card[hidden]{display:none!important}.race-count-note{font-size:12px;color:var(--ds-muted)}.data-footer{margin-top:16px;padding:10px 2px;color:var(--ds-muted);font-size:12px}.data-footer a{font-weight:800}.status-day{font-size:10px;font-weight:800;color:var(--ds-muted);margin-left:5px}
.sheet-wrap{overflow:auto;border:1px solid var(--ds-line);border-radius:14px;background:var(--ds-surface)}.sheet-table{border-collapse:separate;border-spacing:0;min-width:980px;width:100%}.sheet-table th,.sheet-table td{border-right:1px solid var(--ds-line);border-bottom:1px solid var(--ds-line);padding:7px;min-width:92px}.sheet-table .plan-col{position:sticky;left:0;z-index:2;background:var(--ds-surface);min-width:180px}.sheet-group{font-weight:900;background:var(--ds-blue-soft)!important}.sheet-cell{min-height:48px;cursor:pointer}.sheet-cell.empty:hover{background:var(--ds-surface-alt)}.sheet-hit{background:var(--ds-amber-soft)}.sheet-miss{background:var(--ds-red-soft)}.sheet-note{font-size:10px;color:var(--ds-muted)}.sheet-payout{font-weight:900;margin-top:3px}.today-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.today-result-site{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:14px;padding:14px}.today-result-item{padding:10px 0;border-top:1px solid var(--ds-line)}.today-result-item:first-of-type{border-top:0}.sales-tabs,.reward-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.subtab{border:1px solid var(--ds-line);background:var(--ds-surface);border-radius:999px;padding:9px 14px;font-weight:850;text-decoration:none;color:inherit}.subtab.active{background:var(--ds-blue-solid);color:#fff;border-color:var(--ds-blue-line)}.summary-table{font-size:13px}.summary-table th,.summary-table td{white-space:nowrap}.report-mode .report-hide{display:none!important}.report-mode .topbar,.report-mode .page-head>.actions{display:none!important}.report-mode .page-shell{max-width:1100px}.modal-backdrop{position:fixed;inset:0;background:rgba(15,24,35,.45);display:grid;place-items:center;z-index:999;padding:20px}.modal-card{width:min(720px,100%);max-height:85vh;overflow:auto;background:var(--ds-surface);border-radius:18px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.modal-backdrop[hidden]{display:none}
@media(max-width:900px){.today-results{grid-template-columns:1fr}.home-line{align-items:flex-start}.modal-backdrop{align-items:end;padding:0}.modal-card{width:100%;border-radius:20px 20px 0 0;max-height:90vh}}

.event-mini{margin-top:5px;padding:4px 6px;border-radius:6px;background:var(--ds-amber-soft);border-left:3px solid var(--ds-amber-line);font-size:10px;line-height:1.25}.event-mini strong{font-size:10px}

/* v0.5 */
.event-mini.event-sg{background:var(--ds-amber-soft);border-left-color:var(--ds-amber-line)}.event-mini.event-g1{background:var(--ds-amber-soft);border-left-color:var(--ds-amber-line)}.event-mini.event-g2{background:var(--ds-green-soft);border-left-color:var(--ds-green-line)}.event-mini.event-g3{background:var(--ds-blue-soft);border-left-color:var(--ds-blue-line)}.event-mini.event-ladies{background:var(--ds-red-soft);border-left-color:var(--ds-red-line)}.event-mini.event-midnight{background:var(--ds-blue-soft);border-left-color:var(--ds-blue-line);color:var(--ds-text)}.plan-group-title{margin:22px 0 10px;padding:10px 13px;border-radius:11px;background:var(--ds-blue-soft);font-size:18px;font-weight:950}.plan-subgroup-title{margin:14px 0 8px;font-size:14px;font-weight:900;color:var(--ds-muted)}.switch-control{position:relative;display:inline-block;width:50px;height:30px}.switch-control input{opacity:0;width:0;height:0}.switch-slider{position:absolute;inset:0;background:var(--ds-surface-raised);border-radius:99px;transition:.18s}.switch-slider:before{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:var(--ds-surface);box-shadow:0 1px 4px #0003;transition:.18s}.switch-control input:checked+.switch-slider{background:var(--blue)}.switch-control input:checked+.switch-slider:before{transform:translateX(20px)}.reward-check-ok{background:var(--ds-green-soft);color:var(--ds-green-text);border:1px solid var(--ds-green-line);border-radius:11px;padding:11px 13px;font-weight:900}.reward-check-ng{background:var(--ds-surface-alt);color:var(--ds-red-text);border:1px solid var(--ds-line);border-radius:11px;padding:11px 13px;font-weight:900}

/* v0.6: weekly achievement calendar + user tags */
.achievement-week-wrap{overflow:auto}.achievement-week{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));gap:9px;min-width:1160px}.achievement-day{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:14px;min-height:285px;padding:10px}.achievement-day.is-today{border:2px solid var(--blue);background:var(--ds-surface-alt);box-shadow:0 0 0 3px rgba(22,104,212,.08)}.achievement-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--ds-line);margin-bottom:8px}.achievement-day-date{font-weight:950}.achievement-mini{display:block;width:100%;text-align:left;border:1px solid var(--ds-line);background:var(--ds-surface);border-radius:10px;padding:9px;margin-bottom:8px}.achievement-mini:hover{border-color:var(--ds-blue-line);box-shadow:0 5px 14px rgba(37,72,110,.08)}.achievement-mini-name{font-size:13px;font-weight:950;margin-bottom:5px}.achievement-tag-row{display:flex;gap:4px;flex-wrap:wrap}.achievement-tag{display:inline-flex;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900;background:var(--ds-blue-soft);color:var(--ds-muted)}.achievement-tag.blue{background:var(--ds-blue-soft);color:var(--ds-muted)}.achievement-tag.purple{background:var(--ds-purple-soft);color:var(--ds-purple-text)}.achievement-tag.gold{background:var(--ds-amber-soft);color:var(--ds-amber-text)}.achievement-tag.green{background:var(--ds-green-soft);color:var(--ds-green-text)}.achievement-tag.gray{background:var(--ds-surface-alt);color:var(--ds-muted)}.achievement-mini-payout{font-size:12px;font-weight:950;margin-top:6px}.week-nav{display:flex;justify-content:center;gap:48px;margin-top:16px}.tag-admin-list{display:flex;gap:8px;flex-wrap:wrap}.tag-admin-item{display:flex;align-items:center;gap:7px;border:1px solid var(--ds-line);border-radius:999px;padding:6px 9px;background:var(--ds-surface)}.tag-checks{display:flex;gap:8px;flex-wrap:wrap}.tag-check{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ds-line);background:var(--ds-surface);border-radius:999px;padding:7px 10px;font-weight:800}.tag-check input{accent-color:var(--blue)}

/* v0.7: 実績シート matrix / alignment / mobile */
.table th,.table td{text-align:left}.table th.num,.table td.num{text-align:right}.table th.date,.table td.date{text-align:center;white-space:nowrap}.summary-table th:last-child,.summary-table td:last-child{text-align:center}
.sheet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.sheet-span-switch{display:flex;gap:8px;flex-wrap:wrap}.achievement-tag{display:inline-flex;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900;background:color-mix(in srgb,var(--tag-color,var(--ds-purple-solid)) 15%,var(--ds-surface));color:var(--tag-color,var(--ds-purple-text));border:1px solid color-mix(in srgb,var(--tag-color,var(--ds-purple-line)) 30%,var(--ds-line))}.week-nav{display:flex;justify-content:center;gap:72px;margin:20px auto 4px;clear:both}.tag-settings summary{font-weight:950;cursor:pointer}.tag-settings-grid{display:grid;gap:8px;margin-top:14px}.tag-edit-row{display:grid;grid-template-columns:minmax(160px,1fr) 54px auto auto;gap:8px;align-items:center}.tag-edit-row input[type=color]{width:48px;height:40px;padding:2px;border:1px solid var(--ds-line);border-radius:9px;background:var(--ds-surface)}.detail-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.detail-kpis>div{padding:10px;border-radius:11px;background:var(--ds-surface-alt)}.detail-kpis small{display:block;color:var(--muted)}.detail-kpis strong{display:block;margin-top:3px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-grid h3{margin:0 0 7px;font-size:14px}

@media(max-width:760px){
 .topbar{position:sticky;top:0}.mainnav{gap:4px}.nav-group-title,.nav-btn{font-size:12px;padding:8px 9px}.page-shell{width:calc(100% - 12px);margin:10px auto 40px}.page-head{align-items:flex-start;flex-direction:column}.page-title{font-size:22px}.card{padding:13px}.sheet-toolbar{align-items:stretch}.site-switch,.sheet-span-switch{overflow:auto;flex-wrap:nowrap}.week-nav{gap:36px;margin-top:16px}.week-nav .btn{min-width:112px}.tag-edit-row{grid-template-columns:1fr 50px}.tag-edit-row .btn{width:100%}.detail-kpis{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:0}.modal-card{border-radius:20px 20px 0 0;max-height:88vh}.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}.summary-table{min-width:760px}.hit-layout{grid-template-columns:1fr}.hit-controls{order:1}.phone-preview{order:2;position:static;max-width:420px;width:100%;margin:auto}.form-grid{grid-template-columns:1fr}.field,.field.w2,.field.w3,.field.w4,.field.w6,.field.w9,.field.w12{grid-column:1}.toolbar{display:flex;flex-direction:column;align-items:stretch}.toolbar label,.toolbar .btn{width:100%}.actions{display:grid;grid-template-columns:1fr}.btn{min-height:42px}
}

/* v0.8 alignment / preview refinements */
.race-live-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;padding:8px 10px;border-radius:9px;background:var(--ds-surface-alt);color:var(--ds-muted);font-size:12px}.race-live-meta strong{color:var(--ds-text)}.register-preview-card{border-color:var(--ds-line)}.achievement-preview{margin:0;white-space:pre-wrap;font-family:inherit;font-size:14px;line-height:1.75;background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:10px;padding:12px;min-height:170px}.table th,.table td{text-align:left}.table th.num,.table td.num{text-align:right!important;font-variant-numeric:tabular-nums}.table th.date,.table td.date{text-align:center!important;white-space:nowrap}.summary-table th:last-child,.summary-table td:last-child{text-align:center}.reward-check-table th:nth-child(n+3),.reward-check-table td:nth-child(n+3){text-align:right}.reward-check-table th:nth-child(-n+2),.reward-check-table td:nth-child(-n+2){text-align:left}
@media(max-width:620px){.race-live-meta{display:grid;grid-template-columns:1fr 1fr}.achievement-preview{font-size:13px}.phone-preview{max-width:390px}}

/* v0.9 */
.canvas-stage canvas{display:block;width:100%;height:auto;background:var(--ds-header)}
.achievement-preview-edit{display:block;width:100%;resize:vertical;min-height:260px;color:var(--text)}
.num-input{text-align:right;font-variant-numeric:tabular-nums}
.reward-check-table th,.reward-check-table td{vertical-align:middle}
#reward-statements .table th:nth-child(3),#reward-statements .table th:nth-child(4),#reward-statements .table th:nth-child(5),
#reward-statements .table td:nth-child(3),#reward-statements .table td:nth-child(4),#reward-statements .table td:nth-child(5){text-align:right!important;font-variant-numeric:tabular-nums}
#reward-statements .table th:nth-child(1),#reward-statements .table th:nth-child(2),#reward-statements .table th:nth-child(6),#reward-statements .table td:nth-child(1),#reward-statements .table td:nth-child(2),#reward-statements .table td:nth-child(6){text-align:left!important}
#reward-rules .table th:nth-child(4),#reward-rules .table th:nth-child(5),#reward-rules .table td:nth-child(4),#reward-rules .table td:nth-child(5){text-align:right!important}
#reward-rules .table th:nth-child(6),#reward-rules .table td:nth-child(6){text-align:center!important}
@media(max-width:760px){.achievement-preview-edit{min-height:310px}.sales-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:3px}.sales-tabs .subtab{flex:0 0 auto}}
.day-cell.today .day-num{color:var(--ds-muted);display:flex;align-items:center;gap:7px}
.today-label{display:inline-flex;align-items:center;border-radius:999px;background:var(--ds-blue-solid);color:#fff;font-size:10px;font-weight:900;padding:2px 7px}
.reward-group-list{display:grid;gap:14px}
.reward-group-box{border:1px solid var(--ds-line);border-radius:14px;padding:14px;background:var(--ds-surface)}
.reward-group-head{align-items:end}
.field.grow{flex:1 1 260px}
.reward-member-row{display:grid;grid-template-columns:minmax(130px,1.1fr) minmax(150px,1fr) minmax(150px,1.3fr) 90px auto;gap:8px;align-items:center}
@media(max-width:900px){.reward-member-row{grid-template-columns:1fr}.reward-member-row .actions{justify-content:flex-start}.reward-group-head{align-items:stretch}}

/* v1.5: old-site style shared live monitor */
.monitor-toolbar{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:18px}.monitor-toolbar .field{grid-column:auto;min-width:190px}.monitor-status-line{margin-left:auto;display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px;align-self:center}.live-monitor-grid{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:14px}.live-venue-card{overflow:hidden;background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:9px;box-shadow:0 4px 14px rgba(24,54,88,.07)}.live-venue-card h2{margin:0;padding:9px 10px;text-align:center;background:var(--ds-blue-solid);color:#fff;font-size:14px}.live-venue-card table{width:100%;border-collapse:collapse;font-size:12px}.live-venue-card th,.live-venue-card td{padding:5px 8px;border-bottom:1px solid var(--ds-line);text-align:left}.live-venue-card th{color:var(--ds-muted);background:var(--ds-surface-alt);font-size:10px}.live-venue-card .num{text-align:right;font-variant-numeric:tabular-nums}.live-venue-card .monitor-r{color:var(--ds-blue-text);font-weight:900}.live-venue-card tr.monitor-high td:nth-child(3),.live-venue-card tr.monitor-high td:nth-child(4){color:var(--ds-red-text);font-weight:900}.live-venue-card tbody tr:last-child td{border-bottom:0}
@media(max-width:1180px){.live-monitor-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}}
@media(max-width:840px){.live-monitor-grid{grid-template-columns:repeat(2,minmax(210px,1fr))}.monitor-status-line{width:100%;margin-left:0}}
@media(max-width:520px){.live-monitor-grid{grid-template-columns:1fr}.monitor-toolbar{align-items:stretch}.monitor-toolbar .field,.monitor-toolbar .actions{width:100%}.monitor-toolbar .actions{display:grid;grid-template-columns:1fr}.live-venue-card table{font-size:13px}}

/* v1.6 flat navigation */
.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}
.mainnav.flatnav{display:flex;align-items:center;gap:4px;min-width:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding:2px 0 4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.mainnav.flatnav .nav-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--ds-text);text-decoration:none}
.mainnav.flatnav .nav-btn:hover,.mainnav.flatnav .nav-btn.active{background:var(--ds-blue-solid);color:#fff}
@media(max-width:960px){
  .topbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px 12px}
  .brand{grid-column:1;grid-row:1;min-width:0}
  .top-user{grid-column:2;grid-row:1;justify-self:end}
  .mainnav.flatnav{grid-column:1/-1;grid-row:2;width:100%;order:initial;padding-bottom:5px}
}
@media(max-width:620px){
  .topbar{gap:6px;padding:7px 9px}
  .mainnav.flatnav .nav-btn{font-size:12px;padding:9px 10px;min-height:38px}
  .brand-mark{font-size:10px;padding:5px 7px}
}

/* v1.9 UI refinements */
.achievement-register-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:22px;align-items:start}.achievement-entry-column{display:grid;gap:16px}.achievement-preview-column{position:sticky;top:86px;min-width:0}.achievement-preview-column .register-preview-card{margin-top:0}.achievement-preview-column .achievement-preview-edit{min-height:440px;font-family:Arial,"Noto Sans JP",Meiryo,sans-serif;line-height:1.45}.report-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.inline-data-footer{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.manage-list{display:grid;gap:8px;margin-top:16px}.manage-row{display:grid;grid-template-columns:auto minmax(140px,1fr) 90px auto auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--ds-surface)}.manage-row.is-inactive{opacity:.65;background:var(--ds-surface-alt)}.compact-number{max-width:90px;text-align:right}.tag-color-input{width:56px;height:42px;padding:3px;border:1px solid var(--ds-line);border-radius:9px;background:var(--ds-surface)}.tag-admin-list{display:grid;gap:9px}.tag-admin-row{display:grid;grid-template-columns:minmax(90px,auto) minmax(160px,1fr) 60px auto auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px}.tag-admin-row.is-inactive{opacity:.6}.tag-preview{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--tag-color) 15%,var(--ds-surface));color:var(--tag-color);border:1px solid color-mix(in srgb,var(--tag-color) 35%,var(--ds-line));font-size:12px;font-weight:900;white-space:nowrap}
.inline-details>summary{list-style:none}.inline-details>summary::-webkit-details-marker{display:none}.inline-details[open]>summary{margin-bottom:12px}.user-add-panel{min-width:min(1000px,90vw)}.user-filter{margin:14px 0}.user-list-table .selected-row{background:var(--ds-blue-soft)}.user-edit-card{border-color:var(--ds-blue-line)}.password-reset-box{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.brand{min-width:auto}.brand-mark{font-size:12px;padding:7px 10px}
@media(max-width:980px){.achievement-register-grid{grid-template-columns:1fr}.achievement-preview-column{position:static}.achievement-preview-column .achievement-preview-edit{min-height:320px}.manage-row{grid-template-columns:1fr 90px auto auto}.manage-row>.badge:first-child{grid-column:1/-1;justify-self:start}.tag-admin-row{grid-template-columns:1fr 60px}.tag-admin-row .tag-preview{grid-column:1/-1;justify-self:start}.user-add-panel{min-width:0}}
@media(max-width:620px){.achievement-preview-column .achievement-preview-edit{min-height:300px}.manage-row{grid-template-columns:1fr}.compact-number{max-width:none}.tag-admin-row{grid-template-columns:1fr}.tag-color-input{width:100%}.user-list-table .table{min-width:620px}}

/* v2.0 refinements */
.schedule-simple-form .schedule-site-tabs{margin-bottom:16px;display:flex;gap:8px;flex-wrap:wrap}
.schedule-site-btn{appearance:none;border:1px solid var(--ds-line);background:var(--ds-surface);color:var(--ds-text);border-radius:10px;padding:9px 14px;font-weight:700;cursor:pointer}
.schedule-site-btn.active{background:var(--ds-blue-solid);color:#fff;border-color:var(--ds-blue-line)}
.month-heading{font-size:20px;white-space:nowrap}
.plan-cat-cheap{background:var(--ds-green-soft)!important;color:var(--ds-green-text)!important;border-color:var(--ds-green-line)!important}
.plan-cat-grade{background:var(--ds-amber-solid)!important;color:var(--ds-amber-text)!important;border-color:var(--ds-amber-line)!important}
.plan-cat-ladies{background:var(--ds-red-soft)!important;color:var(--ds-red-text)!important;border-color:var(--ds-red-line)!important}
.plan-cat-normal{background:var(--ds-green-soft)!important;color:var(--ds-green-text)!important;border-color:var(--ds-green-line)!important}
.plan-cat-midstrong{background:var(--ds-amber-solid)!important;color:var(--ds-amber-text)!important;border-color:var(--ds-amber-line)!important}
.plan-cat-strong{background:var(--ds-red-solid)!important;color:#fff!important;border-color:var(--ds-red-line)!important}
.plan-cat-night{background:var(--ds-blue-solid)!important;color:#fff!important;border-color:var(--ds-blue-line)!important}
.plan-cat-revenge{background:var(--ds-red-solid)!important;color:#fff!important;border-color:var(--ds-red-line)!important}
.plan-cat-invite{background:var(--ds-purple-solid)!important;color:#fff!important;border-color:var(--ds-purple-line)!important}
.plan-subgroup-title[class*="plan-cat-"]{display:inline-block;margin:18px 0 10px;padding:7px 12px;border-radius:10px;font-weight:800}
.media-target-head,.media-target-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(110px,160px) minmax(130px,180px);gap:10px;align-items:center}
.media-target-head{font-size:12px;font-weight:800;color:var(--ds-muted);margin-bottom:6px;padding:0 4px}
.media-target-row{padding:8px 0;border-bottom:1px solid var(--ds-line)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.media-target-head,.media-target-row{grid-template-columns:1fr 1fr}.media-target-head span:first-child,.media-target-row strong{grid-column:1/-1}.media-target-head span:first-child{display:none}}

/* v2.5 usability */
.achievement-tag,.tag-preview{color:var(--ds-text)!important;border:1.5px solid color-mix(in srgb,var(--tag-color,var(--ds-line)) 75%,var(--ds-line))!important;text-shadow:0 1px 0 rgba(255,255,255,.75);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.schedule-site-btn{transition:.12s ease;box-shadow:inset 0 0 0 1px rgba(15,23,42,.05)}
.schedule-site-btn.active,.schedule-site-btn[aria-pressed="true"]{background:var(--ds-blue-solid)!important;color:#fff!important;border-color:var(--ds-blue-line)!important;box-shadow:0 0 0 3px rgba(29,78,216,.22),inset 0 -3px 0 rgba(0,0,0,.18)!important;transform:translateY(-1px)}
.official-refresh-box{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.compact-order-row{grid-template-columns:minmax(150px,1fr) auto auto auto!important}.order-buttons{display:flex;gap:4px}.order-buttons .btn{min-width:38px;padding-inline:9px}
@media(max-width:620px){.official-refresh-box{align-items:stretch;width:100%}.compact-order-row{grid-template-columns:1fr!important}.order-buttons{display:grid;grid-template-columns:1fr 1fr}.order-buttons .btn{width:100%}}


/* v2.6 plan category colors: strong, readable borders like achievement tags */
.badge.plan-cat-cheap,.badge.plan-cat-grade,.badge.plan-cat-ladies,.badge.plan-cat-normal,
.badge.plan-cat-midstrong,.badge.plan-cat-strong,.badge.plan-cat-night,.badge.plan-cat-revenge,.badge.plan-cat-invite,
.plan-subgroup-title.plan-cat-cheap,.plan-subgroup-title.plan-cat-grade,.plan-subgroup-title.plan-cat-ladies,.plan-subgroup-title.plan-cat-normal,
.plan-subgroup-title.plan-cat-midstrong,.plan-subgroup-title.plan-cat-strong,.plan-subgroup-title.plan-cat-night,.plan-subgroup-title.plan-cat-revenge,.plan-subgroup-title.plan-cat-invite{
  border-style:solid!important;
  border-width:2px!important;
  font-weight:950!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 1px 2px rgba(15,23,42,.08)!important;
}
.plan-cat-cheap{background:var(--ds-green-soft)!important;color:var(--ds-green-text)!important;border-color:var(--ds-green-line)!important}
.plan-cat-grade{background:var(--ds-amber-solid)!important;color:var(--ds-amber-text)!important;border-color:var(--ds-amber-line)!important}
.plan-cat-ladies{background:var(--ds-red-soft)!important;color:var(--ds-red-text)!important;border-color:var(--ds-red-line)!important}
.plan-cat-normal{background:var(--ds-green-soft)!important;color:var(--ds-green-text)!important;border-color:var(--ds-line)!important}
.plan-cat-midstrong{background:var(--ds-amber-solid)!important;color:var(--ds-amber-text)!important;border-color:var(--ds-amber-line)!important}
.plan-cat-strong{background:var(--ds-red-solid)!important;color:#fff!important;border-color:var(--ds-red-line)!important;text-shadow:0 1px 1px rgba(0,0,0,.28)}
.plan-cat-night{background:var(--ds-blue-solid)!important;color:#fff!important;border-color:var(--ds-blue-line)!important;text-shadow:0 1px 1px rgba(0,0,0,.32)}
.plan-cat-revenge{background:var(--ds-red-solid)!important;color:#fff!important;border-color:var(--ds-red-line)!important;text-shadow:0 1px 1px rgba(0,0,0,.32)}
.plan-cat-invite{background:var(--ds-purple-solid)!important;color:#fff!important;border-color:var(--ds-purple-line)!important;text-shadow:0 1px 1px rgba(0,0,0,.28)}


/* v2.7: achievement tags use the same stronger visual treatment as plan category labels */
.achievement-tag,.tag-preview{
  background:color-mix(in srgb,var(--tag-color,var(--ds-purple-solid)) 28%,var(--ds-surface))!important;
  color:var(--ds-text)!important;
  border:2px solid color-mix(in srgb,var(--tag-color,var(--ds-line)) 76%,var(--ds-line))!important;
  font-weight:950!important;
  text-shadow:0 1px 0 rgba(255,255,255,.82)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.34),0 1px 2px rgba(15,23,42,.08)!important;
}


/* v2.10: make user-defined achievement tags visibly bordered in every browser */
.achievement-tag,.tag-preview{
  background:var(--tag-color,var(--ds-purple-solid))!important;
  color:var(--ds-text)!important;
  border:2px solid var(--ds-line)!important;
  font-weight:950!important;
  -webkit-text-stroke:.18px rgba(15,23,42,.9);
  text-shadow:0 1px 1px rgba(15,23,42,.85),0 0 2px rgba(15,23,42,.55)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 1px 3px rgba(15,23,42,.16)!important;
}
.schedule-manual-tools{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-top:10px}
.schedule-manual-details{flex:1 1 620px;min-width:280px}
.schedule-official-link{white-space:nowrap;align-self:flex-start}
@media(max-width:720px){.schedule-manual-tools{align-items:stretch}.schedule-official-link{width:100%;text-align:center}.schedule-manual-details{flex-basis:100%}}

/* v2.11: achievement tags - softer fill, dark text, clear border */
.achievement-tag,.tag-preview{
  background:linear-gradient(rgba(255,255,255,.70),rgba(255,255,255,.70)),
    var(--tag-color,var(--ds-purple-solid))!important;
  color:var(--ds-text)!important;
  border:2px solid var(--tag-color,var(--ds-purple-line))!important;
  font-weight:900!important;
  -webkit-text-stroke:0!important;
  text-shadow:none!important;
  box-shadow:0 0 0 1px rgba(15,23,42,.18),0 1px 2px rgba(15,23,42,.06)!important;
}

/* v2.12: responsive foundation, readable tables, compact plan management, sheet row colors */
.page-shell{width:min(1520px,calc(100% - 28px))}
.page-head.compact{align-items:center}
.polished-table tbody tr:nth-child(even):not(.total) td{background:var(--ds-surface)}
.polished-table tbody tr:hover:not(.total) td{background:var(--ds-surface-alt)}
.polished-table .total td{background:var(--ds-blue-soft)!important;font-weight:900;border-top:2px solid var(--ds-blue-line)}
.polished-table th{background:var(--ds-blue-soft);color:var(--ds-text);font-weight:900}
.sticky-first th:first-child,.sticky-first td:first-child{position:sticky;left:0;z-index:2;background:var(--ds-surface)}
.sticky-first th:first-child{z-index:4;background:var(--ds-blue-soft)}.sticky-first tr.total td:first-child{background:var(--ds-blue-soft)!important}

/* Plan management: category accordion + compact rows. */
.plan-compact-help{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.plan-sheet-section{margin-top:20px}.plan-group-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.plan-category-accordion{margin:10px 0;border:1px solid var(--ds-line);border-radius:14px;background:var(--ds-surface);overflow:hidden;box-shadow:0 4px 14px rgba(24,54,88,.045)}
.plan-category-summary{list-style:none;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:11px 14px;cursor:pointer;border:0!important;border-radius:0!important;margin:0!important}
.plan-category-summary::-webkit-details-marker{display:none}.plan-category-count{font-size:12px;font-weight:850;opacity:.78}.plan-category-chevron{font-size:22px;line-height:1;transition:.15s}
.plan-category-accordion[open] .plan-category-chevron{transform:rotate(90deg)}
.plan-compact-list{display:grid}.plan-compact-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid var(--ds-line);background:var(--ds-surface)}
.plan-compact-row:nth-child(even){background:var(--ds-surface)}.plan-compact-name{font-size:15px}.plan-compact-main{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}.plan-compact-meta{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.plan-compact-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.inline-form{display:inline-flex;margin:0}.plan-compact-detail{grid-column:1/-1;display:grid;gap:10px;padding:12px;border:1px solid var(--ds-line);border-radius:10px;background:var(--ds-surface-alt)}.plan-compact-detail[hidden]{display:none}

/* Sales: result-first cards. */
.sales-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.sales-kpi-card{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(25,46,72,.06)}.sales-kpi-card.total{background:var(--ds-blue-soft);border-color:var(--ds-blue-line)}.sales-kpi-name{font-size:12px;font-weight:900;color:var(--ds-muted)}.sales-kpi-value{font-size:25px;font-weight:950;margin-top:5px;font-variant-numeric:tabular-nums}.sales-kpi-meta{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:var(--ds-muted);font-size:11px;font-weight:750}.media-total-chip{display:flex;align-items:baseline;gap:10px;padding:8px 12px;border:1px solid var(--ds-line);border-radius:12px;background:var(--ds-surface-alt)}.media-total-chip strong{font-size:18px}

/* Reward basic/exception rule badges. */
.reward-mode-normal{background:var(--ds-blue-soft);color:var(--ds-muted)}.reward-mode-base{background:var(--ds-blue-soft);color:var(--ds-muted)}.reward-mode-exception{background:var(--ds-amber-soft);color:var(--ds-amber-text)}
#reward-summary{margin-bottom:12px}.reward-check-table td:nth-child(4),.reward-check-table td:nth-child(5),.reward-check-table td:nth-child(6){font-variant-numeric:tabular-nums}

/* Intermediate desktop/tablet: stop half-size windows from collapsing awkwardly. */
@media(max-width:1240px){
  .page-shell{width:calc(100% - 20px);margin-top:18px}
  .topbar{padding-inline:12px;gap:8px}.mainnav.flatnav .nav-btn{padding:9px 10px;font-size:13px}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-head{align-items:flex-start;flex-wrap:wrap}.page-head>.actions{margin-left:auto}
  .card{padding:18px}
}
@media(max-width:900px){
  .toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.toolbar .field,.toolbar>label{min-width:0;width:100%}.toolbar>.btn{width:100%}
  .plan-compact-row{grid-template-columns:1fr}.plan-compact-main{align-items:flex-start}.plan-compact-actions{justify-content:flex-start}.plan-compact-detail{grid-column:1}
  .sales-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Mobile: selected tables become cards instead of tiny horizontal spreadsheets. */
@media(max-width:720px){
  .page-shell{width:calc(100% - 12px);margin:12px auto 42px}.card{padding:13px;border-radius:14px}.page-title{font-size:22px}.page-sub{font-size:12px;line-height:1.55}
  .page-head{display:grid;grid-template-columns:1fr}.page-head>.actions{margin-left:0;width:100%}.page-head>.actions .btn,.page-head>.actions form{width:100%}.page-head>.actions form .input{width:100%}
  .grid-2,.grid-3,.grid-4,.sales-kpi-grid{grid-template-columns:1fr}.sales-kpi-value{font-size:23px}
  .sales-tabs,.section-nav,.tabs,.site-switch{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px}.sales-tabs>* ,.section-nav>* ,.tabs>* ,.site-switch>*{flex:0 0 auto}
  .toolbar{grid-template-columns:1fr}.toolbar>*{width:100%}
  .plan-compact-help{display:grid;grid-template-columns:1fr}.plan-compact-main{display:grid;grid-template-columns:1fr}.plan-compact-meta{justify-content:flex-start}.plan-compact-actions{display:grid;grid-template-columns:1fr 1fr}.plan-compact-actions .btn,.plan-compact-actions form,.plan-compact-actions form .btn{width:100%}.plan-category-summary{padding:10px 12px}
  .media-total-chip{width:100%;justify-content:space-between;flex-wrap:wrap}

  .table.responsive-stack{min-width:0;border-collapse:separate;border-spacing:0}
  .table.responsive-stack thead{display:none}
  .table.responsive-stack tbody,.table.responsive-stack tr,.table.responsive-stack td{display:block;width:100%}
  .table.responsive-stack tr{margin:0 0 10px;border:1px solid var(--ds-line);border-radius:12px;background:var(--ds-surface);overflow:hidden;box-shadow:0 3px 10px rgba(20,45,75,.04)}
  .table.responsive-stack tr.total{border-color:var(--ds-blue-line);background:var(--ds-blue-soft)}
  .table.responsive-stack td{display:grid;grid-template-columns:minmax(100px,42%) 1fr;gap:10px;align-items:center;padding:9px 11px!important;border-bottom:1px solid var(--ds-line)!important;background:transparent!important;text-align:right!important;white-space:normal!important}
  .table.responsive-stack td:last-child{border-bottom:0!important}.table.responsive-stack td::before{content:attr(data-label);font-size:11px;font-weight:900;color:var(--ds-muted);text-align:left}.table.responsive-stack td:first-child{text-align:right!important}.table.responsive-stack td form{justify-self:end}.table.responsive-stack .empty{grid-column:1/-1}
  .table-wrap:has(.responsive-stack){overflow:visible;border:0;background:transparent}
  .sticky-first th:first-child,.sticky-first td:first-child{position:static}
  #reward-statements .table.responsive-stack td,#reward-rules .table.responsive-stack td,.reward-check-table.responsive-stack td{text-align:right!important}
}

/* =========================================================
   v2.13 — production UI pass
   Goal: strong hierarchy on desktop, stable middle widths,
   touch-friendly mobile, and readable operational tables.
   ========================================================= */
:root{
  --ui-bg:#f4f7fb;
  --ui-surface:#ffffff;
  --ui-surface-soft:#f8fbff;
  --ui-line:#d8e2ed;
  --ui-line-strong:#b8c8da;
  --ui-ink:#132238;
  --ui-muted:#65758a;
  --ui-primary:#176bd6;
  --ui-primary-deep:#0f55ae;
  --ui-primary-soft:#eaf3ff;
  --ui-shadow:0 8px 28px rgba(20,44,76,.07);
  --ui-shadow-lift:0 16px 38px rgba(20,44,76,.11);
}
html{scroll-behavior:smooth;background:var(--ui-bg)}
body{background:linear-gradient(180deg,var(--ds-blue-soft) 0,var(--ds-surface-alt) 250px,var(--ds-surface-alt) 100%);color:var(--ui-ink);line-height:1.55}
.page-shell{width:min(1540px,calc(100% - 32px));margin:24px auto 64px}
.page-title{font-size:clamp(24px,2.1vw,31px);letter-spacing:-.025em;font-weight:950}
.page-sub{color:var(--ui-muted);line-height:1.65;max-width:980px}
.section-title{font-weight:950;letter-spacing:-.015em;color:var(--ds-text)}
.section-eyebrow,.sales-eyebrow{font-size:11px;letter-spacing:.12em;font-weight:950;color:var(--ds-muted);text-transform:uppercase}
.card{border-color:var(--ui-line);border-radius:18px;box-shadow:var(--ui-shadow);padding:20px;background:rgba(255,255,255,.98)}
.card:hover{border-color:var(--ds-line)}

/* Navigation: stay one-row at medium widths, scroll only the menu. */
.topbar{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;min-height:62px;padding:8px 16px!important;gap:10px!important;background:var(--ds-topbar,#1b5fb8)}
.brand{grid-column:auto!important;grid-row:auto!important}.brand-mark{padding:7px 9px;border-radius:10px;font-weight:950;box-shadow:0 1px 0 rgba(255,255,255,.15)}
.mainnav.flatnav{grid-column:auto!important;grid-row:auto!important;width:auto!important;display:flex!important;flex-wrap:nowrap!important;gap:3px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;padding:2px 0!important}
.mainnav.flatnav::-webkit-scrollbar{display:none}
.mainnav.flatnav .nav-btn{min-height:42px;padding:9px 11px!important;font-size:13px;font-weight:850;border-radius:11px;transition:background .14s ease,color .14s ease,transform .14s ease}
.mainnav.flatnav .nav-btn.active{background:var(--ds-blue-solid)!important;box-shadow:inset 0 -2px 0 #73aaf0}
.mainnav.flatnav .nav-btn:active{transform:scale(.98)}
.top-user{grid-column:auto!important;grid-row:auto!important;justify-self:end;flex-shrink:0;gap:8px}.top-user>span{max-width:92px;overflow:hidden;text-overflow:ellipsis}

/* Controls */
.input,.select,.textarea{border-color:var(--ds-line);border-radius:11px;min-height:42px;background:var(--ds-surface);box-shadow:inset 0 1px 1px rgba(15,31,51,.025)}
.input:hover,.select:hover,.textarea:hover{border-color:var(--ds-line)}.input:focus,.select:focus,.textarea:focus{border-color:var(--ds-blue-line);box-shadow:0 0 0 3px rgba(23,107,214,.12)}
.btn{min-height:42px;border-radius:11px;font-weight:900;box-shadow:0 1px 2px rgba(20,40,65,.05)}
.btn-primary{background:linear-gradient(180deg,var(--ds-blue-solid),var(--ds-blue-solid))}.btn-primary:hover{background:linear-gradient(180deg,var(--ds-blue-solid),var(--ds-blue-solid));box-shadow:0 7px 18px rgba(22,104,212,.18)}
.btn-secondary{background:var(--ds-blue-soft);color:var(--ds-text);border:1px solid var(--ds-line)}.btn-secondary:hover{background:var(--ds-blue-soft)}
.btn-ghost{border-color:var(--ds-line)}.btn-danger{background:linear-gradient(180deg,var(--ds-red-solid),var(--ds-red-solid))}
.tabs,.sales-tabs,.section-nav,.site-switch{gap:7px}.tab,.subtab,.site-switch>a,.site-switch>button{min-height:40px;display:inline-flex;align-items:center;justify-content:center}

/* Tables — operational, not spreadsheet-grey. */
.table-wrap{border:1px solid var(--ui-line);border-radius:14px;background:var(--ds-surface);box-shadow:0 3px 12px rgba(18,43,74,.035);-webkit-overflow-scrolling:touch}
.table{color:var(--ds-text)}.table th{top:0;background:var(--ds-blue-soft)!important;color:var(--ds-text)!important;font-size:11px;letter-spacing:.025em;text-transform:none;font-weight:950;border-bottom:1px solid var(--ds-line)!important;z-index:3}
.table th,.table td{padding:11px 13px;border-bottom-color:var(--ds-line);vertical-align:middle}
.table tbody tr:nth-child(even):not(.total)>td{background:var(--ds-surface)}.table tbody tr:hover:not(.total)>td{background:var(--ds-surface-alt)!important}
.table .num,.table .date{font-variant-numeric:tabular-nums}.table td.num{font-weight:720}.table td.emphasis{font-weight:950;color:var(--ds-text)}
.table tr.total>td{background:var(--ds-blue-soft)!important;color:var(--ds-text);font-weight:950;border-top:2px solid var(--ds-blue-line)!important;border-bottom:0}
.table tr.selected-row>td{background:var(--ds-blue-soft)!important}
.sticky-first th:first-child,.sticky-first td:first-child{box-shadow:2px 0 0 rgba(196,210,224,.8)}.week-nav{gap:clamp(34px,8vw,110px)}

/* Plan management */
.plan-sheet-section{margin-top:24px}.plan-group-title{padding:0 4px 7px;font-size:17px;font-weight:950;border-bottom:2px solid var(--ds-line)}
.plan-category-accordion{border-color:var(--ds-line);box-shadow:0 5px 18px rgba(20,44,75,.055)}
.plan-category-summary{min-height:48px}.plan-category-summary:hover{filter:brightness(.985)}
.plan-category-count{padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(28,45,64,.18)}
.plan-daypart-divider{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;font-size:11px;font-weight:950;letter-spacing:.04em;border-top:1px solid var(--ds-line);border-bottom:1px solid var(--ds-line)}.plan-daypart-divider.is-day{background:var(--ds-amber-soft);color:var(--ds-amber-text)}.plan-daypart-divider.is-night{background:var(--ds-blue-soft);color:var(--ds-blue-text)}
.plan-compact-row{padding:12px 14px}.plan-compact-main{min-width:0}.plan-regular-meta{display:flex;gap:7px;flex-wrap:wrap;align-items:stretch;margin-top:8px;width:100%}.plan-regular-meta>span{display:grid;gap:1px;min-width:105px;padding:7px 9px;border:1px solid var(--ds-line);background:var(--ds-surface-alt);border-radius:9px}.plan-regular-meta small{font-size:9px;color:var(--ds-muted);font-weight:800}.plan-regular-meta strong{font-size:11px;color:var(--ds-text)}
.regular-settings-box{border:1px solid var(--ds-line);background:var(--ds-surface-alt);border-radius:13px;padding:13px}.regular-settings-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.regular-settings-head span{font-size:11px;color:var(--ds-muted)}.regular-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.regular-settings-grid label{display:grid;gap:6px;font-size:12px;font-weight:850}

/* Sales — high-energy result-first dashboard, still professional. */
.sales-tabs{margin-bottom:14px;padding:5px;border:1px solid var(--ds-line);background:var(--ds-surface-alt);border-radius:14px;width:max-content;max-width:100%;overflow-x:auto;flex-wrap:nowrap}.sales-tabs .subtab{border:0;background:transparent;box-shadow:none}.sales-tabs .subtab.active{background:var(--ds-blue-solid);box-shadow:0 4px 12px rgba(20,62,110,.16)}
.sales-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(330px,.9fr);gap:14px;margin-bottom:14px;padding:22px;border:1px solid var(--ds-blue-line);border-radius:20px;background:radial-gradient(circle at 92% 8%,rgba(63,137,230,.16),transparent 34%),linear-gradient(135deg,var(--ds-surface-alt),var(--ds-blue-soft));box-shadow:0 14px 36px rgba(26,75,130,.10)}
.sales-hero-main{padding:3px 4px}.sales-hero-label{margin-top:8px;color:var(--ds-muted);font-size:13px;font-weight:850}.sales-hero-value{font-size:clamp(34px,4vw,54px);font-weight:1000;letter-spacing:-.035em;color:var(--ds-text);font-variant-numeric:tabular-nums;line-height:1.15;margin-top:3px}.sales-progress{height:10px;margin-top:14px;border-radius:999px;background:var(--ds-blue-soft);overflow:hidden;box-shadow:inset 0 1px 2px rgba(15,41,70,.08)}.sales-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ds-blue-solid),var(--ds-blue-solid));box-shadow:0 0 12px rgba(25,107,211,.24)}.sales-progress.compact{height:7px;margin-top:10px}.sales-hero-progress-meta{display:flex;justify-content:space-between;align-items:center;margin-top:7px;color:var(--ds-muted);font-size:12px}.sales-hero-progress-meta strong{font-size:16px;color:var(--ds-muted)}
.sales-hero-metrics{display:grid;grid-template-columns:1fr;gap:8px}.sales-hero-metric{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;padding:12px 14px;border:1px solid rgba(179,202,226,.85);border-radius:13px;background:var(--ds-surface-alt)}.sales-hero-metric span{font-size:11px;font-weight:900;color:var(--ds-muted)}.sales-hero-metric strong{font-size:19px;font-weight:950;font-variant-numeric:tabular-nums;color:var(--ds-text)}.sales-hero-metric small{grid-column:1/-1;color:var(--ds-muted);font-size:10px}.positive{color:var(--ds-green-text)!important}.negative{color:var(--ds-red-text)!important}
.sales-site-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:16px}.sales-site-card{padding:16px;border:1px solid var(--ds-line);border-radius:17px;background:var(--ds-surface);box-shadow:var(--ui-shadow);overflow:hidden}.sales-site-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.sales-site-head h2{font-size:18px;margin:1px 0 0}.sales-site-kicker{font-size:9px;font-weight:950;letter-spacing:.14em;color:var(--ds-muted)}.sales-rate{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--ds-blue-soft);color:var(--ds-muted);font-size:11px;font-weight:950}.sales-rate.is-complete{background:var(--ds-green-soft);color:var(--ds-green-text)}.sales-site-current{display:grid;gap:2px;margin-top:13px}.sales-site-current span{font-size:11px;font-weight:850;color:var(--ds-muted)}.sales-site-current strong{font-size:26px;font-weight:1000;font-variant-numeric:tabular-nums;color:var(--ds-text)}.sales-site-stats{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:12px 0 0;border-top:1px solid var(--ds-line)}.sales-site-stats>div{padding:9px 0}.sales-site-stats>div:nth-child(odd){padding-right:10px}.sales-site-stats dt{font-size:9px;font-weight:850;color:var(--ds-muted)}.sales-site-stats dd{margin:2px 0 0;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}.sales-detail-card,.sales-media-card{margin-top:14px!important}.sales-table-note{margin:10px 2px 0}.media-total-chip{background:var(--ds-blue-soft);border-color:var(--ds-line)}.media-total-chip strong{color:var(--ds-text)}

/* Reward summary */
#reward-summary.grid-4{gap:12px}.kpi{background:linear-gradient(180deg,var(--ds-surface),var(--ds-surface-alt));border-color:var(--ds-line);box-shadow:0 5px 16px rgba(20,44,75,.045)}.kpi-label{text-transform:none;color:var(--ds-muted)}.kpi-value{letter-spacing:-.025em;color:var(--ds-text);font-variant-numeric:tabular-nums}.reward-check-ok,.reward-check-ng{border-radius:13px;padding:12px 14px;font-weight:900}.reward-check-ok{background:var(--ds-green-soft);border:1px solid var(--ds-green-line);color:var(--ds-green-text)}.reward-check-ng{background:var(--ds-red-soft);border:1px solid var(--ds-red-line);color:var(--ds-amber-text)}
.reward-group-box{padding:16px;border-color:var(--ds-line);background:var(--ds-surface);box-shadow:0 4px 14px rgba(20,44,75,.035)}.reward-group-head{padding-bottom:12px;border-bottom:1px solid var(--ds-line)}.reward-member-table-wrap{margin-top:10px}.reward-member-row{grid-template-columns:minmax(130px,1fr) minmax(150px,1fr) minmax(180px,1.35fr) auto!important}.reward-member-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.reward-member-actions .order-buttons{display:flex;gap:4px}.reward-order-buttons .btn,.reward-member-actions .order-buttons .btn{min-width:38px;padding-inline:9px}
.reward-check-table td,.reward-check-table th{vertical-align:middle}.reward-check-table td:nth-child(4),.reward-check-table td:nth-child(5),.reward-check-table td:nth-child(6){font-variant-numeric:tabular-nums}.schedule-card{transition:transform .12s ease,box-shadow .12s ease}.schedule-card:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(28,63,100,.08)}

/* User management */
.user-list-table .table{min-width:650px}.user-filter{padding:12px;border:1px solid var(--ds-line);background:var(--ds-surface-alt);border-radius:13px;margin-bottom:12px}.user-edit-card{border-color:var(--ds-blue-line);box-shadow:0 10px 28px rgba(24,66,112,.08)}

/* Mid-size windows: prevent the old half-screen collapse. */
@media(max-width:1180px){
  .page-shell{width:calc(100% - 20px);margin-top:18px}
  .topbar{padding-inline:10px!important}.mainnav.flatnav .nav-btn{padding-inline:9px!important;font-size:12px}
  .top-user>span{display:none}
  .achievement-register-grid{grid-template-columns:minmax(0,1fr) minmax(330px,.88fr);gap:14px}.achievement-preview-column{top:78px}
  .sales-dashboard-hero{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}
  .sales-site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-site-card:last-child:nth-child(odd){grid-column:1/-1}
  .regular-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .live-monitor-grid{grid-template-columns:repeat(3,minmax(210px,1fr))}
}
@media(max-width:900px){
  .topbar{grid-template-columns:auto minmax(0,1fr) auto!important}.mainnav.flatnav{grid-column:auto!important;grid-row:auto!important}
  .page-head{align-items:flex-start}.achievement-register-grid{grid-template-columns:1fr}.achievement-preview-column{position:static}.achievement-preview-column .achievement-preview-edit{min-height:300px}
  .sales-dashboard-hero{grid-template-columns:1fr}.sales-hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.sales-hero-metric{grid-template-columns:1fr}.sales-hero-metric strong{font-size:16px}.sales-site-grid{grid-template-columns:1fr 1fr}
  .reward-member-row{grid-template-columns:1fr 1fr!important}.reward-member-row>input:nth-of-type(2){grid-column:1/-1}.reward-member-actions{grid-column:1/-1;justify-content:flex-start}
  .plan-compact-row{grid-template-columns:1fr}.plan-compact-actions{justify-content:flex-start}
}

/* Phones */
@media(max-width:720px){
  body{font-size:14px;background:var(--ds-surface-alt)}
  .topbar{grid-template-columns:auto minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;padding:7px 8px!important;gap:5px 8px!important;min-height:auto}
  .brand{grid-column:1!important;grid-row:1!important}.top-user{grid-column:3!important;grid-row:1!important}.top-user .btn{min-height:36px;padding:7px 10px;font-size:11px}.mainnav.flatnav{grid-column:1/-1!important;grid-row:2!important;width:100%!important;margin-top:1px;padding:2px 0 3px!important}.mainnav.flatnav .nav-btn{min-height:38px;padding:8px 10px!important;font-size:11px}
  .page-shell{width:calc(100% - 12px);margin:12px auto 40px}.page-title{font-size:22px}.page-head{display:grid;grid-template-columns:1fr;gap:10px}.page-head>.actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.page-head>.actions>*{width:100%}.page-head>.actions form .input{width:100%}.card{padding:13px;border-radius:14px;box-shadow:0 5px 16px rgba(20,44,75,.055)}
  .btn{min-height:44px}.btn-sm{min-height:38px}.input,.select{min-height:44px}.textarea{min-height:100px}
  .toolbar{display:grid!important;grid-template-columns:1fr!important;align-items:stretch}.toolbar>*{width:100%}.toolbar .field{width:100%;min-width:0}.actions{display:flex;flex-wrap:wrap}.actions .btn{flex:1 1 120px}
  .form-grid{grid-template-columns:1fr}.field,.field.w2,.field.w3,.field.w4,.field.w5,.field.w6,.field.w7,.field.w9,.field.w12{grid-column:1!important}.regular-settings-grid{grid-template-columns:1fr}.regular-settings-head{display:grid;gap:3px}

  /* achievement sheet remains spreadsheet-like{max-width:100%;border-radius:12px}.week-nav{gap:22px}.week-nav .btn{min-width:112px}.day-num{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;font-size:14px}.day-cell.today .day-num:after{content:"今日";display:inline-flex;padding:3px 8px;border-radius:999px;background:var(--ds-blue-solid);color:#fff;font-size:10px;font-weight:950}.day-cell.today .today-label{display:none}.event-mini,.schedule-card{font-size:12px}.schedule-card{padding:9px}

  /* Sales becomes a dashboard, not a tiny spreadsheet. */
  .sales-tabs{width:100%;border-radius:12px}.sales-dashboard-hero{padding:16px;border-radius:16px}.sales-hero-value{font-size:36px}.sales-hero-metrics{grid-template-columns:1fr 1fr}.sales-hero-metric:last-child{grid-column:1/-1}.sales-site-grid{grid-template-columns:1fr}.sales-site-card:last-child:nth-child(odd){grid-column:auto}.sales-site-current strong{font-size:24px}.sales-site-stats{grid-template-columns:1fr 1fr}.media-total-chip{width:100%;justify-content:space-between}

  /* Mobile tables use cards when explicitly marked responsive-stack. */
  .table.responsive-stack{min-width:0!important;border-collapse:separate;border-spacing:0}.table.responsive-stack thead{display:none}.table.responsive-stack tbody,.table.responsive-stack tr,.table.responsive-stack td{display:block;width:100%}.table.responsive-stack tr{margin:0 0 10px;border:1px solid var(--ds-line);border-radius:13px;background:var(--ds-surface);overflow:hidden;box-shadow:0 4px 12px rgba(20,44,75,.05)}.table.responsive-stack tr.total{border-color:var(--ds-blue-line);background:var(--ds-blue-soft)}.table.responsive-stack td{display:grid;grid-template-columns:minmax(105px,42%) 1fr;gap:10px;align-items:center;padding:9px 11px!important;border-bottom:1px solid var(--ds-line)!important;background:transparent!important;text-align:right!important;white-space:normal!important}.table.responsive-stack td:last-child{border-bottom:0!important}.table.responsive-stack td::before{content:attr(data-label);font-size:10px;font-weight:950;color:var(--ds-muted);text-align:left}.table.responsive-stack td form{justify-self:end}.table-wrap:has(.responsive-stack){overflow:visible;border:0;background:transparent;box-shadow:none}

  .reward-member-table-wrap{overflow:visible;border:0;box-shadow:none}.reward-member-table thead{display:none}.reward-member-table,.reward-member-table tbody,.reward-member-table tr,.reward-member-table td{display:block;width:100%;min-width:0}.reward-member-table tr{margin-bottom:10px}.reward-member-table td{padding:0!important;border:0!important}.reward-member-row{grid-template-columns:1fr!important;padding:10px;border:1px solid var(--ds-line);border-radius:12px;background:var(--ds-surface)}.reward-member-actions{display:grid;grid-template-columns:auto 1fr 1fr;justify-content:stretch}.reward-member-actions .order-buttons{display:grid;grid-template-columns:1fr 1fr}.reward-member-actions .btn{width:100%}
  .detail-grid,.detail-kpis{grid-template-columns:1fr}
  .live-monitor-grid{grid-template-columns:1fr}.monitor-status-line{margin-left:0;width:100%}
  .user-list-table{overflow:visible;border:0;box-shadow:none}.user-list-table .table{min-width:0}.user-list-table .table thead{display:none}.user-list-table .table tbody,.user-list-table .table tr,.user-list-table .table td{display:block;width:100%}.user-list-table .table tr{padding:11px;margin-bottom:9px;border:1px solid var(--ds-line);border-radius:12px;background:var(--ds-surface)}.user-list-table .table td{padding:4px 0!important;border:0!important}.user-list-table .table td:last-child{padding-top:9px!important}.user-list-table .actions{display:grid;grid-template-columns:1fr 1fr}.user-list-table .actions form,.user-list-table .actions .btn{width:100%}
}

@media(max-width:440px){
  .page-head>.actions{grid-template-columns:1fr}.sales-hero-metrics{grid-template-columns:1fr}.sales-hero-metric:last-child{grid-column:auto}.sales-site-stats{grid-template-columns:1fr}.top-user .btn{padding-inline:8px}.brand-mark{padding:5px 7px}.reward-member-actions{grid-template-columns:1fr}.reward-member-actions .order-buttons{grid-template-columns:1fr 1fr}
}

/* v2.13 grid spans that older builds did not define explicitly */
.form-grid>.field.w3{grid-column:span 3}.form-grid>.field.w5{grid-column:span 5}.form-grid>.field.w7{grid-column:span 7}.form-grid>.field.w9{grid-column:span 9}
.month-heading{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 7px;white-space:nowrap;color:var(--ds-text)}
@media(max-width:900px) and (min-width:721px){
  .form-grid>.field.w2,.form-grid>.field.w3,.form-grid>.field.w4,.form-grid>.field.w5,.form-grid>.field.w6,.form-grid>.field.w7,.form-grid>.field.w9{grid-column:span 6}
  .form-grid>.field.w12{grid-column:span 12}
}

/* =========================================================
   v2.14 — visual-system refresh
   Goal: clearer hierarchy, compact data tables, stable mid/mobile UI.
   ========================================================= */
:root{
  --ui-blue:#176cc7;
  --ui-blue-dark:#184d82;
  --ui-blue-soft:#edf5fd;
  --ui-green-soft:#edf8ef;
  --ui-orange-soft:#fff2df;
  --ui-night-soft:#eaf2fd;
  --ui-top-soft:#f2ecfb;
  --ui-special-soft:#fff8d9;
  --ui-ink:#172a40;
  --ui-muted:#64768a;
  --ui-border:#cfdbe7;
  --ui-border-strong:#aec2d7;
  --ui-shadow-soft:0 5px 18px rgba(20,48,82,.055);
}

/* Shared data surfaces */
.polished-table{border-collapse:separate;border-spacing:0;color:var(--ui-ink)}
.polished-table th,.polished-table td{padding:10px 12px;line-height:1.35;border-bottom:1px solid var(--ds-line)}
.polished-table thead th{background:var(--ds-blue-soft);color:var(--ds-text);border-bottom:1px solid var(--ds-blue-line);font-size:11px;font-weight:950;letter-spacing:.01em;white-space:nowrap}
.polished-table tbody tr:nth-child(even):not(.total)>td{background:var(--ds-surface-alt)}
.polished-table tbody tr:hover:not(.total)>td{background:var(--ds-blue-soft)}
.polished-table td.num,.polished-table th.num{font-variant-numeric:tabular-nums;text-align:right}
.polished-table .total>td{background:var(--ds-blue-soft)!important;border-top:2px solid var(--ds-blue-line);font-weight:950}
.table-wrap{box-shadow:0 2px 8px rgba(25,54,87,.025)}

/* Achievement sheet — true spreadsheet rhythm{border-color:var(--ds-blue-line);box-shadow:0 6px 22px rgba(25,54,87,.05)}
.sheet-special-label{min-height:92px!important}.sheet-special-label .small{font-size:9px;margin-top:4px;display:block}.week-nav{margin-top:16px}

/* Plan management — compact registry that scales to many plans. */
.plan-category-accordion{margin:8px 0;border-color:var(--ds-line);border-radius:12px;box-shadow:none}
.plan-category-summary{min-height:42px;padding:9px 13px!important;font-size:12px;letter-spacing:.01em}
.plan-category-summary>span:first-child{font-weight:950}.plan-category-count{font-size:10px}.plan-category-chevron{font-size:18px}
.plan-cat-free{background:var(--ds-green-soft)!important;color:var(--ds-green-text)!important;border-color:var(--ds-line)!important}
.plan-cat-day-list{background:var(--ds-amber-soft)!important;color:var(--ds-amber-text)!important;border-color:var(--ds-amber-line)!important}
.plan-cat-night-list{background:var(--ds-blue-soft)!important;color:var(--ds-muted)!important;border-color:var(--ds-blue-line)!important}
.plan-cat-top{background:var(--ds-purple-soft)!important;color:var(--ds-purple-text)!important;border-color:var(--ds-purple-line)!important}
.plan-compact-list{background:var(--ds-surface)}.plan-compact-row{padding:9px 12px!important;border-top:1px solid var(--ds-line)}
.plan-compact-row:first-child{border-top:0}.plan-compact-main{gap:7px!important}.plan-compact-title{font-size:13px!important}.plan-compact-meta{gap:5px!important}.plan-compact-meta .badge{padding:3px 7px;font-size:10px}
.plan-compact-actions .btn{min-height:32px;padding:6px 9px;font-size:10px}
.plan-regular-meta{margin-top:5px;gap:5px}.plan-regular-meta>span{min-width:88px;padding:5px 7px;border-radius:7px}.plan-regular-meta small{font-size:8px}.plan-regular-meta strong{font-size:10px}
.regular-settings-box{padding:11px;border-radius:11px}.regular-settings-grid{gap:8px}.regular-settings-head{margin-bottom:8px}.day-num{margin-bottom:5px;font-size:12px}.schedule-card{padding:7px;margin-top:5px;font-size:11px;border-radius:8px}.event-mini{font-size:10px}

/* Sales — table-first clarity, compact hero, grouped columns. */
.sales-dashboard-hero{grid-template-columns:minmax(0,1.35fr) minmax(285px,.7fr)!important;gap:11px!important;padding:16px 18px!important;border-radius:16px!important;margin-bottom:12px!important;box-shadow:0 7px 24px rgba(26,75,130,.075)!important}
.sales-hero-label{margin-top:5px!important;font-size:11px!important}.sales-hero-value{font-size:clamp(31px,3.2vw,44px)!important}.sales-progress{height:7px!important;margin-top:10px!important}.sales-hero-progress-meta{margin-top:5px!important;font-size:10px!important}.sales-hero-progress-meta strong{font-size:13px!important}
.sales-hero-metrics{gap:6px!important}.sales-hero-metric{padding:8px 11px!important;border-radius:10px!important}.sales-hero-metric span{font-size:9px!important}.sales-hero-metric strong{font-size:15px!important}.sales-hero-metric small{font-size:9px!important}
.sales-site-grid{gap:9px!important;margin-bottom:12px!important}.sales-site-card{padding:12px 13px!important;border-radius:13px!important;box-shadow:0 4px 14px rgba(20,44,75,.045)!important}.sales-site-head h2{font-size:15px!important}.sales-rate{padding:3px 7px!important;font-size:9px!important}.sales-site-current{margin-top:8px!important}.sales-site-current strong{font-size:21px!important}.sales-site-stats{margin-top:8px!important}.sales-site-stats>div{padding:7px 0!important}.sales-site-stats dt{font-size:8px!important}.sales-site-stats dd{font-size:10.5px!important}
.sales-table-wrap{border-color:var(--ds-line)!important;border-radius:11px!important;box-shadow:0 4px 14px rgba(20,44,75,.045)!important}
.sales-metric-table{min-width:830px!important;font-size:12px!important}
.sales-metric-table th,.sales-metric-table td{padding:9px 11px!important;vertical-align:middle!important}
.sales-metric-table thead .sales-group-head th{background:var(--ds-blue-solid)!important;color:#fff!important;text-align:center!important;border-right:1px solid rgba(255,255,255,.18)!important;border-bottom:0!important;font-size:10px!important;letter-spacing:.04em!important}
.sales-metric-table thead .sales-group-head th:first-child{text-align:left!important}
.sales-metric-table thead tr:nth-child(2) th{background:var(--ds-blue-soft)!important;color:var(--ds-text)!important;border-bottom:2px solid var(--ds-line)!important;font-size:10px!important}
.sales-metric-table thead .sales-band-revenue{background:var(--ds-blue-solid)!important}.sales-metric-table thead .sales-band-acq{background:var(--ds-green-solid)!important}
.sales-metric-table tbody td{background:var(--ds-surface)}.sales-metric-table tbody tr:nth-child(even):not(.total) td{background:var(--ds-surface-alt)}.sales-metric-table tbody tr:hover:not(.total) td{background:var(--ds-blue-soft)!important}
.sales-metric-table .sales-row-label{position:sticky;left:0;z-index:2;min-width:120px;background:var(--ds-surface)!important;border-right:2px solid var(--ds-line);font-size:11px}
.sales-metric-table tbody tr:nth-child(even):not(.total) .sales-row-label{background:var(--ds-surface-alt)!important}.sales-metric-table .total .sales-row-label{background:var(--ds-blue-soft)!important}
.sales-metric-table .emphasis{font-weight:950;color:var(--ds-text)}.sales-percent-chip{display:inline-flex;min-width:51px;justify-content:center;padding:3px 6px;border-radius:999px;background:var(--ds-blue-soft);color:var(--ds-muted);font-size:10px;font-weight:950}
.sales-metric-table .total td{background:var(--ds-blue-soft)!important;color:var(--ds-text);border-top:2px solid var(--ds-blue-line)!important}
.sales-media-card .page-head.compact,.sales-detail-card .page-head.compact{margin-bottom:10px!important}.media-total-chip{padding:7px 10px!important;font-size:10px!important;border-radius:10px!important}

/* Reward tables — align like accounting sheets rather than generic cards. */
.reward-check-table{font-size:12px}.reward-check-table th,.reward-check-table td{padding:9px 11px!important}.reward-check-table thead th{background:var(--ds-blue-soft)!important;color:var(--ds-text)!important}.reward-check-table tbody tr:nth-child(even) td{background:var(--ds-surface)}.reward-check-table td:nth-child(4),.reward-check-table td:nth-child(5),.reward-check-table td:nth-child(6){text-align:right}.reward-check-table .total td{background:var(--ds-blue-soft)!important}
.reward-group-box{padding:13px!important;border-radius:13px!important}.reward-member-row{gap:7px!important}.reward-member-actions .btn{min-height:34px;padding-top:6px;padding-bottom:6px}

/* Mid-size widths: preserve structure without awkward half-collapse. */
@media(max-width:1100px) and (min-width:721px){
  .page-shell{width:calc(100% - 16px)!important}
  .card{padding:16px!important}.page-head{gap:10px}
  .sales-dashboard-hero{grid-template-columns:1fr!important}.sales-hero-metrics{grid-template-columns:repeat(3,1fr)!important}.sales-site-grid{grid-template-columns:repeat(3,1fr)!important}.sales-site-card:last-child:nth-child(odd){grid-column:auto!important}
  .plan-compact-row{grid-template-columns:minmax(0,1fr) auto!important}.plan-compact-actions{justify-content:flex-end!important}
}

/* Phones: compact, touchable, and table-first where comparison matters. */
@media(max-width:720px){.day-num{font-size:13px!important}.schedule-card{font-size:11px!important}
  .plan-category-summary{min-height:44px;padding:10px 12px!important}.plan-compact-row{padding:10px!important}.plan-compact-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px!important}.plan-compact-actions .btn{width:100%;padding-inline:5px!important}
  .sales-dashboard-hero{padding:13px!important;border-radius:14px!important}.sales-hero-value{font-size:31px!important}.sales-hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}.sales-hero-metric{padding:7px 8px!important}.sales-hero-metric strong{font-size:13px!important}.sales-site-grid{grid-template-columns:1fr!important}.sales-site-card{padding:10px 11px!important}.sales-site-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}.sales-site-stats>div{padding:6px 5px!important}.sales-site-stats>div:nth-child(odd){padding-right:5px!important}.sales-site-stats dd{font-size:10px!important;overflow-wrap:anywhere}
  .sales-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.sales-metric-table{min-width:760px!important}.sales-metric-table th,.sales-metric-table td{padding:8px 9px!important}.sales-metric-table .sales-row-label{min-width:108px!important;left:0!important}.sales-table-note{font-size:10px!important}
}

@media(max-width:440px){
  .sales-hero-metrics{grid-template-columns:1fr 1fr!important}.sales-hero-metric:last-child{grid-column:1/-1!important}.sales-site-stats{grid-template-columns:1fr 1fr!important}
}

/* v2.14 schedule mobile agenda refinement */
@media(max-width:720px){
  .calendar .day-cell.is-empty-day .day-num{margin:0!important;font-size:11px!important;color:var(--ds-muted)!important}
  .calendar .day-cell.today .day-num{color:var(--ds-muted)!important}
  .event-mini{padding:5px 7px!important;border-radius:7px!important;margin-top:4px!important}
}

/* v2.14 reward data stays a compact comparison table on phones. */
.reward-data-table{min-width:760px;font-size:11.5px}.reward-data-table th,.reward-data-table td{padding:8px 10px!important;vertical-align:middle}.reward-data-table th:first-child,.reward-data-table td:first-child{position:sticky;left:0;z-index:2;background:var(--ds-surface)}.reward-data-table thead th:first-child{z-index:4;background:var(--ds-blue-soft)}.reward-data-table tbody tr:nth-child(even) td:first-child{background:var(--ds-surface)}.reward-data-table tbody tr:hover td:first-child{background:var(--ds-blue-soft)}.reward-data-table .badge{padding:3px 6px;font-size:9px}
@media(max-width:720px){
  .reward-data-table{min-width:720px!important}.reward-data-table th,.reward-data-table td{padding:7px 8px!important;font-size:10px}.reward-data-table .btn{min-height:30px!important;padding:5px 7px!important;font-size:9px!important}
}

/* Sales: keep the good total hero, but make it leaner and let tables do the work. */
.sales-dashboard-hero{grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr)!important;padding:13px 15px!important;gap:9px!important;margin-bottom:10px!important;border-radius:14px!important}
.sales-hero-value{font-size:clamp(29px,3vw,40px)!important}.sales-hero-main{padding:0!important}.sales-progress{margin-top:7px!important;height:6px!important}.sales-hero-progress-meta{margin-top:4px!important}
.sales-hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;align-content:center}.sales-hero-metric{display:block!important;padding:7px 9px!important;min-width:0}.sales-hero-metric span,.sales-hero-metric small{display:block}.sales-hero-metric strong{display:block;font-size:13px!important;margin:2px 0}.sales-hero-metric small{font-size:8px!important}
.sales-detail-card,.sales-media-card{padding:14px!important}.sales-detail-card .section-heading,.sales-media-card .page-head.compact{margin-bottom:8px!important}.sales-detail-card .section-title,.sales-media-card .section-title{font-size:16px!important}.sales-detail-card .page-sub,.sales-media-card .page-sub{font-size:10px!important;margin-top:2px!important}
.sales-metric-table{font-size:11.5px!important}.sales-metric-table th,.sales-metric-table td{padding:7px 9px!important}.sales-metric-table thead .sales-group-head th,.sales-metric-table thead tr:nth-child(2) th{font-size:9px!important}.sales-metric-table tbody td{height:34px}

@media(max-width:1100px) and (min-width:721px){
  .sales-dashboard-hero{grid-template-columns:1fr!important}.sales-hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .sales-dashboard-hero{padding:11px 12px!important}.sales-hero-value{font-size:29px!important}.sales-hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}.sales-hero-metric{padding:6px!important}.sales-hero-metric strong{font-size:11px!important;overflow-wrap:anywhere}.sales-hero-metric span{font-size:8px!important}.sales-hero-metric small{font-size:7.5px!important}
  .sales-detail-card,.sales-media-card{padding:10px!important}.sales-metric-table{min-width:690px!important}.sales-metric-table th,.sales-metric-table td{padding:6px 7px!important;font-size:10px!important}.sales-metric-table .sales-row-label{min-width:96px!important}
}
@media(max-width:440px){
  .sales-hero-metrics{grid-template-columns:1fr 1fr!important}.sales-hero-metric:last-child{grid-column:1/-1}
}
@media(max-width:720px){
}
@media(max-width:620px){
}

/* v2.18: compact sales entry tables */
.sales-input-grid{align-items:start}
.sales-input-card{min-width:0}
.sales-entry-table-wrap{overflow:visible!important}
.sales-entry-table{min-width:0!important;table-layout:fixed}
.sales-entry-table th,.sales-entry-table td{padding:8px 9px!important;vertical-align:middle}
.sales-entry-table .input{width:100%;min-width:0!important;max-width:none;padding:8px 9px}
.sales-site-entry-table .sales-col-name{width:27%}
.sales-site-entry-table .sales-col-money{width:43%}
.sales-site-entry-table .sales-col-count{width:30%}
.sales-media-entry-table .sales-col-name{width:21%}
.sales-media-entry-table .sales-col-count{width:22%}
.sales-media-entry-table .sales-col-money{width:27%}
.sales-media-entry-table .sales-col-note{width:30%}
@media (min-width:961px) and (max-width:1180px){
  .sales-input-grid{grid-template-columns:1fr!important}
}
@media (max-width:720px){
  .sales-entry-table-wrap{overflow:visible!important}
}

/* v2.18: reward adjustment editor */
.reward-adjust-list{margin-top:18px;padding-top:14px;border-top:1px solid var(--ds-line)}
.reward-adjust-row{display:grid;grid-template-columns:130px minmax(150px,1.1fr) minmax(175px,1.15fr) 110px minmax(160px,1.2fr) minmax(150px,1fr) auto;gap:7px;align-items:center;padding:9px 0;border-top:1px solid var(--ds-line)}
.reward-adjust-row:first-of-type{border-top:0}
.reward-adjust-row .input,.reward-adjust-row .select{min-width:0;width:100%}
.reward-adjust-actions{display:flex;gap:5px;white-space:nowrap}
@media(max-width:1100px){.reward-adjust-row{grid-template-columns:1fr 1fr 1fr}.reward-adjust-actions{grid-column:1/-1}}
@media(max-width:620px){.reward-adjust-row{grid-template-columns:1fr}.reward-adjust-actions{grid-column:auto}.reward-adjust-actions .btn{flex:1}}

/* v2.18: regular plan metadata as a tight 2-column label/value block */
.plan-regular-meta{display:grid!important;grid-template-columns:max-content max-content!important;justify-content:start!important;column-gap:8px!important;row-gap:3px!important;align-items:baseline!important;margin-top:7px!important;width:auto!important}
.plan-regular-meta>span{display:contents!important}
.plan-regular-meta small{font-size:9px!important;color:var(--ds-muted)!important;font-weight:850!important;text-align:right!important;white-space:nowrap!important}
.plan-regular-meta strong{font-size:11px!important;color:var(--ds-text)!important;text-align:left!important;white-space:nowrap!important}
@media(max-width:620px){.plan-regular-meta{column-gap:7px!important;row-gap:2px!important}.plan-regular-meta small{font-size:9px!important}.plan-regular-meta strong{font-size:10px!important}}


/* =========================================================
   v2.19 — mobile sales entry stability + achievement alignment
   ========================================================= */
.sales-entry-table{width:100%!important}
@media(max-width:720px){
  .sales-input-grid{grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  .sales-input-card{width:100%!important;max-width:100%!important;overflow:hidden}
  .sales-entry-table-wrap{width:100%!important;max-width:100%!important;overflow:visible!important}
  .sales-entry-table,.sales-entry-table tbody,.sales-entry-table tr,.sales-entry-table td{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  .sales-entry-table colgroup{display:none!important}
  .sales-entry-table td{grid-template-columns:minmax(92px,34%) minmax(0,1fr)!important}
  .sales-entry-table .input{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
}

/* Achievement sheet: plan name left{text-align:left!important}


/* =========================================================
   v2.20 — sales mobile fix, cache-visible UI, aligned sheet meta
   ========================================================= */
@media(max-width:720px){
  /* Force the sales entry table out of the native table layout.
     This prevents tbody/tr from collapsing to label-width on narrow screens. */
  .sales-input-card{overflow:visible!important;min-width:0!important}
  .sales-entry-table-wrap{display:block!important;width:100%!important;max-width:none!important;overflow:visible!important}
  table.sales-entry-table.responsive-stack{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;table-layout:auto!important}
  table.sales-entry-table.responsive-stack colgroup,table.sales-entry-table.responsive-stack thead{display:none!important}
  table.sales-entry-table.responsive-stack tbody{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;width:100%!important;max-width:100%!important;min-width:0!important}
  table.sales-entry-table.responsive-stack tr{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;overflow:hidden!important}
  table.sales-entry-table.responsive-stack td{display:grid!important;grid-template-columns:minmax(82px,31%) minmax(0,1fr)!important;gap:9px!important;align-items:center!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:9px 10px!important;text-align:right!important}
  table.sales-entry-table.responsive-stack td::before{min-width:0!important;white-space:nowrap!important}
  table.sales-entry-table.responsive-stack td>strong{justify-self:end!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  table.sales-entry-table.responsive-stack td .input{justify-self:end!important;width:100%!important;max-width:100%!important;min-width:0!important}
  table.sales-entry-table.responsive-stack td .num-input{width:min(100%,170px)!important;max-width:170px!important;text-align:right!important}
  table.sales-media-entry-table.responsive-stack td[data-label="メモ"] .input{width:100%!important;max-width:none!important}
}
@media(max-width:390px){
  table.sales-entry-table.responsive-stack td{grid-template-columns:78px minmax(0,1fr)!important;gap:7px!important;padding-inline:8px!important}
  table.sales-entry-table.responsive-stack td .num-input{max-width:155px!important}
}
@media(max-width:620px){
}


/* =========================================================
   v2.22 — compact official events + calendar content priority
   ========================================================= */
/* Official race rows show venue + day only, in a single compact line. */
.event-mini{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:6px!important;
  min-height:0!important;
  margin-top:4px!important;
  padding:3px 6px!important;
  line-height:1.15!important;
}
.event-mini strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:10px!important;
  line-height:1.15!important;
}
.event-mini .status-day{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1.15!important;
}
/* SG: a slightly stronger, brighter orange while keeping dark text readable. */
.event-mini.event-sg{
  background:var(--ds-amber-soft)!important;
  border-left-color:var(--ds-amber-line)!important;
}
@media(max-width:620px){
  .event-mini{padding:4px 7px!important;margin-top:4px!important}
  .event-mini strong{font-size:11px!important}
  .event-mini .status-day{font-size:9.5px!important}
}


/* =========================================================
   v2.23 — two-column official events inside calendar cells
   ========================================================= */
.event-mini-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px 5px!important;
  margin-top:4px!important;
}
.event-mini-grid .event-mini{
  margin-top:0!important;
}
@media(max-width:620px){
  .event-mini-grid{grid-template-columns:1fr!important;}
}

/* v2.24: compact operations UI. Presentation only; retain existing page hooks. */
@media screen {
  :root { --radius:12px; --shadow:0 2px 8px rgba(25,46,72,.04); }
  body { background:var(--ds-surface-alt); }
  .page-shell { width:min(1680px,calc(100% - 32px)); margin-top:20px; }
  .page-shell > *, .grid > *, .form-grid > *, .achievement-register-grid > *,
  .toolbar > *, .hit-layout > *, .input-group > *, .stepper > input { min-width:0; }
  .card { border-radius:12px; box-shadow:var(--shadow); }
  .grid > .card + .card { margin-top:0; }
  .page-head { gap:12px; margin-bottom:14px; }
  .page-title { font-size:clamp(22px,1.8vw,28px); }
  .page-sub { font-size:13px; }
  .section-title { font-size:17px; margin-bottom:12px; }
  .btn { border-radius:8px; }
  .btn:hover { transform:none; }
  .btn-primary { background:var(--ds-blue-solid); }
  .btn-primary:hover { background:var(--ds-blue-solid); box-shadow:none; }
  .input,.select,.textarea { border-radius:8px; padding:9px 10px; }
  :where(a,button,summary,input,select,textarea):focus-visible {
    outline:3px solid var(--ds-blue-line); outline-offset:2px;
  }
  .segmented input:focus-visible + span { outline:3px solid var(--ds-blue-line); outline-offset:2px; }
  .btn:disabled { cursor:not-allowed; opacity:.55; transform:none; }
  .topbar .brand-mark { display:inline-flex; }
  .mainnav.flatnav { scrollbar-width:thin; scrollbar-color:#9db5d0 var(--ds-surface-alt); }
  .mainnav.flatnav::-webkit-scrollbar { display:block; height:4px; }
  .mainnav.flatnav::-webkit-scrollbar-thumb { background:var(--ds-surface-raised); border-radius:4px; }
  .sales-tabs,.reward-tabs,.tabs,.site-switch,.section-nav {
    display:flex; max-width:100%; overflow-x:auto; flex-wrap:nowrap;
    scrollbar-width:thin;
  }
  .sales-tabs > *,.reward-tabs > *,.tabs > *,.site-switch > *,.section-nav > * {
    flex:0 0 auto; white-space:nowrap;
  }
  .table-wrap,.overview-table-wrap { max-width:100%; }
  .table th,.table td { padding:9px 11px; }
  .sales-metric-table thead .sales-group-head th { position:static; }
  .sales-metric-table .sales-row-label { max-width:190px; white-space:normal; overflow-wrap:anywhere; }
  .sales-entry-table td:first-child { overflow-wrap:anywhere; }
  .sales-entry-table .num-input { max-width:180px; margin-left:auto; display:block; }
  .sales-input-card form > .btn[name] { margin-top:12px; }
  .plan-compact-title,.plan-compact-name,.plan-compact-main { overflow-wrap:anywhere; }
  .live-monitor-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
  .achievement-entry-column > .card .form-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
  .achievement-entry-column > .card .field.w3 { grid-column:span 6; }
  .achievement-entry-column > .card .field.w9 { grid-column:span 12; }
  .achievement-preview-column { top:86px; }
  .event-mini-grid { column-gap:4px!important; }
  .event-mini-grid .event-mini { gap:2px!important; padding-inline:4px!important; }
  .event-mini-grid .status-day { margin-left:0; }

  @media (max-width:1100px) {
    .achievement-preview-column { top:116px; }
    .topbar { grid-template-columns:auto minmax(0,1fr) auto!important; grid-template-rows:auto auto!important; gap:4px 8px!important; }
    .topbar .brand { grid-column:1!important; grid-row:1!important; }
    .topbar .top-user { grid-column:3!important; grid-row:1!important; }
    .topbar .mainnav.flatnav { grid-column:1/-1!important; grid-row:2!important; width:100%!important; }
    .sales-dashboard-hero { grid-template-columns:minmax(0,1fr)!important; }
    .sales-hero-metrics { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
    .sales-hero-metric:last-child { grid-column:auto!important; }
    .sales-hero-metric strong { overflow-wrap:anywhere; }
  }
  /* The old 760px one-column form rule conflicted with 721–900px spans. */
  @media (min-width:721px) and (max-width:900px) {
    .form-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
    .form-grid > .field { grid-column:span 6; }
    .form-grid > .field.w12 { grid-column:1/-1; }
  }
  @media (max-width:720px) {
    .page-shell { width:calc(100% - 20px)!important; margin:12px auto 36px; }
    .card { padding:12px; }
    .page-head > .actions { display:flex; flex-wrap:wrap; }
    .page-head > .actions > * { width:auto; flex:0 1 auto; }
    .toolbar { grid-template-columns:repeat(2,minmax(0,1fr))!important; align-items:end; }
    .toolbar > .btn { align-self:end; }
    .toolbar > .field.w12 { grid-column:1/-1; }
    .achievement-entry-column > .card .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .achievement-entry-column > .card .field.w3 { grid-column:span 1!important; }
    .achievement-entry-column > .card .field.w6,
    .achievement-entry-column > .card .field.w9 { grid-column:1/-1!important; }
    .calc-race .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .calc-race .field.w6 { grid-column:1/-1!important; }
    .calc-race .field.w3 { grid-column:span 1!important; }
    .segmented span { padding:8px 10px; }
    .regular-settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .regular-settings-grid > :last-child { grid-column:1/-1; }
    .sales-hero-metric span { font-size:10px!important; }
    .sales-hero-metric strong { font-size:12px!important; }
    .sales-hero-metric small { font-size:9px!important; }
    table.sales-entry-table.responsive-stack tbody { gap:6px!important; }
    table.sales-entry-table.responsive-stack tr { border-radius:8px; box-shadow:none; }
    table.sales-entry-table.responsive-stack td { padding:6px 9px!important; }
    table.sales-entry-table.responsive-stack td:first-child { background:var(--ds-blue-soft)!important; }
    table.sales-entry-table.responsive-stack td > strong { white-space:normal!important; overflow:visible!important; }
    .table.responsive-stack td { min-width:0; overflow-wrap:anywhere; }
    .plan-compact-actions { display:flex!important; flex-wrap:wrap; }
    .plan-compact-actions .btn,.plan-compact-actions form,.plan-compact-actions form .btn { width:auto; }
    .user-list-table .table tr { padding:8px 10px; margin-bottom:6px; border-radius:8px; }
    .user-list-table .table td { overflow-wrap:anywhere; }
    .user-list-table .actions { display:flex; flex-wrap:wrap; }
    .user-list-table .actions .btn,.user-list-table .actions form { width:auto; flex:0 1 auto; }
  }
  @media (max-width:620px) {
    .compact-order-row { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
    .compact-order-row > .input { grid-column:1/-1; }
    .compact-order-row .btn { min-width:0; padding-inline:7px; }
  }
  @media (pointer:coarse) {
    .page-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
    .page-shell select,.page-shell textarea { font-size:16px; }
  }
}
/* v2.24.1: sales mobile only. Desktop, business logic and other pages unchanged. */
@media screen and (max-width:720px) {
  /* Sales month filter: label, month input and submit stay on one line. */
  .sales-tabs + .card > .toolbar:has(input[type="month"]) {
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center;
    gap:8px;
  }
  .sales-tabs + .card > .toolbar:has(input[type="month"]) > label {
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
    white-space:nowrap;
    font-size:12px;
  }
  .sales-tabs + .card > .toolbar:has(input[type="month"]) .input {
    flex:1 1 0;
    width:0;
    min-width:0;
    max-width:100%;
    padding-inline:6px;
  }
  .sales-tabs + .card > .toolbar:has(input[type="month"]) > .btn {
    width:auto;
    padding-inline:12px;
    white-space:nowrap;
  }

  /* All three metrics share one grid row and stretch to the tallest content. */
  .sales-dashboard-hero .sales-hero-metrics {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:stretch;
  }
  .sales-dashboard-hero .sales-hero-metrics > .sales-hero-metric {
    grid-column:auto!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto 1fr auto;
    align-self:stretch;
    align-items:start;
    min-width:0;
    gap:2px;
  }
  .sales-dashboard-hero .sales-hero-metric > strong {
    align-self:center;
    overflow-wrap:anywhere;
  }

  /* Keep the complete site column fixed, including its heading and total. */
  .sales-detail-table > thead > .sales-group-head > th:first-child,
  .sales-detail-table > tbody > tr > td:first-child {
    position:sticky!important;
    left:0!important;
    top:auto!important;
    z-index:4;
    box-shadow:3px 0 5px -2px rgba(22,48,78,.28);
  }
  .sales-detail-table > thead > .sales-group-head > th:first-child {
    z-index:5;
    background:var(--ds-blue-solid)!important;
  }
  .sales-detail-table > tbody > tr.total > td:first-child {
    background:var(--ds-blue-soft)!important;
  }
  .sales-detail-card .section-heading {
    flex-wrap:wrap;
    gap:4px;
  }
  .sales-detail-card .section-heading::after {
    content:"↔ 左右にスワイプ（サイト名は固定）";
    display:block;
    flex-basis:100%;
    color:var(--ds-muted);
    text-align:right;
    font-size:11px;
    line-height:1.5;
  }
  .sales-detail-card .sales-table-wrap {
    overflow-x:auto!important;
    scrollbar-width:thin;
    scrollbar-color:var(--ds-blue-line) var(--ds-surface-alt);
  }
  .sales-detail-card .sales-table-wrap::-webkit-scrollbar { height:6px; }
  .sales-detail-card .sales-table-wrap::-webkit-scrollbar-track { background:var(--ds-blue-soft); }
  .sales-detail-card .sales-table-wrap::-webkit-scrollbar-thumb { background:var(--ds-blue-soft); border-radius:3px; }
}

/* v2.30: achievement registration only. Preserve all form and script hooks. */
@media screen {
  #achievementForm { gap:12px; }
  #achievementForm .achievement-register-grid { gap:16px; align-items:start; }
  #achievementForm .achievement-entry-column,
  #achievementForm #raceCards { gap:12px; min-width:0; }
  #achievementForm .card,
  #achievementForm .calc-race { padding:16px; border-radius:12px; }
  #achievementForm .card + .card { margin-top:0; }
  #achievementForm .registration-section-title,
  #achievementForm .calc-race h3 { margin:0 0 12px; font-size:15px; line-height:1.4; }
  #achievementForm .registration-section-title { padding-bottom:9px; border-bottom:1px solid var(--ds-line); }
  #achievementForm .form-grid { gap:10px 12px; }
  #achievementForm .field { min-width:0; gap:5px; align-content:start; }
  #achievementForm .field > label { font-size:12px; line-height:1.4; }
  #achievementForm .input,
  #achievementForm .select { min-width:0; min-height:40px; padding:8px 9px; }
  #achievementForm .registration-basics .form-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
  #achievementForm .registration-basics .field.w3 { grid-column:span 6!important; }
  #achievementForm .registration-basics .field:has(#raceCountOptions),
  #achievementForm .registration-basics .field.w9,
  #achievementForm #fixedPlanField,
  #achievementForm #specialPlanField { grid-column:1/-1!important; }
  #achievementForm .registration-basics .field.w9 { border-top:1px solid var(--ds-line); padding-top:10px; }
  #achievementForm .segmented { gap:5px; }
  #achievementForm .segmented span { min-height:36px; padding:7px 10px; border-radius:7px; font-size:12px; }
  #achievementForm .calc-race { background:var(--ds-surface); border-left:3px solid var(--ds-blue-line); }
  #achievementForm .calc-race h3 { color:var(--ds-text); }
  #achievementForm .calc-race .form-grid { grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr); gap:8px; }
  #achievementForm .calc-race .field { grid-column:auto!important; }
  #achievementForm .step-buttons { flex:0 0 32px; }
  #achievementForm .race-live-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:10px; padding:8px; font-size:11px; }
  #achievementForm .race-live-meta > span { min-width:0; overflow-wrap:anywhere; }
  #achievementForm .race-live-meta strong { display:block; font-size:12px; font-variant-numeric:tabular-nums; }
  #achievementForm .race-count-note { margin-top:6px; line-height:1.5; font-size:11px; }
  #achievementForm .register-preview-card { border-top:3px solid var(--ds-blue-line); }
  #achievementForm .register-preview-card .page-head { margin-bottom:10px; }
  #achievementForm .register-preview-card h3 { font-size:16px; }
  #achievementForm .register-preview-card .page-sub { font-size:12px; margin-top:5px; }
  #achievementForm .achievement-preview-edit { min-height:340px; height:clamp(340px,46vh,500px); padding:12px; font-size:14px; line-height:1.65; background:var(--ds-surface); resize:vertical; }
  #achievementForm .register-preview-card .report-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  #achievementForm .register-preview-card .report-actions > button[name="save"] { grid-column:1/-1; }
  #achievementForm .report-actions .btn { min-height:38px; padding:8px 10px; font-size:12px; line-height:1.4; }
  #achievementForm .register-preview-card > .small { margin:10px 0 0; font-size:11px; line-height:1.6; }
  #achievementForm .inline-data-footer { margin-top:10px; padding-top:9px; font-size:11px; overflow-wrap:anywhere; }
  #achievementForm details.card > summary { font-size:14px; }
  #achievementForm .registration-memo > label { display:block; margin-bottom:7px; font-size:14px; font-weight:800; }
  #achievementForm .registration-memo .textarea { min-height:80px; }
  #achievementForm .registration-memo .report-actions { justify-content:flex-end; }
  #achievementForm .registration-memo button[name="save"] { min-width:160px; }
  @media (min-width:901px) {
    #achievementForm .achievement-register-grid { grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); }
  }
  @media (max-width:900px) {
    #achievementForm .achievement-register-grid { grid-template-columns:minmax(0,1fr); }
    #achievementForm .achievement-preview-column { position:static; }
  }
  @media (max-width:720px) {
    #achievementForm .card,
    #achievementForm .calc-race { padding:12px; }
    #achievementForm .form-grid { gap:9px; }
    #achievementForm .input,
    #achievementForm .select { min-height:44px; font-size:16px; }
    #achievementForm .segmented span { min-height:40px; }
    #achievementForm .achievement-preview-edit { min-height:260px; height:300px; font-size:16px; }
    #achievementForm .report-actions .btn { min-height:44px; }
    #achievementForm .registration-memo button[name="save"] { width:100%; }
  }
  @media (max-width:479px) {
    #achievementForm .calc-race .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    #achievementForm .calc-race .field.w6 { grid-column:1/-1!important; }
  }
}

/* v2.31: private achievement list only; all existing action hooks retained. */
@media screen {
  .achievement-list-page { min-width:0; max-width:100%; }
  .achievement-list-page .page-head { align-items:center; }
  .achievement-list-page .list-search-card { padding:14px 16px; }
  .achievement-list-page .list-search-form {
    display:grid!important;
    grid-template-columns:minmax(150px,180px) minmax(150px,180px) minmax(180px,1fr) auto auto!important;
    gap:10px; align-items:end;
  }
  .achievement-list-page .list-search-form > .field {
    grid-column:auto; width:100%; min-width:0; gap:5px;
  }
  .achievement-list-page .list-search-form label { font-size:12px; }
  .achievement-list-page .list-search-form .input { min-width:0; min-height:40px; padding:8px 9px; }
  .achievement-list-page .list-search-form > .btn { width:auto; min-height:40px; padding:8px 12px; font-size:12px; white-space:nowrap; }
  .achievement-list-page .list-results-card { padding:14px; margin-top:12px; }
  .achievement-list-page .list-scroll-hint { display:none; margin:0 0 8px; color:var(--ds-muted); font-size:12px; }
  .achievement-list-page .list-table-wrap { width:100%; max-width:100%; overflow:auto; border-radius:10px; scrollbar-width:thin; scrollbar-color:var(--ds-blue-line) var(--ds-surface-alt); }
  .achievement-list-page .list-table-wrap:focus-visible { outline:3px solid var(--ds-blue-line); outline-offset:2px; }
  .achievement-list-page .list-table { width:100%; min-width:1100px; table-layout:fixed; }
  .achievement-list-page .list-col-date { width:112px; }
  .achievement-list-page .list-col-site { width:112px; }
  .achievement-list-page .list-col-type { width:86px; }
  .achievement-list-page .list-col-race { width:118px; }
  .achievement-list-page .list-col-result { width:86px; }
  .achievement-list-page .list-col-money { width:160px; }
  .achievement-list-page .list-col-actions { width:190px; }
  .achievement-list-page .list-table th,
  .achievement-list-page .list-table td { padding:10px; vertical-align:middle; line-height:1.5; font-size:13px; }
  .achievement-list-page .list-table th { font-size:12px; white-space:nowrap; }
  .achievement-list-page .list-table th:nth-child(1),
  .achievement-list-page .list-table td:nth-child(1):not([colspan]),
  .achievement-list-page .list-table th:nth-child(4),
  .achievement-list-page .list-table td:nth-child(4),
  .achievement-list-page .list-table th:nth-child(6),
  .achievement-list-page .list-table td:nth-child(6),
  .achievement-list-page .list-table th:nth-child(8) { text-align:center; }
  .achievement-list-page .list-table td:nth-child(1):not([colspan]) { white-space:nowrap; font-variant-numeric:tabular-nums; }
  .achievement-list-page .list-table td:nth-child(2),
  .achievement-list-page .list-table td:nth-child(3),
  .achievement-list-page .list-table td:nth-child(5),
  .achievement-list-page .list-table td.num { white-space:normal; overflow-wrap:anywhere; }
  .achievement-list-page .list-table td:nth-child(3) strong { font-weight:750; }
  .achievement-list-page .list-table th.num,
  .achievement-list-page .list-table td.num { text-align:right!important; font-variant-numeric:tabular-nums; }
  .achievement-list-page .list-table td.num strong { display:block; }
  .achievement-list-page .list-table .badge { padding:4px 7px; font-size:11px; white-space:nowrap; }
  .achievement-list-page .list-table .actions { display:flex; flex-wrap:nowrap; justify-content:flex-end; align-items:center; gap:6px; }
  .achievement-list-page .list-table .actions > form { display:flex; margin:0; flex:0 0 auto; }
  .achievement-list-page .list-table .actions .btn { flex:0 0 auto; width:52px; min-height:36px; padding:7px 4px; border-radius:7px; font-size:12px; line-height:1.4; white-space:nowrap; }
  .achievement-list-page .list-table .empty { padding:24px 12px; }
  /* The empty state needs no horizontal spreadsheet. */
  .achievement-list-page .list-table:has(td[colspan="8"]) { min-width:0; table-layout:auto; }
  .achievement-list-page .list-table:has(td[colspan="8"]) colgroup,
  .achievement-list-page .list-table:has(td[colspan="8"]) thead { display:none; }
  .achievement-list-page .list-results-card:has(td[colspan="8"]) .list-scroll-hint { display:none; }
  .achievement-list-page .list-table-wrap::-webkit-scrollbar { height:7px; }
  .achievement-list-page .list-table-wrap::-webkit-scrollbar-track { background:var(--ds-blue-soft); }
  .achievement-list-page .list-table-wrap::-webkit-scrollbar-thumb { background:var(--ds-blue-soft); border-radius:4px; }
  @media (max-width:1180px) {
    .achievement-list-page .list-scroll-hint { display:block; }
    .achievement-list-page .list-table th:first-child,
    .achievement-list-page .list-table td:first-child:not([colspan]) { position:sticky; left:0; z-index:2; background:var(--ds-surface); box-shadow:3px 0 5px -2px rgba(22,48,78,.25); }
    .achievement-list-page .list-table th:first-child { z-index:4; }
    .achievement-list-page .list-table tr:nth-child(even) td:first-child:not([colspan]) { background:var(--ds-surface); }
  }
  @media (min-width:721px) and (max-width:1000px) {
    .achievement-list-page .list-search-form { grid-template-columns:repeat(2,minmax(0,1fr)) auto auto!important; }
    .achievement-list-page .list-search-form > .field:nth-child(3) { grid-column:1/3; }
  }
  @media (max-width:720px) {
    .achievement-list-page .list-search-card,
    .achievement-list-page .list-results-card { padding:10px; }
    .achievement-list-page .list-search-form { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px; }
    .achievement-list-page .list-search-form > .field:nth-child(3) { grid-column:1/-1; }
    .achievement-list-page .list-search-form .input { min-height:44px; font-size:16px; padding-inline:6px; }
    .achievement-list-page .list-search-form > .btn { width:100%; min-height:44px; }
    .achievement-list-page .list-table th,
    .achievement-list-page .list-table td { padding:8px; }
    .achievement-list-page .list-table .actions .btn { min-height:44px; }
  }
}

/* v2.32: Plan management only. Keep category colors, fields and behavior. */
.plan-management-page { min-width:0; max-width:100%; }
.plan-management-page .page-head > div { min-width:0; overflow-wrap:anywhere; }
.plan-management-page .plan-site-switch { margin-bottom:12px; }
.plan-management-page .plan-editor-card,
.plan-management-page .plan-search-card { padding:14px; margin-bottom:12px; }
.plan-management-page .plan-editor-card .form-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:10px 12px; }
.plan-management-page .plan-editor-card .field { min-width:0; gap:4px; }
.plan-management-page .plan-editor-card .field.w2 { grid-column:span 2!important; }
.plan-management-page .plan-editor-card .field.w3 { grid-column:span 3!important; }
.plan-management-page .plan-editor-card .field.w4 { grid-column:span 4!important; }
.plan-management-page .plan-editor-card .field.w7 { grid-column:span 7!important; }
.plan-management-page .plan-editor-card .field.w12 { grid-column:1/-1!important; }
.plan-management-page .input,
.plan-management-page .select,
.plan-management-page .textarea { min-width:0; width:100%; max-width:100%; box-sizing:border-box; }
.plan-management-page .input,
.plan-management-page .select { min-height:38px; padding:7px 9px; }
.plan-management-page .textarea { min-height:84px; }
.plan-management-page .regular-settings-box { padding:10px 12px; }
.plan-management-page .regular-settings-head { flex-wrap:wrap; gap:4px 12px; }
.plan-management-page .regular-settings-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.plan-management-page .regular-settings-grid > label { min-width:0; grid-column:auto; }
.plan-management-page .plan-search-toolbar { display:grid; grid-template-columns:minmax(110px,160px) minmax(0,1fr) auto auto!important; gap:8px 10px; align-items:end; }
.plan-management-page .plan-search-toolbar .field { min-width:0; width:auto; gap:4px; }
.plan-management-page .plan-search-toolbar > .btn { min-height:38px; margin:0; white-space:nowrap; }
.plan-management-page .plan-compact-help { padding:10px 12px; margin-bottom:12px; gap:6px 14px; }
.plan-management-page .plan-sheet-section { margin-bottom:16px; min-width:0; }
.plan-management-page .plan-group-title { margin-bottom:8px; }
.plan-management-page .plan-category-summary { grid-template-columns:minmax(0,1fr) auto auto; min-height:42px; gap:8px; }
.plan-management-page .plan-category-summary > span:first-child { min-width:0; overflow-wrap:anywhere; }
.plan-management-page .plan-compact-row { grid-template-columns:minmax(0,1fr) 104px!important; gap:8px 16px; padding:10px 12px!important; align-items:center; }
.plan-management-page .plan-section-special .plan-compact-row { grid-template-columns:minmax(0,1fr) 344px!important; }
.plan-management-page .plan-compact-main { display:grid; grid-template-columns:minmax(0,1fr); gap:5px 14px!important; min-width:0; align-items:center; }
.plan-management-page .plan-compact-name { min-width:0; font-size:14px; line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
.plan-management-page .plan-compact-meta { justify-content:flex-start; min-width:0; }
.plan-management-page .plan-section-free .plan-compact-main,
.plan-management-page .plan-section-regular .plan-compact-main { grid-template-columns:minmax(0,1fr) minmax(270px,40%); }
.plan-management-page .plan-section-free .plan-compact-name,
.plan-management-page .plan-section-regular .plan-compact-name,
.plan-management-page .plan-section-free .plan-compact-meta,
.plan-management-page .plan-section-regular .plan-compact-meta { grid-column:1; }
.plan-management-page .plan-regular-meta { grid-column:2; grid-row:1 / span 2; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:8px!important; margin:0!important; width:100%!important; align-items:start!important; }
.plan-management-page .plan-regular-meta > span { display:grid!important; min-width:0; gap:3px; border:0; border-radius:0; background:transparent; padding:0; }
.plan-management-page .plan-regular-meta small { font-size:10px!important; text-align:right!important; }
.plan-management-page .plan-regular-meta strong { font-size:12px!important; text-align:right!important; font-variant-numeric:tabular-nums; white-space:normal!important; overflow-wrap:anywhere; }
.plan-management-page .plan-compact-actions { display:grid!important; grid-template-columns:48px 48px; gap:6px!important; justify-content:end!important; align-items:stretch; min-width:0; width:100%; }
.plan-management-page .plan-section-special .plan-compact-actions { grid-template-columns:minmax(0,1fr) 48px 48px 48px; }
.plan-management-page .plan-compact-actions > a { grid-column:-3; }
.plan-management-page .plan-compact-actions > form { grid-column:-2; }
.plan-management-page .plan-compact-actions > [data-copy-text] { grid-column:1; }
.plan-management-page .plan-compact-actions > [data-details-toggle] { grid-column:2; }
.plan-management-page .plan-compact-actions > * { grid-row:1; margin:0; min-width:0; }
.plan-management-page .plan-compact-actions .btn,
.plan-management-page .plan-compact-actions form { width:100%; box-sizing:border-box; }
.plan-management-page .plan-compact-actions .btn { display:inline-flex; justify-content:center; align-items:center; min-height:34px; height:100%; padding:6px!important; font-size:12px; line-height:1.35; white-space:normal; overflow-wrap:anywhere; }
.plan-management-page .plan-compact-detail { grid-column:1/-1; min-width:0; padding:10px; }
.plan-management-page .plan-compact-detail .raw { white-space:pre-wrap; overflow-wrap:anywhere; min-width:0; }
@media (max-width:1100px) {
  .plan-management-page .plan-editor-card .field.w2 { grid-column:span 3!important; }
  .plan-management-page .plan-editor-card .field.w4 { grid-column:span 6!important; }
  .plan-management-page .plan-section-free .plan-compact-main,
  .plan-management-page .plan-section-regular .plan-compact-main { grid-template-columns:minmax(0,1fr) 260px; }
}
@media (max-width:900px) {
  .plan-management-page .plan-section-special .plan-compact-row { grid-template-columns:minmax(0,1fr)!important; }
  .plan-management-page .plan-section-special .plan-compact-actions { width:min(100%,344px); justify-self:end; }
  .plan-management-page .plan-section-free .plan-compact-main,
  .plan-management-page .plan-section-regular .plan-compact-main { grid-template-columns:minmax(0,1fr); }
  .plan-management-page .plan-regular-meta { grid-column:1; grid-row:auto; max-width:390px; margin-top:3px!important; }
}
@media (max-width:620px) {
  .plan-management-page .plan-editor-card,
  .plan-management-page .plan-search-card { padding:10px; }
  .plan-management-page .plan-editor-card .field.w2,
  .plan-management-page .plan-editor-card .field.w3 { grid-column:span 6!important; }
  .plan-management-page .plan-editor-card .field.w4,
  .plan-management-page .plan-editor-card .field.w7 { grid-column:1/-1!important; }
  .plan-management-page .input,
  .plan-management-page .select,
  .plan-management-page .textarea { font-size:16px; }
  .plan-management-page .regular-settings-box { padding:9px; }
  .plan-management-page .regular-settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .plan-management-page .regular-settings-grid > label:last-child { grid-column:1/-1; }
  .plan-management-page .plan-search-toolbar { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .plan-management-page .plan-compact-row { grid-template-columns:minmax(0,1fr)!important; gap:7px; padding:9px 10px!important; }
  .plan-management-page .plan-compact-actions { width:104px; justify-self:end; }
  .plan-management-page .plan-section-special .plan-compact-actions { width:100%; }
  .plan-management-page .plan-compact-actions .btn { min-height:38px; }
  .plan-management-page .plan-regular-meta { max-width:none; }
  .plan-management-page .plan-compact-help { font-size:12px; }
}

/* v2.33: Rewards page presentation only; report/statement pages are unchanged. */
.reward-summary-page { min-width:0; max-width:100%; }
.reward-summary-page .reward-area-heading { margin:22px 0 10px; padding:8px 0; border-bottom:2px solid var(--ds-line); font-size:16px; font-weight:850; color:var(--ds-text); }
.reward-summary-page .reward-scroll-hint { margin:6px 0; font-size:11px; color:var(--ds-muted); }
@media screen {
  .reward-summary-page > section,
  .reward-summary-page .card,
  .reward-summary-page .field,
  .reward-summary-page .page-head > div { min-width:0; }
  .reward-summary-page .page-head { gap:10px 16px; flex-wrap:wrap; }
  .reward-summary-page .page-sub { font-size:12px; line-height:1.65; overflow-wrap:anywhere; }
  .reward-summary-page .reward-page-head > div:first-child { flex:1 1 360px; }
  .reward-summary-page .reward-page-head > .actions { display:flex; flex-wrap:nowrap; gap:8px; }
  .reward-summary-page .reward-page-head form { margin:0; min-width:0; }
  .reward-summary-page .reward-page-head .btn { flex:none; white-space:nowrap; }
  .reward-summary-page .section-nav { gap:6px; margin:0 0 14px; padding-bottom:5px; }
  .reward-summary-page .section-nav a { padding:8px 12px; font-size:12px; }
  .reward-summary-page [id^="reward-"] { scroll-margin-top:140px; }
  .reward-summary-page .card { padding:15px; box-shadow:none; border-radius:11px; }
  .reward-summary-page .card + .card { margin-top:14px; }
  .reward-summary-page .section-title { font-size:16px; line-height:1.5; }
  .reward-summary-page #reward-summary { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
  .reward-summary-page #reward-summary .kpi { min-width:0; padding:12px; border-radius:10px; box-shadow:none; }
  .reward-summary-page #reward-summary .kpi:last-child { border-color:var(--ds-blue-line); background:var(--ds-blue-soft); }
  .reward-summary-page .kpi-label { font-size:12px; }
  .reward-summary-page .kpi-value { font-size:clamp(18px,1.7vw,27px); line-height:1.3; overflow-wrap:anywhere; }
  .reward-summary-page .kpi-foot { font-size:11px; margin-top:4px; }
  .reward-summary-page .reward-check-ok,
  .reward-summary-page .reward-check-ng { padding:9px 12px; margin-bottom:12px; font-size:12px; overflow-wrap:anywhere; }
  .reward-summary-page #reward-statements { border-top:3px solid var(--ds-blue-line); }
  .reward-summary-page .table-wrap,
  .reward-summary-page .reward-adjust-scroll { min-width:0; max-width:100%; overflow:auto; border:1px solid var(--ds-line); border-radius:8px; scrollbar-width:thin; scrollbar-color:var(--ds-blue-line) var(--ds-surface-alt); }
  .reward-summary-page .table-wrap:focus-visible,
  .reward-summary-page .reward-adjust-scroll:focus-visible { outline:3px solid var(--ds-blue-line); outline-offset:2px; }
  .reward-summary-page .reward-data-table { min-width:980px!important; width:100%; font-size:12px; }
  .reward-summary-page .reward-data-table th,
  .reward-summary-page .reward-data-table td { padding:9px 10px!important; font-size:12px; vertical-align:middle; text-align:left; }
  .reward-summary-page .reward-data-table th { white-space:nowrap; background:var(--ds-blue-soft); }
  .reward-summary-page .reward-data-table td:not(.num):not(.date) { min-width:110px; max-width:240px; white-space:normal; overflow-wrap:anywhere; }
  .reward-summary-page .reward-data-table th.num,
  .reward-summary-page .reward-data-table td.num { text-align:right!important; white-space:nowrap; font-variant-numeric:tabular-nums; min-width:105px; }
  .reward-summary-page .reward-data-table td.date { white-space:nowrap; }
  .reward-summary-page #reward-statements .table th:first-child,
  .reward-summary-page #reward-statements .table td:first-child { position:static; }
  .reward-summary-page #reward-statements .table th:nth-child(2),
  .reward-summary-page #reward-statements .table td:nth-child(2) { position:sticky; left:0; z-index:2; min-width:130px; max-width:180px; background:var(--ds-surface); box-shadow:2px 0 0 var(--ds-line); }
  .reward-summary-page #reward-statements .table th:nth-child(2) { z-index:4; background:var(--ds-blue-soft); }
  .reward-summary-page #reward-statements .table td:nth-child(5) { background:var(--ds-blue-soft); color:var(--ds-text); font-weight:850; }
  .reward-summary-page .reward-data-table .actions { flex-wrap:nowrap; gap:6px; justify-content:center; }
  .reward-summary-page .reward-data-table .actions form { margin:0; }
  .reward-summary-page .reward-data-table .btn { min-height:34px!important; padding:6px 9px!important; font-size:12px!important; white-space:nowrap; }
  .reward-summary-page .reward-saved-rules .table th:last-child,
  .reward-summary-page .reward-saved-rules .table td:last-child,
  .reward-summary-page #reward-statements .table th:last-child,
  .reward-summary-page #reward-statements .table td:last-child { text-align:center; }
  .reward-summary-page #reward-sales .grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .reward-summary-page .mini-list > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:7px 0; }
  .reward-summary-page .mini-list span { overflow-wrap:anywhere; }
  .reward-summary-page .mini-list strong { text-align:right; font-variant-numeric:tabular-nums; }
  .reward-summary-page .reward-settings > .card { border-top:3px solid var(--ds-line); }
  .reward-summary-page .input,
  .reward-summary-page .select { min-width:0; width:100%; max-width:100%; min-height:38px; padding:7px 9px; }
  .reward-summary-page input[type="number"] { text-align:right; font-variant-numeric:tabular-nums; }
  .reward-summary-page .form-grid { grid-template-columns:repeat(12,minmax(0,1fr)); gap:10px 12px; }
  .reward-summary-page .form-grid > .field { gap:4px; }
  .reward-summary-page .form-grid > .w2 { grid-column:span 2!important; }
  .reward-summary-page .form-grid > .w3 { grid-column:span 3!important; }
  .reward-summary-page .form-grid > .w4 { grid-column:span 4!important; }
  .reward-summary-page .form-grid > .w6 { grid-column:span 6!important; }
  .reward-summary-page .form-grid > .w12 { grid-column:1/-1!important; }
  .reward-summary-page .toolbar { display:flex; gap:8px; align-items:end; }
  .reward-summary-page .toolbar > .field { flex:1 1 160px; min-width:0; gap:4px; }
  .reward-summary-page .toolbar > .btn { flex:none; min-height:38px; }
  .reward-summary-page .reward-group-list { gap:10px; }
  .reward-summary-page .reward-group-box { padding:10px!important; border-radius:8px!important; box-shadow:none; }
  .reward-summary-page .reward-group-head { padding-bottom:10px; }
  .reward-summary-page .reward-member-table { display:table; table-layout:fixed; min-width:800px; width:100%; }
  .reward-summary-page .reward-member-table thead { display:table-header-group; }
  .reward-summary-page .reward-member-table tbody { display:table-row-group; }
  .reward-summary-page .reward-member-table tr { display:table-row; }
  .reward-summary-page .reward-member-table td,
  .reward-summary-page .reward-member-table th { display:table-cell; width:auto; }
  .reward-summary-page .reward-member-table th { padding:8px; font-size:12px; }
  .reward-summary-page .reward-member-table td { padding:0!important; border-bottom:1px solid var(--ds-line)!important; }
  .reward-summary-page .reward-member-row { display:grid; grid-template-columns:minmax(0,22fr) minmax(0,22fr) minmax(0,26fr) minmax(0,30fr)!important; gap:0!important; padding:4px 0; border:0; border-radius:0; background:transparent; }
  .reward-summary-page .reward-member-row > :not([type="hidden"]) { grid-column:auto!important; min-width:0; width:calc(100% - 12px); margin:0 6px; }
  .reward-summary-page .reward-member-actions { display:flex!important; grid-column:auto!important; gap:5px; flex-wrap:nowrap; justify-content:flex-end; }
  .reward-summary-page .reward-member-actions .order-buttons,
  .reward-summary-page .reward-order-buttons { display:flex; gap:4px; }
  .reward-summary-page .reward-member-actions .btn { min-width:0; width:auto; min-height:36px; padding:6px 8px; font-size:12px; white-space:nowrap; flex:none; }
  .reward-summary-page .reward-add-member summary { padding:7px 0; font-size:12px; cursor:pointer; }
  .reward-summary-page .reward-adjust-columns,
  .reward-summary-page .reward-adjust-row { display:grid; grid-template-columns:130px minmax(160px,1fr) minmax(180px,1fr) 130px minmax(160px,1fr) minmax(150px,1fr) 110px; gap:8px; min-width:1084px; padding:8px; align-items:center; }
  .reward-summary-page .reward-adjust-columns { background:var(--ds-blue-soft); font-size:12px; font-weight:800; }
  .reward-summary-page .reward-adjust-columns > :nth-child(4) { text-align:right; }
  .reward-summary-page .reward-adjust-row { margin:0; border-top:1px solid var(--ds-line); }
  .reward-summary-page .reward-adjust-actions { display:flex; grid-column:auto; gap:6px; }
  .reward-summary-page .reward-adjust-actions .btn { flex:1; min-height:36px; padding:6px 8px; font-size:12px; }
  .reward-summary-page .hint { padding:10px 12px; font-size:12px; line-height:1.7; }
  .reward-summary-page [data-basis-sites] .actions { gap:6px; }
  .reward-summary-page [data-basis-sites] .badge { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
}
@media screen and (max-width:1100px) {
  .reward-summary-page #reward-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reward-summary-page .form-grid > .w2,
  .reward-summary-page .form-grid > .w3,
  .reward-summary-page .form-grid > .w4 { grid-column:span 6!important; }
}
@media screen and (max-width:620px) {
  .reward-summary-page .card { padding:10px; }
  .reward-summary-page #reward-summary { gap:7px; }
  .reward-summary-page #reward-summary .kpi { padding:10px; }
  .reward-summary-page .kpi-value { font-size:19px; }
  .reward-summary-page .kpi-label,
  .reward-summary-page .kpi-foot { font-size:11px; }
  .reward-summary-page .reward-page-head > .actions { width:100%; }
  .reward-summary-page .reward-page-head form { flex:1; }
  .reward-summary-page .input,
  .reward-summary-page .select { font-size:16px; }
  .reward-summary-page .toolbar > .field { flex-basis:100%; }
  .reward-summary-page .reward-add-row > .field { flex:1 1 120px; }
  .reward-summary-page .reward-group-head > .field { flex-basis:100%; }
  .reward-summary-page .reward-group-head > .btn { padding:8px 10px; font-size:12px; }
  .reward-summary-page #reward-sales .grid-2 { grid-template-columns:minmax(0,1fr); gap:8px; }
  .reward-summary-page .reward-data-table .btn { min-height:38px!important; }
  .reward-summary-page .reward-member-actions .btn,
  .reward-summary-page .reward-adjust-actions .btn { min-height:38px; }
  .reward-summary-page .reward-area-heading { margin-top:18px; }
}
@media print {
  .reward-summary-page .reward-scroll-hint { display:none; }
}

/* v2.34: User management only. Permission behavior and controls are unchanged. */
.user-management-page { min-width:0; max-width:100%; }
.user-management-page .card { padding:15px; min-width:0; border-radius:11px; box-shadow:none; }
.user-management-page .page-head { flex-wrap:wrap; gap:10px 16px; }
.user-management-page .page-head > div { min-width:0; overflow-wrap:anywhere; }
.user-management-page .page-sub { font-size:12px; line-height:1.65; }
.user-management-page .section-title { font-size:16px; }
.user-management-page .user-list-head { align-items:center; }
.user-management-page .inline-details { min-width:0; max-width:100%; }
.user-management-page .inline-details[open] { flex:1 1 100%; width:100%; }
.user-management-page .inline-details > summary { min-height:38px; }
.user-management-page .user-add-panel { min-width:0; width:100%; padding:12px; border:1px solid var(--ds-line); border-radius:9px; background:var(--ds-surface-alt); }
.user-management-page .input,
.user-management-page .select { min-width:0; width:100%; max-width:100%; min-height:38px; padding:7px 9px; }
.user-management-page .form-grid { grid-template-columns:repeat(12,minmax(0,1fr)); gap:10px; }
.user-management-page .form-grid > .field { min-width:0; gap:4px; }
.user-management-page .form-grid > .w4 { grid-column:span 4!important; }
.user-management-page .user-filter { display:grid; grid-template-columns:minmax(0,1fr) 140px auto auto!important; align-items:end; gap:8px; padding:10px; border-radius:8px; }
.user-management-page .user-filter > label,
.user-management-page .password-reset-box > label { display:grid; gap:4px; min-width:0; font-size:12px; font-weight:800; }
.user-management-page .user-filter > .btn { min-height:38px; white-space:nowrap; }
.user-management-page .user-list-hint { margin:6px 0; font-size:11px; color:var(--ds-muted); }
.user-management-page .user-list-table { max-height:420px; max-height:clamp(240px,42vh,420px); min-width:0; max-width:100%; overflow:auto; border:1px solid var(--ds-line); border-radius:8px; scrollbar-width:thin; scrollbar-color:var(--ds-blue-line) var(--ds-surface-alt); }
.user-management-page .user-list-table .table { display:table; table-layout:fixed; min-width:650px; width:100%; border-collapse:separate; border-spacing:0; }
.user-management-page .user-list-table .table thead { display:table-header-group; }
.user-management-page .user-list-table .table tbody { display:table-row-group; }
.user-management-page .user-list-table .table tr { display:table-row; padding:0; margin:0; border:0; border-radius:0; }
.user-management-page .user-list-table .table th,
.user-management-page .user-list-table .table td { display:table-cell; width:auto; padding:9px 10px!important; border:0!important; border-bottom:1px solid var(--ds-line)!important; vertical-align:middle; font-size:12px; overflow-wrap:anywhere; }
.user-management-page .user-list-table .table th { position:sticky; top:0; z-index:3; background:var(--ds-blue-soft); }
.user-management-page .user-list-table .table th:first-child,
.user-management-page .user-list-table .table td:first-child { position:sticky; left:0; background:var(--ds-surface); box-shadow:2px 0 0 var(--ds-line); z-index:2; }
.user-management-page .user-list-table .table th:first-child { top:0; z-index:4; background:var(--ds-blue-soft); }
.user-management-page .user-list-table .table th:nth-child(n+3),
.user-management-page .user-list-table .table td:nth-child(n+3) { text-align:center; }
.user-management-page .user-list-table .table .selected-row td { background:var(--ds-blue-soft); }
.user-management-page .user-list-table .table .selected-row td:first-child { box-shadow:inset 4px 0 #2874bd,2px 0 0 var(--ds-line); }
.user-management-page .user-list-table .actions { display:flex; flex-wrap:nowrap; gap:6px; justify-content:center; }
.user-management-page .user-list-table .actions form { margin:0; width:auto; flex:none; }
.user-management-page .user-list-table .actions .btn { width:auto; flex:none; min-height:36px; padding:6px 8px; font-size:12px; white-space:nowrap; }
.user-management-page .user-edit-card { margin-top:14px; border:1px solid var(--ds-blue-line); border-top:3px solid var(--ds-blue-line); scroll-margin-top:140px; }
.user-management-page .user-edit-card > .page-head { padding:10px 12px; background:var(--ds-blue-soft); border-radius:7px; }
.user-management-page .user-edit-card h2 { font-size:19px; line-height:1.5; }
.user-management-page .user-edit-label { display:block; margin-bottom:3px; color:var(--ds-muted); font-size:11px; font-weight:850; }
.user-management-page .user-permission-title { margin:12px 0 8px; }
.user-management-page .permission-tools { gap:6px; margin:8px 0 10px; }
.user-management-page .permission-tools .btn { flex:none; min-height:36px; padding:7px 10px; font-size:12px; }
.user-management-page .user-permission-scroll { min-width:0; max-width:100%; overflow:auto; border-radius:8px; scrollbar-width:thin; }
.user-management-page .user-permission-table { table-layout:fixed; width:100%; min-width:300px; }
.user-management-page .permission-action-col { width:100px; }
.user-management-page .user-permission-table th,
.user-management-page .user-permission-table td { padding:8px!important; vertical-align:middle; font-size:12px; }
.user-management-page .user-permission-table th:not(:first-child),
.user-management-page .user-permission-table td:not(:first-child) { text-align:center; }
.user-management-page .user-permission-table th:first-child,
.user-management-page .user-permission-table td:first-child { text-align:left; overflow-wrap:anywhere; }
.user-management-page .user-permission-table [data-permission-row]:nth-child(even) { background:var(--ds-surface-alt); }
.user-management-page .user-permission-table [data-permission-row]:hover,
.user-management-page .user-permission-table [data-permission-row]:focus-within { background:var(--ds-blue-soft); }
.user-management-page .permission-check { display:block; width:20px; height:20px; margin:2px auto; cursor:pointer; }
.user-management-page .site-permission-box { min-width:0; margin-top:12px; padding:12px; border-radius:8px; }
.user-management-page .password-reset-box { display:grid; grid-template-columns:minmax(0,360px) auto!important; justify-content:start; align-items:end; gap:8px; margin-top:16px; padding-top:14px; }
.user-management-page .password-reset-box .btn { min-height:38px; white-space:nowrap; }
.user-management-page .user-list-table:focus-visible,
.user-management-page .user-permission-scroll:focus-visible { outline:3px solid var(--ds-blue-line); outline-offset:2px; }
@media (max-width:900px) {
  .user-management-page .permission-action-col { width:80px; }
  .user-management-page .form-grid > .w4 { grid-column:span 6!important; }
  .user-management-page .form-grid > .w4:last-child { grid-column:1/-1!important; }
}
@media (max-width:620px) {
  .user-management-page .card { padding:10px; }
  .user-management-page .user-add-panel,
  .user-management-page .site-permission-box { padding:8px; }
  .user-management-page .input,
  .user-management-page .select { font-size:16px; }
  .user-management-page .user-filter { grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; }
  .user-management-page .permission-action-col { width:66px; }
  .user-management-page .user-permission-table th,
  .user-management-page .user-permission-table td { padding:8px 5px!important; font-size:11px; }
  .user-management-page .permission-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .user-management-page .permission-tools .btn { min-height:38px; padding:7px 5px; }
  .user-management-page .user-list-table .actions .btn { min-height:38px; }
  .user-management-page .password-reset-box { grid-template-columns:minmax(0,1fr)!important; }
  .user-management-page .password-reset-box .btn { justify-self:start; }
}

/* v2.35: Hit image page UI only. Canvas bitmap and export are unchanged. */
.hit-image-page { min-width:0; max-width:100%; }
.hit-image-page .page-sub { font-size:12px; line-height:1.65; }
.hit-image-page .hit-layout { display:grid; grid-template-columns:minmax(240px,340px) minmax(0,1fr); gap:14px 18px; align-items:start; }
.hit-image-page .hit-controls { grid-column:2; grid-row:1; order:0; min-width:0; margin:0; gap:12px; }
.hit-image-page .card { min-width:0; padding:14px; margin:0; border-radius:10px; box-shadow:none; }
.hit-image-page .section-title { font-size:16px; margin:0 0 10px; }
.hit-image-page .hit-preview-panel { grid-column:1; grid-row:1; min-width:0; position:sticky; top:140px; }
.hit-image-page .hit-preview-panel > .section-title { font-size:14px; text-align:center; }
.hit-image-page .phone-preview { position:static; width:100%; max-width:340px; max-width:min(340px,calc((100vh - 195px)*946/2048)); margin:0 auto; padding:7px; border-radius:20px; box-sizing:border-box; }
.hit-image-page .phone-stage { border-radius:14px; }
.hit-image-page .hit-save-card { grid-column:1/-1; grid-row:2; border-top:3px solid var(--ds-line); }
.hit-image-page .hit-save-card > .btn { width:100%; max-width:400px; min-height:42px; }
.hit-image-page .hit-save-card > p { margin:9px 0 0; font-size:12px; line-height:1.65; overflow-wrap:anywhere; }
.hit-image-page .form-grid { grid-template-columns:repeat(12,minmax(0,1fr)); gap:9px 10px; }
.hit-image-page .form-grid > .field { min-width:0; gap:4px; }
.hit-image-page .form-grid > .w3 { grid-column:span 3!important; }
.hit-image-page .form-grid > .w4 { grid-column:span 4!important; }
.hit-image-page .form-grid > .w12 { grid-column:1/-1!important; }
.hit-image-page .input,
.hit-image-page .select { min-width:0; width:100%; max-width:100%; min-height:38px; padding:7px 9px; }
.hit-image-page input[type="number"] { text-align:right; font-variant-numeric:tabular-nums; }
.hit-image-page #loadBoat { justify-self:start; min-height:40px; }
.hit-image-page #hitLoadStatus { margin-left:0!important; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.hit-image-page .hint { padding:9px 11px; margin-top:10px!important; font-size:12px; line-height:1.65; }
.hit-image-page .hit-players-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
.hit-image-page .hit-players-grid > .input-group { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:6px; align-items:center; min-width:0; }
.hit-image-page .hit-players-grid .badge { min-width:0!important; width:28px; height:28px; padding:3px; font-variant-numeric:tabular-nums; }
.hit-image-page .hit-players-grid .toggle-chip { display:flex; gap:4px; align-items:center; padding:5px; font-size:11px; white-space:nowrap; min-height:36px; }
.hit-image-page .hit-players-grid .toggle-chip input { flex:none; width:17px; height:17px; margin:0; }
@media (max-width:1100px) {
  .hit-image-page .hit-layout { grid-template-columns:240px minmax(0,1fr); gap:12px; }
  .hit-image-page .form-grid > .w3 { grid-column:span 6!important; }
  .hit-image-page .hit-players-grid { grid-template-columns:minmax(0,1fr); gap:6px; }
}
@media (max-width:900px) {
  .hit-image-page .hit-layout { grid-template-columns:minmax(0,1fr); }
  .hit-image-page .hit-controls { grid-column:1; grid-row:1; }
  .hit-image-page .hit-preview-panel { grid-column:1; grid-row:2; position:static; padding:10px; border:1px solid var(--ds-line); border-radius:10px; background:var(--ds-surface-alt); }
  .hit-image-page .phone-preview { max-width:260px; }
  .hit-image-page .hit-save-card { grid-column:1; grid-row:3; }
  .hit-image-page .hit-players-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .hit-image-page .card { padding:10px; }
  .hit-image-page .section-title { font-size:15px; }
  .hit-image-page .input,
  .hit-image-page .select { font-size:16px; }
  .hit-image-page .form-grid > .w4 { grid-column:span 6!important; }
  .hit-image-page .hit-controls > .card:first-child .form-grid > .field:first-child { grid-column:1/-1!important; }
  .hit-image-page .hit-players-grid { grid-template-columns:minmax(0,1fr); gap:6px; }
  .hit-image-page .hit-players-grid .toggle-chip { min-height:38px; font-size:12px; }
  .hit-image-page .phone-preview { max-width:220px; }
  .hit-image-page .hit-save-card > .btn { max-width:none; }
}
@media (min-width:901px) and (max-height:600px) {
  .hit-image-page .hit-preview-panel { position:static; }
  .hit-image-page .phone-preview { max-width:240px; }
}

/* v2.36: Data monitor UI only; existing status text and API behavior retained. */
.data-monitor-page { min-width:0; max-width:100%; }
.data-monitor-page .page-sub { font-size:12px; line-height:1.65; overflow-wrap:anywhere; }
.data-monitor-page .monitor-toolbar { display:grid; grid-template-columns:180px minmax(0,1fr); align-items:end; gap:12px; margin-bottom:12px; padding:14px; border-radius:10px; box-shadow:none; }
.data-monitor-page .monitor-toolbar .field { grid-column:auto; min-width:0; width:100%; gap:4px; }
.data-monitor-page .monitor-toolbar .input { min-width:0; width:100%; max-width:100%; min-height:40px; padding:7px 9px; }
.data-monitor-page .monitor-toolbar .actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; min-width:0; width:100%; }
.data-monitor-page .monitor-toolbar .actions .btn { flex:none; min-height:40px; padding:8px 12px; font-size:12px; white-space:normal; }
.data-monitor-page .monitor-status-line { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-column:1/-1; gap:7px 12px; width:100%; margin:0; padding-top:10px; border-top:1px solid var(--ds-line); align-items:start; }
.data-monitor-page .monitor-status-line > span:first-child { grid-column:1/-1; font-size:11px; color:var(--ds-muted); }
.data-monitor-page #monitorFetched { display:block; padding:8px 10px; background:var(--ds-blue-soft); border:1px solid var(--ds-line); border-radius:7px; color:var(--ds-text); font-size:13px; font-weight:800; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.data-monitor-page #monitorState:not(:empty) { padding:8px 10px; border:1px solid var(--ds-amber-line); border-radius:7px; background:var(--ds-amber-soft); color:var(--ds-amber-text); line-height:1.6; font-size:12px; font-weight:750; overflow-wrap:anywhere; }
.data-monitor-page #monitorState:empty { display:none; }
.data-monitor-page #forceMonitorRefresh:disabled { opacity:.7; cursor:wait; }
.data-monitor-page #monitorMessage { min-width:0; max-width:100%; margin:0 0 12px; padding:10px 12px; font-size:12px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; border-radius:8px; }
.data-monitor-page #monitorMessage[hidden] { display:none; }
.data-monitor-page #monitorMessage.error { border-left:4px solid var(--ds-red-line); background:var(--ds-surface-alt); color:var(--ds-red-text); }
.data-monitor-page #monitorMessage.success { border-left:4px solid var(--ds-green-line); background:var(--ds-green-soft); color:var(--ds-green-text); }
.data-monitor-page .monitor-results-title { margin:16px 0 9px; font-size:16px; }
.data-monitor-page .live-monitor-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; min-width:0; }
.data-monitor-page .live-venue-card { min-width:0; border-radius:8px; box-shadow:none; }
.data-monitor-page .live-venue-card h2 { padding:8px 10px; font-size:13px; }
.data-monitor-page .live-venue-card table { table-layout:fixed; width:100%; font-size:12px; }
.data-monitor-page .live-venue-card th,
.data-monitor-page .live-venue-card td { padding:6px 7px; line-height:1.45; vertical-align:middle; overflow-wrap:anywhere; }
.data-monitor-page .live-venue-card th { font-size:11px; white-space:nowrap; }
.data-monitor-page .live-venue-card th:nth-child(1),
.data-monitor-page .live-venue-card td:nth-child(1) { width:12%; text-align:center; font-variant-numeric:tabular-nums; }
.data-monitor-page .live-venue-card th:nth-child(2),
.data-monitor-page .live-venue-card td:nth-child(2) { width:23%; text-align:center; font-variant-numeric:tabular-nums; }
.data-monitor-page .live-venue-card th:nth-child(3),
.data-monitor-page .live-venue-card td:nth-child(3) { width:30%; text-align:center; }
.data-monitor-page .live-venue-card th:nth-child(4),
.data-monitor-page .live-venue-card td:nth-child(4) { width:35%; text-align:right; font-variant-numeric:tabular-nums; }
.data-monitor-page .live-venue-card tbody tr:nth-child(even) { background:var(--ds-surface-alt); }
.data-monitor-page .live-venue-card tbody tr:hover { background:var(--ds-blue-soft); }
.data-monitor-page .live-monitor-grid > .empty { grid-column:1/-1; padding:22px 12px; border-radius:8px; font-size:13px; overflow-wrap:anywhere; }
.data-monitor-page .data-footer { margin-top:12px; padding:10px 0; border-top:1px solid var(--ds-line); font-size:11px; line-height:1.7; overflow-wrap:anywhere; }
@media (max-width:1199px) {
  .data-monitor-page .live-monitor-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:950px) {
  .data-monitor-page .live-monitor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .data-monitor-page .monitor-toolbar { grid-template-columns:160px minmax(0,1fr); }
}
@media (max-width:620px) {
  .data-monitor-page .monitor-toolbar { grid-template-columns:minmax(0,1fr); padding:10px; gap:10px; }
  .data-monitor-page .monitor-toolbar .input { font-size:16px; }
  .data-monitor-page .monitor-toolbar .actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .data-monitor-page .monitor-toolbar .actions .btn { padding:8px 6px; min-width:0; }
  .data-monitor-page .monitor-status-line { grid-template-columns:minmax(0,1fr); gap:6px; }
  .data-monitor-page .live-monitor-grid { grid-template-columns:minmax(0,1fr); gap:10px; }
  .data-monitor-page .live-venue-card th,
  .data-monitor-page .live-venue-card td { padding:6px 8px; }
}

/* v2.37: Achievement sheet UI only; preserve row colors, tags and status layout. */
.achievement-sheet-page { min-width:0; max-width:100%; }
.achievement-sheet-page > .page-head { flex-direction:row; flex-wrap:wrap; gap:10px 14px; margin-bottom:12px; }
.achievement-sheet-page > .page-head > div { min-width:0; }
.achievement-sheet-page .page-sub { font-size:12px; line-height:1.65; }
.achievement-sheet-page > .page-head > .actions { display:flex; flex-wrap:wrap; gap:7px; }
.achievement-sheet-page > .page-head > .actions .btn { flex:none; min-height:36px; padding:7px 11px; font-size:12px; }
.achievement-sheet-page > .tabs { display:flex; gap:6px; margin-bottom:10px; }
.achievement-sheet-page > .tabs .tab { padding:8px 12px; font-size:12px; }
.achievement-sheet-page .sheet-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 14px; align-items:center; padding:10px 12px; border-radius:9px; box-shadow:none; }
.achievement-sheet-page .sheet-toolbar .site-switch { min-width:0; max-width:100%; margin:0; display:flex; flex-wrap:nowrap; gap:6px; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin; }
.achievement-sheet-page .sheet-toolbar .site-switch a { flex:none; padding:7px 11px; font-size:12px; }
.achievement-sheet-page .sheet-span-switch { display:flex; flex-wrap:nowrap; gap:6px; }
.achievement-sheet-page .sheet-span-switch .btn { min-height:36px; padding:7px 11px; font-size:12px; white-space:nowrap; }
.achievement-sheet-page .sheet-scroll-hint { margin:7px 0; font-size:11px; color:var(--ds-muted); }
.achievement-sheet-page .sheet-search-results .table-wrap { min-width:0; max-width:100%; overflow:auto; border-radius:8px; scrollbar-width:thin; scrollbar-color:var(--ds-blue-line) var(--ds-surface-alt); }
.achievement-sheet-page .sheet-search-results .table-wrap:focus-visible { outline:3px solid var(--ds-blue-line); outline-offset:2px; }
.achievement-sheet-page .week-nav { display:flex; flex-wrap:nowrap; gap:clamp(20px,6vw,72px); margin:12px auto 4px; }
.achievement-sheet-page .week-nav .btn { min-width:104px; min-height:36px; padding:7px 12px; font-size:12px; white-space:nowrap; }
.achievement-sheet-page .sheet-search-card,
.achievement-sheet-page .sheet-search-results { padding:12px; border-radius:9px; box-shadow:none; }
.achievement-sheet-page .sheet-search-card .toolbar { display:grid; grid-template-columns:150px 150px minmax(120px,1fr) minmax(140px,1.5fr) auto auto!important; gap:8px; align-items:end; }
.achievement-sheet-page .sheet-search-card label { display:grid; gap:4px; min-width:0; font-size:12px; font-weight:800; }
.achievement-sheet-page .sheet-search-card .input,
.achievement-sheet-page .sheet-search-card .select { min-width:0; width:100%; max-width:100%; min-height:38px; padding:7px 9px; }
.achievement-sheet-page .sheet-search-card .btn { min-height:38px; padding:7px 10px; font-size:12px; white-space:nowrap; }
.achievement-sheet-page .sheet-search-results .table { min-width:800px; font-size:12px; }
.achievement-sheet-page .sheet-search-results th,
.achievement-sheet-page .sheet-search-results td { padding:8px 10px; vertical-align:middle; }
.achievement-sheet-page .sheet-search-results th:first-child,
.achievement-sheet-page .sheet-search-results td:first-child { white-space:nowrap; text-align:center; }
.achievement-sheet-page .sheet-search-results td:nth-child(2),
.achievement-sheet-page .sheet-search-results td:nth-child(3) { max-width:230px; overflow-wrap:anywhere; }
.achievement-sheet-page .sheet-search-results th:nth-child(3),
.achievement-sheet-page .sheet-search-results td:nth-child(3) { text-align:center; }
.achievement-sheet-page .sheet-search-results .num { white-space:nowrap; text-align:right; font-variant-numeric:tabular-nums; }
.achievement-sheet-page #sheetModal .modal-card { min-width:0; max-width:100%; }
.achievement-sheet-page #sheetModal h2,
.achievement-sheet-page #sheetModal .raw,
.achievement-sheet-page #sheetModal .detail-kpis strong { overflow-wrap:anywhere; }
@media (max-width:1100px) {
  .achievement-sheet-page .sheet-search-card .toolbar { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
}
@media (max-width:720px) {
  .achievement-sheet-page .sheet-toolbar { grid-template-columns:minmax(0,1fr); gap:7px; padding:9px; }
  .achievement-sheet-page .sheet-span-switch { justify-content:flex-end; }
  .achievement-sheet-page .sheet-search-card .toolbar { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .achievement-sheet-page .sheet-search-card .input,
  .achievement-sheet-page .sheet-search-card .select { font-size:16px; }
  .achievement-sheet-page .sheet-search-card,
  .achievement-sheet-page .sheet-search-results { padding:10px; }
}

/* v2.38: Schedule presentation only. Preserve grade colors and event order. */
.schedule-management-page { min-width:0; max-width:100%; }
.schedule-management-page .page-head { flex-direction:row; flex-wrap:wrap; gap:10px 14px; margin-bottom:12px; }
.schedule-management-page .page-head > div { min-width:0; }
.schedule-management-page .page-sub { font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.schedule-management-page > .page-head > .actions { display:flex; flex-wrap:nowrap; gap:8px; }
.schedule-management-page > .page-head > .actions .btn { flex:none; min-height:36px; padding:7px 10px; font-size:12px; white-space:nowrap; }
.schedule-management-page .month-heading { font-size:16px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.schedule-management-page .card { min-width:0; padding:12px; border-radius:9px; box-shadow:none; }
.schedule-management-page .card + .card { margin-top:12px; }
.schedule-management-page .section-title { font-size:16px; margin-bottom:10px; }
.schedule-management-page .schedule-site-tabs { min-width:0; max-width:100%; flex-wrap:nowrap; gap:6px; margin-bottom:10px; padding:3px 2px 5px; overflow-x:auto; scrollbar-width:thin; }
.schedule-management-page .schedule-site-btn { flex:none; min-height:36px; padding:7px 11px; font-size:12px; }
.schedule-management-page .form-grid { grid-template-columns:repeat(12,minmax(0,1fr)); gap:9px 10px; }
.schedule-management-page .form-grid > .field { min-width:0; gap:4px; }
.schedule-management-page .form-grid > .w2 { grid-column:span 2!important; }
.schedule-management-page .form-grid > .w4 { grid-column:span 4!important; }
.schedule-management-page .input,
.schedule-management-page .select { width:100%; min-width:0; max-width:100%; min-height:38px; padding:7px 9px; }
.schedule-management-page input[type="number"] { text-align:right; font-variant-numeric:tabular-nums; }
.schedule-management-page .schedule-simple-form .btn { min-height:38px; padding:7px 9px; white-space:nowrap; }
.schedule-management-page .schedule-scroll-hint { margin:7px 0; color:var(--ds-muted); font-size:11px; }
.schedule-management-page .day-num { margin-bottom:4px; font-size:12px!important; line-height:1.3; }
.schedule-management-page .schedule-card { display:block; padding:5px 6px; margin-top:4px; border-radius:6px; }
.schedule-management-page .schedule-card .small { font-size:10px; line-height:1.4; overflow-wrap:anywhere; }
.schedule-management-page .schedule-card .name { margin:2px 0; font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.schedule-management-page .schedule-card .meta { display:flex; flex-wrap:wrap; gap:4px; margin-top:3px; }
.schedule-management-page .schedule-card .badge { padding:2px 5px; font-size:9px; max-width:100%; overflow-wrap:anywhere; }
.schedule-management-page .event-mini-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:3px!important; margin-top:6px!important; padding-top:5px; border-top:1px solid var(--ds-line); }
.schedule-management-page .event-mini-grid .event-mini { min-width:0; padding:3px!important; gap:2px!important; margin-top:0!important; }
.schedule-management-page .official-refresh-box { min-width:0; max-width:100%; gap:6px; }
.schedule-management-page #officialRefreshStatus { max-width:100%; overflow-wrap:anywhere; line-height:1.6; font-size:11px; }
.schedule-management-page .schedule-manual-tools { gap:10px; }
.schedule-management-page .schedule-manual-details { min-width:0; max-width:100%; }
.schedule-management-page .schedule-manual-details summary { padding:6px 0; cursor:pointer; font-size:12px; font-weight:800; }
.schedule-management-page .schedule-manual-details .toolbar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:8px; align-items:end; }
.schedule-management-page .schedule-manual-details label { display:grid; min-width:0; gap:4px; font-size:12px; font-weight:800; }
.schedule-management-page .schedule-manual-details .btn { min-height:38px; padding:7px 9px; }
.schedule-management-page .schedule-official-link { min-height:38px; font-size:12px; }
.schedule-management-page .schedule-list-card .table-wrap { max-width:100%; overflow:auto; border-radius:8px; scrollbar-width:thin; }
.schedule-management-page .schedule-list-card .table { min-width:760px; font-size:12px; }
.schedule-management-page .schedule-list-card th,
.schedule-management-page .schedule-list-card td { padding:8px 10px; vertical-align:middle; }
.schedule-management-page .schedule-list-card th:first-child,
.schedule-management-page .schedule-list-card td:first-child { text-align:center; white-space:nowrap; }
.schedule-management-page .schedule-list-card td:nth-child(2),
.schedule-management-page .schedule-list-card td:nth-child(3) { max-width:240px; overflow-wrap:anywhere; }
.schedule-management-page .schedule-list-card .num { white-space:nowrap; font-variant-numeric:tabular-nums; }
.schedule-management-page .schedule-list-card th:last-child,
.schedule-management-page .schedule-list-card td:last-child { text-align:center; }
.schedule-management-page .schedule-list-card .actions { display:flex; flex-wrap:nowrap; justify-content:center; gap:6px; }
.schedule-management-page .schedule-list-card .actions form { margin:0; }
.schedule-management-page .schedule-list-card .actions .btn { flex:none; min-height:34px; padding:6px 9px; font-size:12px; white-space:nowrap; }
.schedule-management-page .schedule-list-card .table-wrap:focus-visible { outline:3px solid var(--ds-blue-line); outline-offset:2px; }
@media (max-width:1100px) {
  .schedule-management-page .form-grid > .w2 { grid-column:span 3!important; }
  .schedule-management-page .form-grid > .w4 { grid-column:span 6!important; }
}
@media (max-width:760px) {
  .schedule-management-page .schedule-manual-details .toolbar { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width:620px) {
  .schedule-management-page .card { padding:10px; }
  .schedule-management-page > .page-head > .actions { width:100%; justify-content:space-between; gap:5px; }
  .schedule-management-page .month-heading { font-size:14px; }
  .schedule-management-page .input,
  .schedule-management-page .select { font-size:16px; }
  .schedule-management-page .form-grid > .w2 { grid-column:span 6!important; }
  .schedule-management-page .form-grid > .w4,
  .schedule-management-page .form-grid > .field:last-child { grid-column:1/-1!important; }
  .schedule-management-page .event-mini-grid { grid-template-columns:minmax(0,1fr)!important; }
  .schedule-management-page .event-mini-grid .event-mini { padding:4px 6px!important; }
  .schedule-management-page .official-refresh-box { align-items:stretch; }
  .schedule-management-page .schedule-list-card .actions .btn { min-height:38px; }
}

/* v2.39: Final UI touch-ups; page-scoped, no business or script changes. */
@media screen {
  /* Top-level title areas only; keep action layout and nested section headings. */
  .achievement-list-page > .page-head,
  .achievement-sheet-page > .page-head,
  .schedule-management-page > .page-head,
  .plan-management-page > .page-head,
  .reward-summary-page > .page-head,
  .hit-image-page > .page-head,
  .user-management-page > .page-head,
  .data-monitor-page > .page-head,
  .page-shell:has(> #achievementForm) > .page-head,
  .page-shell:has(> .sales-tabs) > .page-head { margin-bottom:14px; }
  .achievement-list-page > .page-head > div > .page-sub,
  .achievement-sheet-page > .page-head > div > .page-sub,
  .schedule-management-page > .page-head > div > .page-sub,
  .plan-management-page > .page-head > div > .page-sub,
  .reward-summary-page > .page-head > div > .page-sub,
  .hit-image-page > .page-head > div > .page-sub,
  .user-management-page > .page-head > div > .page-sub,
  .data-monitor-page > .page-head > div > .page-sub,
  .page-shell:has(> #achievementForm) > .page-head > div > .page-sub,
  .page-shell:has(> .sales-tabs) > .page-head > div > .page-sub { font-size:13px; }

  /* Preserve the reward amount emphasis when the shared hover rule is active. */
  .reward-summary-page #reward-statements .table tbody tr:hover > td:nth-child(5) {
    background:var(--ds-blue-soft)!important;
  }
  /* Plans: match the flatter surfaces used by the other updated pages. */
  .plan-management-page .card { box-shadow:none; }

  /* Only unmatched general-form save/add buttons; neighboring inputs are 38px. */
  .plan-management-page .plan-editor-card button[name="save_plan"],
  .reward-summary-page #reward-adjust > .form-grid button[name="add_adjustment"],
  .reward-summary-page #reward-rules > .form-grid button[name="add_rule"],
  .reward-summary-page #reward-rules > .form-grid button[name="update_rule"],
  .user-management-page .user-add-panel button[name="add_user"],
  .user-management-page .user-edit-card button[name="save_permissions"] {
    min-height:38px;
    padding:7px 10px;
    font-size:12px;
    line-height:1.4;
  }
}
@media screen and (max-width:720px) {
  /* Existing two-column month rule needs a Grid formatting context. */
  .sales-tabs + .card > .toolbar:has(input[type="month"]) { display:grid; }
}

/* v2.44.20 reward settings usability */
.reward-summary-page .reward-rule-console { border-top:3px solid var(--ds-blue-line); }
.reward-summary-page .reward-rule-console-head { margin-bottom:14px; }
.reward-summary-page .reward-allocation-board { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:12px 0 18px; }
.reward-summary-page .reward-allocation-panel { border:1px solid var(--ds-line); border-radius:10px; background:var(--ds-surface); overflow:hidden; min-width:0; }
.reward-summary-page .reward-allocation-panel-total { grid-column:1/-1; }
.reward-summary-page .reward-allocation-panel-head { padding:10px 12px; background:var(--ds-blue-soft); border-bottom:1px solid var(--ds-line); }
.reward-summary-page .reward-allocation-panel-head > div { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.reward-summary-page .reward-allocation-panel-head strong { font-size:14px; color:var(--ds-text); }
.reward-summary-page .reward-allocation-panel-head span { font-size:11px; color:var(--ds-muted); white-space:nowrap; }
.reward-summary-page .reward-allocation-list { display:grid; }
.reward-summary-page .reward-allocation-row { display:grid; grid-template-columns:minmax(120px,0.8fr) minmax(220px,2fr) auto; gap:10px; align-items:center; min-height:48px; padding:8px 10px; border-top:1px solid var(--ds-line); }
.reward-summary-page .reward-allocation-row:first-child { border-top:0; }
.reward-summary-page .reward-allocation-row.is-external { background:var(--ds-surface-alt); }
.reward-summary-page .reward-allocation-name { font-weight:800; overflow-wrap:anywhere; }
.reward-summary-page .reward-allocation-people { display:flex; flex-wrap:wrap; gap:5px; min-width:0; }
.reward-summary-page .reward-share-chip { display:inline-flex; align-items:center; gap:5px; padding:4px 7px; border:1px solid var(--ds-line); border-radius:999px; background:var(--ds-surface); font-size:12px; line-height:1.2; }
.reward-summary-page .reward-share-chip b { color:var(--ds-text); font-variant-numeric:tabular-nums; }
.reward-summary-page .reward-allocation-total { display:flex; align-items:center; justify-content:flex-end; gap:7px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.reward-summary-page .reward-allocation-total > b { min-width:48px; text-align:right; font-size:14px; }
.reward-summary-page .reward-external-mark { display:inline-block; margin-left:6px; padding:2px 5px; border-radius:5px; background:var(--ds-amber-soft); color:var(--ds-amber-text); font-size:10px; vertical-align:middle; }
.reward-summary-page .reward-rule-editor { margin-top:16px; padding-top:16px; border-top:1px solid var(--ds-line); }
.reward-summary-page .reward-rule-editor-head { margin-bottom:12px; }
.reward-summary-page .reward-rule-editor-head h3 { margin:0 0 3px; font-size:16px; color:var(--ds-text); }
.reward-summary-page .reward-rule-editor-head p { margin:0; color:var(--ds-muted); font-size:12px; }
.reward-summary-page .reward-simple-rule-form { align-items:end; }
.reward-summary-page .reward-target-box { padding:10px; border:1px solid var(--ds-line); border-radius:9px; background:var(--ds-surface); }
.reward-summary-page .reward-target-grid { display:flex; flex-wrap:wrap; gap:7px; margin-top:4px; }
.reward-summary-page .reward-target-option { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:6px 9px; border:1px solid var(--ds-line); border-radius:8px; background:var(--ds-surface); cursor:pointer; font-size:12px; }
.reward-summary-page .reward-target-option:has(input:checked) { border-color:var(--ds-blue-line); background:var(--ds-blue-soft); box-shadow:inset 0 0 0 1px #6c9dd0; }
.reward-summary-page .reward-target-option input { margin:0; }
.reward-summary-page .reward-external-note { padding:8px 10px; border:1px solid var(--ds-amber-line); border-radius:9px; background:var(--ds-amber-soft); }
.reward-summary-page .reward-external-toggle { display:flex; align-items:flex-start; gap:8px; cursor:pointer; }
.reward-summary-page .reward-external-toggle input { margin-top:3px; }
.reward-summary-page .reward-external-toggle span { display:grid; gap:2px; }
.reward-summary-page .reward-external-toggle small { color:var(--ds-amber-text); }
.reward-summary-page .reward-advanced-settings { border:1px dashed var(--ds-line); border-radius:9px; padding:8px 10px; background:var(--ds-surface); }
.reward-summary-page .reward-advanced-settings > summary { cursor:pointer; font-size:12px; font-weight:800; color:var(--ds-muted); }
.reward-summary-page .reward-advanced-grid { margin-top:10px; }
.reward-summary-page .reward-rule-save-row { display:flex; justify-content:flex-end; }
.reward-summary-page .reward-rule-save-row .btn { min-width:180px; }
.reward-summary-page .reward-rule-list-table { min-width:760px; }
.reward-summary-page .reward-rule-list-table th,
.reward-summary-page .reward-rule-list-table td { vertical-align:middle; }
.reward-summary-page .reward-rule-list-table th:nth-child(1) { width:16%; }
.reward-summary-page .reward-rule-list-table th:nth-child(2) { width:30%; }
.reward-summary-page .reward-rule-list-table th:nth-child(3) { width:14%; }
.reward-summary-page .reward-rule-list-table th:nth-child(4) { width:25%; }
.reward-summary-page .reward-rule-list-table th:nth-child(5) { width:15%; text-align:center; }
.reward-summary-page .reward-rule-list-table td:last-child { text-align:center; }

@media (max-width:900px){
  .reward-summary-page .reward-allocation-board { grid-template-columns:minmax(0,1fr); }
  .reward-summary-page .reward-allocation-panel-total { grid-column:auto; }
  .reward-summary-page .reward-allocation-row { grid-template-columns:minmax(100px,.8fr) minmax(160px,1.5fr) auto; }
}
@media (max-width:620px){
  .reward-summary-page .reward-allocation-row { grid-template-columns:1fr auto; gap:6px 8px; }
  .reward-summary-page .reward-allocation-people { grid-column:1/-1; order:3; }
  .reward-summary-page .reward-allocation-total { grid-column:2; grid-row:1; }
  .reward-summary-page .reward-allocation-panel-head > div { align-items:flex-start; }
  .reward-summary-page .reward-target-option { flex:1 1 calc(50% - 7px); }
  .reward-summary-page .reward-rule-save-row .btn { width:100%; }
}


/* v2.44.33: 実績シートを日常業務のハブとして再編・コンパクト化 */
.achievement-sheet-page .sheet-workspace-nav{
  display:flex;align-items:stretch;gap:5px;margin:0 0 10px;padding:5px;
  border:1px solid var(--ds-line);border-radius:11px;background:var(--ds-blue-soft);
  overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch;
}
.achievement-sheet-page .sheet-workspace-tab{
  position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  min-height:38px;padding:7px 12px;border:1px solid transparent;border-radius:8px;
  background:transparent;color:var(--ds-muted);text-decoration:none;font-size:12px;font-weight:900;white-space:nowrap;
  transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease;
}
.achievement-sheet-page .sheet-workspace-tab:hover,.achievement-sheet-page .sheet-workspace-tab:focus-visible{
  background:var(--ds-surface);border-color:var(--ds-blue-line);color:var(--ds-text);outline:0;
}
.achievement-sheet-page .sheet-workspace-tab.active{
  background:var(--ds-blue-solid);border-color:var(--ds-blue-line);color:#fff;box-shadow:0 2px 7px rgba(28,101,189,.18);
}
.achievement-sheet-page .sheet-workspace-tab.is-launch{background:var(--ds-surface);border-color:var(--ds-line);}
.achievement-sheet-page .sheet-workspace-tab.is-launch::after{content:"↗";margin-left:5px;font-size:9px;color:var(--ds-muted);}
.achievement-sheet-page .sheet-workspace-tab.is-launch:hover{border-color:var(--ds-blue-line);background:var(--ds-surface);}

/* スケジュール: サイト名の右にタグを置き、カードの縦幅を圧縮 */
.schedule-management-page .schedule-card{padding:5px 6px!important;}
.schedule-management-page .schedule-card-head{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;}
.schedule-management-page .schedule-card-site{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.schedule-management-page .schedule-card .meta{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:3px;margin-top:0!important;}
.schedule-management-page .schedule-card .badge{padding:1px 4px;font-size:8px;line-height:1.35;white-space:nowrap;}
.schedule-management-page .schedule-card .name{margin:2px 0 0!important;font-size:10.5px;line-height:1.3;}

/* v2.44.33.1: 実績登録の一覧導線はプレビューカード外・右上 */
.achievement-preview-toolbar{display:flex;justify-content:flex-end;align-items:center;margin:0 0 6px;}
.achievement-preview-toolbar .btn{min-height:32px;}
.register-preview-card > .page-head.compact{display:flex;align-items:flex-start;}
.schedule-management-page .schedule-card{padding:4px 5px!important;margin-top:3px!important;}
.schedule-management-page .schedule-card-head{gap:3px;}
.schedule-management-page .schedule-card-site{font-size:9px!important;}
.schedule-management-page .schedule-card .meta{gap:2px!important;}
.schedule-management-page .schedule-card .badge{padding:1px 3px!important;font-size:7.5px!important;}
.schedule-management-page .schedule-card .name{font-size:10px!important;line-height:1.25!important;}

@media (max-width:720px){
  .achievement-sheet-page .sheet-workspace-nav{gap:4px;padding:4px;margin-bottom:8px;}
  .achievement-sheet-page .sheet-workspace-tab{min-height:36px;padding:7px 10px;font-size:11px;}
  .achievement-preview-toolbar{margin-bottom:5px;}
  .achievement-preview-toolbar .btn{min-height:32px;width:auto!important;}
}


/* v2.44.33.2: 実績シートのメイン操作は4タブ、表示切替は小さく分離 */
.achievement-sheet-page .sheet-workspace-nav{
  gap:6px;
  padding:6px;
  margin-bottom:7px;
}
.achievement-sheet-page .sheet-workspace-tab{
  min-height:40px;
  padding:8px 15px;
  font-size:12px;
}
.achievement-sheet-page .sheet-workspace-tab:first-child{
  background:var(--ds-blue-solid);
  border-color:var(--ds-blue-line);
  color:#fff;
}
.achievement-sheet-page .sheet-workspace-tab:first-child::after{color:rgba(255,255,255,.8);}
.achievement-sheet-page .sheet-view-switch{
  display:flex;
  align-items:center;
  gap:5px;
  margin:0 0 9px;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
}
.achievement-sheet-page .sheet-view-switch::-webkit-scrollbar{display:none;}
.achievement-sheet-page .sheet-view-switch-label{
  flex:0 0 auto;
  color:var(--ds-muted);
  font-size:10px;
  font-weight:850;
  padding-right:2px;
}
.achievement-sheet-page .sheet-view-switch-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:29px;
  padding:4px 9px;
  border:1px solid var(--ds-line);
  border-radius:7px;
  background:var(--ds-surface);
  color:var(--ds-muted);
  text-decoration:none;
  font-size:10.5px;
  font-weight:850;
  white-space:nowrap;
}
.achievement-sheet-page .sheet-view-switch-btn.active{
  border-color:var(--ds-blue-line);
  background:var(--ds-blue-soft);
  color:var(--ds-muted);
}

/* v2.44.33.2: スケジュールはPCで日付列そのものを固定幅化して明確に横圧縮 */
@media (min-width:721px){
}

@media (max-width:720px){
  .achievement-sheet-page .sheet-workspace-nav{gap:4px;padding:4px;}
  .achievement-sheet-page .sheet-workspace-tab{min-height:37px;padding:7px 11px;font-size:11px;}
  .achievement-sheet-page .sheet-view-switch{margin-bottom:7px;}
}


/* v2.44.33.3: 実績シート詳細モーダルの視認性改善 */
.achievement-sheet-page #sheetModal .modal-card{width:min(960px,100%);padding:24px 24px 20px;}
.achievement-sheet-page #sheetModal #sheetModalBody{display:grid;gap:16px;}
.achievement-sheet-page #sheetModal .sheet-detail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--ds-line);}
.achievement-sheet-page #sheetModal .sheet-detail-head h2{margin:0;font-size:20px;line-height:1.35;color:var(--ds-text);}
.achievement-sheet-page #sheetModal .sheet-detail-date{flex:0 0 auto;font-size:13px;font-weight:900;color:var(--ds-muted);background:var(--ds-blue-soft);border:1px solid var(--ds-line);border-radius:999px;padding:5px 10px;}
.achievement-sheet-page #sheetModal .sheet-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.achievement-sheet-page #sheetModal .sheet-detail-stat{padding:12px 14px;border:1px solid var(--ds-line);border-radius:14px;background:var(--ds-surface);box-shadow:inset 0 1px 0 rgba(255,255,255,.85);}
.achievement-sheet-page #sheetModal .sheet-detail-stat small{display:block;margin-bottom:4px;font-size:12px;font-weight:800;color:var(--ds-muted);}
.achievement-sheet-page #sheetModal .sheet-detail-stat strong{display:block;font-size:22px;line-height:1.35;color:var(--ds-text);word-break:break-word;}
.achievement-sheet-page #sheetModal .sheet-detail-stat.is-payout strong{font-variant-numeric:tabular-nums;}
.achievement-sheet-page #sheetModal .sheet-detail-stat.result-rollover_success{background:var(--ds-amber-soft);border-color:var(--ds-amber-line);}
.achievement-sheet-page #sheetModal .sheet-detail-stat.result-race1_hit{background:var(--ds-blue-soft);border-color:var(--ds-blue-line);}
.achievement-sheet-page #sheetModal .sheet-detail-stat.result-race2_hit{background:var(--ds-amber-soft);border-color:var(--ds-amber-line);}
.achievement-sheet-page #sheetModal .sheet-detail-stat.result-miss{background:var(--ds-blue-soft);border-color:var(--ds-line);}
.achievement-sheet-page #sheetModal .sheet-detail-stat.result-other{background:var(--ds-surface-alt);border-color:var(--ds-line);}
.achievement-sheet-page #sheetModal .sheet-detail-stat.is-participation.is-joined{background:var(--ds-green-soft);border-color:var(--ds-green-line);}
.achievement-sheet-page #sheetModal .sheet-detail-stat.is-participation.is-no-participants{background:var(--ds-blue-soft);border-color:var(--ds-line);}
.achievement-sheet-page #sheetModal .sheet-detail-panels{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;align-items:start;}
.achievement-sheet-page #sheetModal .sheet-detail-panel{display:grid;gap:8px;min-height:100%;}
.achievement-sheet-page #sheetModal .sheet-detail-panel h3{margin:0;font-size:14px;font-weight:900;color:var(--ds-text);}
.achievement-sheet-page #sheetModal .sheet-detail-panel .raw{min-height:160px;padding:13px 14px;border:1px solid var(--ds-line);border-radius:14px;background:var(--ds-surface);white-space:normal;overflow-wrap:anywhere;line-height:1.6;font-size:14px;font-family:inherit;color:var(--ds-text);box-shadow:0 2px 10px rgba(16,44,74,.03);}
.achievement-sheet-page #sheetModal .sheet-detail-panel.panel-users .raw{background:var(--ds-surface);}
.achievement-sheet-page #sheetModal .sheet-detail-actions{display:flex;justify-content:flex-start;gap:10px;}

/* v2.44.33.3: スケジュールの横圧縮カレンダーを大画面で中央配置 */
@media (min-width:721px){
}

@media (max-width:900px){
  .achievement-sheet-page #sheetModal .sheet-detail-summary{grid-template-columns:1fr;}
  .achievement-sheet-page #sheetModal .sheet-detail-panels{grid-template-columns:1fr;}
  .achievement-sheet-page #sheetModal .sheet-detail-panel .raw{min-height:0;}
}

@media (max-width:640px){
  .achievement-sheet-page #sheetModal .modal-card{padding:18px 16px 16px;}
  .achievement-sheet-page #sheetModal .sheet-detail-head{align-items:flex-start;flex-direction:column;}
  .achievement-sheet-page #sheetModal .sheet-detail-stat strong{font-size:19px;}
  .achievement-sheet-page #sheetModal .sheet-detail-actions{display:grid;grid-template-columns:1fr;}
}

/* v2.44.34: 結果表示の文言・背景色管理 */
.result-display-field-label{display:flex!important;align-items:center;justify-content:space-between;gap:8px;}
.result-display-field-label a{font-size:11px;font-weight:900;color:var(--ds-blue-text);text-decoration:none;white-space:nowrap;}
.result-display-field-label a:hover{text-decoration:underline;}
.result-display-settings-page{min-width:0;}
.result-display-settings-card{padding:16px;}
.result-display-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.result-display-setting-list{display:grid;gap:8px;}
.result-display-setting-row{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(220px,1.5fr) 86px minmax(150px,1fr);gap:10px;align-items:end;padding:10px;border:1px solid var(--ds-line);border-radius:10px;background:var(--ds-surface);}
.result-display-system{align-self:center;display:grid;gap:2px;}
.result-display-system small{font-size:10px;color:var(--ds-muted);font-weight:800;}
.result-display-system strong{font-size:12px;color:var(--ds-text);}
.result-display-label-field,.result-display-color-field{display:grid;gap:4px;font-size:11px;font-weight:900;color:var(--ds-muted);}
.result-display-color-field input[type=color]{width:100%;height:38px;padding:2px;border:1px solid var(--ds-line);border-radius:8px;background:var(--ds-surface);}
.result-display-preview{min-height:38px;display:flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:8px;font-size:12px;font-weight:950;text-align:center;border:1px solid rgba(31,55,79,.08);}
.result-display-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;}
.result-display-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap;}
.achievement-sheet-page #sheetModal .sheet-detail-stat.is-result[style] small,
.achievement-sheet-page #sheetModal .sheet-detail-stat.is-result[style] strong{color:inherit;}
@media(max-width:820px){
  .result-display-setting-row{grid-template-columns:1fr 1fr;align-items:end;}
  .result-display-preview{grid-column:1/-1;}
}
@media(max-width:520px){
  .result-display-setting-row{grid-template-columns:1fr;}
  .result-display-preview{grid-column:auto;}
  .result-display-actions{display:grid;grid-template-columns:1fr;}
}
