.myps-app{--b:#e6e8ec;--text:#18202a;--muted:#667085;--bg:#f7f8fa;--accent:#111827;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:var(--text);max-width:1180px;margin:0 auto;padding:18px 12px 60px;box-sizing:border-box}.myps-app *{box-sizing:border-box}.myps-app h1,.myps-app h2,.myps-app h3,.myps-app h4{margin:0 0 10px;line-height:1.35}.myps-app p{line-height:1.7}.myps-hero{background:#fff;border:1px solid var(--b);border-radius:18px;padding:28px;margin-bottom:18px}.myps-eyebrow,.myps-section-head span{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.myps-section{background:#fff;border:1px solid var(--b);border-radius:18px;padding:24px;margin:18px 0}.myps-section-head{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.myps-form label{display:block;font-weight:700;font-size:14px;margin-bottom:14px}.myps-form input,.myps-form select,.myps-form textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cfd4dc;border-radius:10px;background:#fff;font:inherit}.myps-grid-2,.myps-grid-4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.myps-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.myps-btn{display:inline-flex;justify-content:center;align-items:center;min-height:46px;border:0;border-radius:11px;padding:11px 18px;font-weight:800;cursor:pointer;text-decoration:none}.myps-primary{background:#111827;color:#fff!important}.myps-help,.myps-app small{color:var(--muted)}.myps-notice{background:#ecfdf3;border:1px solid #abefc6;color:#067647;padding:13px 16px;border-radius:12px;margin:0 0 14px}.myps-empty,.myps-box{padding:20px;border:1px dashed #cfd4dc;border-radius:12px}.myps-case{border:1px solid var(--b);border-radius:16px;padding:18px;margin:14px 0}.myps-case-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.myps-case-top strong,.myps-case-top small{display:block}.myps-status{background:#eef2f6;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.myps-steps{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin:20px 0}.myps-step{text-align:center;position:relative;color:#98a2b3;font-size:11px}.myps-step i{font-style:normal;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid #d0d5dd;border-radius:50%;margin:0 auto 5px;background:#fff;font-weight:800}.myps-step:after{content:"";position:absolute;height:2px;background:#e4e7ec;top:13px;left:65%;right:-35%;z-index:-1}.myps-step:last-child:after{display:none}.myps-step.done,.myps-step.current{color:#101828;font-weight:800}.myps-step.done i,.myps-step.current i{border-color:#101828}.myps-step.done i{background:#101828;color:#fff}.myps-mini-grid,.myps-result-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.myps-mini-grid>div,.myps-result-cards>div{background:var(--bg);border-radius:12px;padding:12px}.myps-mini-grid span,.myps-result-cards span{display:block;color:var(--muted);font-size:12px}.myps-result-cards{grid-template-columns:repeat(4,1fr);margin:15px 0}.myps-result-cards b{font-size:28px}.myps-legal{background:#f8fafc;border:1px solid #e4e7ec;border-radius:14px;padding:16px;margin:16px 0}.myps-legal>div{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.myps-legal>div span{background:#fff;padding:8px 10px;border-radius:8px}.myps-legal>div>strong{margin-left:auto;font-size:20px}.myps-diag-row{display:flex;justify-content:space-between;gap:14px;border-left:4px solid #f79009;padding:12px 14px;background:#fffaeb;margin:10px 0;border-radius:8px}.myps-diag-row.fail{border-left-color:#d92d20;background:#fef3f2}.myps-diag-row b{display:block;font-size:11px;text-transform:uppercase}.myps-diag-row strong{display:block;margin-top:3px}.myps-diag-row p{margin:4px 0 0}.myps-photos{display:flex;gap:8px;flex-wrap:wrap}.myps-photo img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid #ddd}.myps-quote-title{display:flex;align-items:end;justify-content:space-between;margin-top:22px}.myps-quote-title h3 span{font-size:13px;background:#111827;color:#fff;border-radius:999px;padding:3px 8px}.myps-quote-card{border:1px solid var(--b);border-radius:15px;padding:18px;margin:12px 0}.myps-quote-card.selected{border:2px solid #12b76a}.myps-quote-head{display:flex;justify-content:space-between;gap:14px}.myps-quote-head>div:last-child{text-align:right}.myps-quote-head strong{display:block;font-size:28px}.myps-quote-badges{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.myps-quote-badges b{background:#f2f4f7;border-radius:999px;padding:5px 9px;font-size:12px}.myps-quote-badges .warn{background:#fff4e5;color:#b54708}.myps-breakdown p{display:flex;justify-content:space-between;border-bottom:1px solid #eee;padding:8px 0;margin:0}.myps-breakdown .total{font-size:18px;border-bottom:0}.myps-warning,.myps-info-banner{background:#fff8eb;border:1px solid #fedf89;padding:13px;border-radius:10px;margin:12px 0}.myps-info-banner p{margin:3px 0 0}.myps-selected{background:#ecfdf3;color:#067647;padding:12px;border-radius:10px;font-weight:800;margin:10px 0}.myps-list-row,.myps-request-card{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px;border:1px solid var(--b);border-radius:12px;text-decoration:none;color:inherit;margin:8px 0}.myps-list-row span,.myps-request-card span{display:block;color:var(--muted);font-size:13px}.myps-request-card>div:last-child{text-align:right}.myps-request-card>div:last-child>*{display:block;margin:3px 0}.myps-back{display:inline-block;margin-bottom:16px;text-decoration:none;font-weight:700}.myps-check-group{border:1px solid var(--b);border-radius:14px;padding:16px;margin:16px 0}.myps-check{border-top:1px solid #eee;padding:15px 0}.myps-check:first-of-type{border-top:0}.myps-radio{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.myps-radio label{margin:0}.myps-radio input{display:none}.myps-radio span{display:inline-block;padding:8px 11px;background:#f2f4f7;border-radius:9px;cursor:pointer}.myps-radio input:checked+span{background:#111827;color:#fff}.myps-check-detail{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.myps-file{background:#eef2f6;border-radius:9px;padding:10px 13px;cursor:pointer}.myps-file input{display:none}.myps-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.myps-service-grid label{font-weight:600;margin:0;padding:10px;background:#f8fafc;border-radius:8px}.myps-quote-item{border:1px solid #e4e7ec;border-radius:12px;padding:12px;margin:12px 0}
@media(max-width:760px){.myps-app{padding:10px 8px 40px}.myps-hero,.myps-section{padding:16px;border-radius:14px}.myps-grid-2,.myps-grid-4,.myps-service-grid{grid-template-columns:1fr}.myps-steps{overflow-x:auto;grid-template-columns:repeat(8,72px);padding-bottom:8px}.myps-mini-grid,.myps-result-cards{grid-template-columns:repeat(2,1fr)}.myps-legal>div{display:grid;grid-template-columns:1fr 1fr}.myps-legal>div>strong{margin:0;grid-column:1/-1}.myps-diag-row,.myps-quote-head,.myps-list-row,.myps-request-card{flex-direction:column;align-items:stretch}.myps-quote-head>div:last-child,.myps-request-card>div:last-child{text-align:left}.myps-check-detail{grid-template-columns:1fr}.myps-quote-head strong{font-size:24px}}
.myps-manual-toggle{display:flex!important;align-items:center;gap:8px;margin:8px 0 16px!important}.myps-manual-toggle input{width:auto!important;margin:0!important}.myps-buyback{margin-top:18px;padding:18px;border:1px solid #f5c2c7;border-radius:14px;background:#fffafa}.myps-buyback-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.myps-buyback-head span,.myps-market-card>span,.myps-offer>span{display:block;color:#667085;font-size:12px;font-weight:800}.myps-sell{background:#8b1e2d;color:#fff!important}.myps-secondary{background:#eef2f6;color:#18202a!important}.myps-market-card{background:#fff;border:1px solid #ead6d8;border-radius:12px;padding:15px;margin:14px 0}.myps-market-card>strong,.myps-offer>strong{display:block;font-size:28px;margin:4px 0}.myps-market-card>div{margin-top:8px;font-weight:700}.myps-offer{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:16px;margin-top:14px}.myps-offer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.myps-offer-actions form{margin:0}.myps-catalog-fields[hidden],.myps-manual-fields[hidden]{display:none!important}
@media(max-width:760px){.myps-buyback-head{flex-direction:column}.myps-offer-actions{display:grid;grid-template-columns:1fr}.myps-offer-actions .myps-btn{width:100%}}@media(max-width:760px){.myps-sale-request-actions{display:grid;grid-template-columns:1fr}.myps-sale-request-actions .myps-btn{width:100%;min-width:0}}

.myps-sell-hero{background:linear-gradient(135deg,#fff 0%,#fff8f0 100%)}.myps-sell-result{border-color:#efd7bd}.myps-price-range{padding:24px 18px;border-radius:16px;background:#fff8eb;border:1px solid #fedf89;text-align:center;margin:16px 0}.myps-price-range>span{display:block;color:#7a2e0e;font-size:13px;font-weight:800}.myps-price-range>strong{display:block;font-size:clamp(28px,5vw,46px);line-height:1.25;margin:8px 0;color:#7a2e0e}.myps-price-range em{font-style:normal;font-size:.65em;margin:0 8px}.myps-price-range p{margin:6px auto 0;max-width:760px;color:#7a2e0e}.myps-market-detail{margin:16px 0}.myps-market-detail summary{cursor:pointer;font-weight:800}.myps-sale-request{margin-top:18px;padding-top:18px;border-top:1px solid #e4e7ec}.myps-sale-status{margin-top:14px;background:#f8fafc;border-radius:10px;padding:12px}.myps-existing-vehicle{font-weight:700}.myps-sale-new-vehicle{padding:14px;border:1px solid #e4e7ec;border-radius:12px;margin:12px 0}
@media(max-width:760px){.myps-price-range>strong{font-size:28px}.myps-price-range em{display:block;margin:2px 0}}

/* v0.3.2 予約日カレンダー */
.myps-date-wrap{position:relative;display:flex;align-items:center;gap:8px}
.myps-date-wrap .myps-date-picker{flex:1;min-width:0;padding-right:52px}
.myps-date-open{width:46px;height:46px;border:1px solid #d7dce2;border-radius:12px;background:#fff;font-size:22px;line-height:1;cursor:pointer;flex:0 0 46px}
.myps-date-open:active{transform:scale(.97)}
/* v0.10.39 初度登録年月 / 車検満了日の表示・カレンダーを統一 */
.myps-date-unified .myps-date-native{position:absolute!important;left:12px;bottom:8px;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;padding:0!important;margin:0!important;border:0!important;opacity:0!important;pointer-events:none!important}
.myps-date-unified .myps-date-display{flex:1;min-width:0;cursor:pointer;background:#fff!important;color:#18202a;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.myps-date-unified .myps-date-display::placeholder{color:#475467;opacity:1}

.myps-form label small{display:block;margin-top:6px;color:#6b7280;font-size:12px;font-weight:500}
.myps-auth-gate{max-width:760px}.myps-auth-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.myps-auth-actions .myps-btn{min-width:180px}.myps-secondary{background:#fff;color:#111827!important;border:1px solid #cfd4dc}.myps-um-auth{max-width:620px;margin:24px auto}.myps-um-auth>h2{text-align:center;margin-bottom:8px}.myps-um-auth>p{text-align:center;color:#667085;margin-bottom:24px}@media(max-width:600px){.myps-auth-actions{display:grid;grid-template-columns:1fr}.myps-auth-actions .myps-btn{width:100%;min-width:0}}


/* v0.4.3 継続車検専用確認 */
.myps-continuation-confirm{display:flex!important;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid #ffd3d6;border-radius:8px;background:#fff5f6;font-weight:700;color:#222}.myps-continuation-confirm input{width:20px!important;height:20px!important;min-height:0!important;margin-top:1px!important;flex:0 0 20px}.myps-continuation-confirm+.myps-help{display:block;margin:6px 0 16px;color:#555}

/* ========================================================================
   v0.5.1 [mypit_shaken_customer] Professional Customer Dashboard
   ======================================================================== */
.myps-customer-dashboard{
    --myps-red:#ed1c24;
    --myps-red-dark:#c9141c;
    --myps-ink:#111827;
    --myps-text:#27313d;
    --myps-muted:#667085;
    --myps-line:#e7e9ee;
    --myps-soft:#f7f8fa;
    --myps-success:#12834a;
    max-width:1320px;
    padding:24px 14px 64px;
    color:var(--myps-text);
    font-family:inherit!important;
}
.myps-customer-dashboard *{font-family:inherit!important}
.myps-customer-dashboard a,.myps-customer-dashboard button,.myps-customer-dashboard input,.myps-customer-dashboard select,.myps-customer-dashboard textarea{font-family:inherit!important}
.myps-customer-dashboard .myps-notice{max-width:100%;border-radius:14px;box-shadow:0 6px 20px rgba(17,24,39,.05)}

/* Hero */
.myps-customer-hero{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    min-height:300px;
    margin:0 0 18px;
    padding:38px 42px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    background:linear-gradient(135deg,#111318 0%,#191c23 62%,#6d0b12 100%);
    box-shadow:0 18px 45px rgba(17,24,39,.16);
    color:#fff;
}
.myps-customer-hero:before{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    right:-130px;
    top:-170px;
    border-radius:50%;
    background:rgba(237,28,36,.16);
}
.myps-customer-hero:after{
    content:"";
    position:absolute;
    width:240px;
    height:240px;
    right:40px;
    bottom:-180px;
    border-radius:50%;
    border:45px solid rgba(255,255,255,.035);
}
.myps-customer-hero-copy{position:relative;z-index:2;max-width:880px}
.myps-customer-hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:17px}
.myps-customer-dashboard .myps-pill{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:850;line-height:1.2;letter-spacing:.02em}
.myps-customer-dashboard .myps-pill-dark{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);color:#fff}
.myps-customer-dashboard .myps-pill-free{background:var(--myps-red);color:#fff;box-shadow:0 5px 14px rgba(237,28,36,.30)}
.myps-customer-kicker{display:block;margin-bottom:7px;color:#f5b5b8;font-size:13px;font-weight:850;letter-spacing:.055em}
.myps-customer-hero h1{margin:0 0 13px!important;color:#fff!important;font-size:clamp(34px,4.2vw,56px)!important;line-height:1.08!important;font-weight:900!important;letter-spacing:-.025em}
.myps-customer-hero h1 small{font-size:.48em;color:#fff;font-weight:700}
.myps-customer-hero p{max-width:840px;margin:0!important;color:rgba(255,255,255,.88)!important;font-size:15px!important;line-height:1.9!important;font-weight:500}
.myps-customer-hero-price{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:18px;padding:11px 14px;width:max-content;max-width:100%;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.07)}
.myps-customer-hero-price span{color:#fff;font-size:13px;font-weight:700}
.myps-customer-hero-price del{opacity:.78}
.myps-customer-hero-price strong{color:#fff!important;font-size:16px;font-weight:900}
.myps-customer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:21px}
.myps-customer-dashboard .myps-btn{min-height:48px;padding:12px 19px;border-radius:11px;font-size:14px;font-weight:850;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.myps-customer-dashboard .myps-btn:hover{transform:translateY(-1px)}
.myps-customer-dashboard .myps-primary{background:var(--myps-red);color:#fff!important;box-shadow:0 9px 22px rgba(237,28,36,.24)}
.myps-customer-dashboard .myps-primary:hover{background:var(--myps-red-dark);box-shadow:0 11px 25px rgba(237,28,36,.28)}
.myps-customer-dashboard .myps-ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.20);color:#fff!important;box-shadow:none}
.myps-customer-dashboard .myps-ghost:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.32)}
.myps-customer-dashboard .myps-btn:focus-visible,.myps-customer-dashboard input:focus-visible,.myps-customer-dashboard select:focus-visible,.myps-customer-dashboard textarea:focus-visible,.myps-customer-dashboard summary:focus-visible{outline:3px solid rgba(237,28,36,.25);outline-offset:2px}
.myps-customer-hero-mark{position:relative;z-index:2;flex:0 0 180px;width:180px;height:180px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.055);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 12px rgba(255,255,255,.025)}
.myps-customer-hero-mark span{display:block;color:#fff;font-size:68px;line-height:.92;font-weight:900;letter-spacing:-.06em}
.myps-customer-hero-mark small{margin-top:8px;color:#fff;font-size:14px;font-weight:900;letter-spacing:.22em}

/* Summary */
.myps-customer-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 20px}
.myps-summary-card{position:relative;min-height:116px;padding:19px 20px;border:1px solid var(--myps-line);border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(17,24,39,.055)}
.myps-summary-card:before{content:"";position:absolute;left:0;top:19px;width:3px;height:38px;border-radius:0 4px 4px 0;background:#d6dae0}
.myps-summary-card>span{display:block;margin-bottom:8px;color:var(--myps-muted);font-size:12px;font-weight:800;letter-spacing:.025em}
.myps-summary-card>strong{display:block;overflow:hidden;color:var(--myps-ink)!important;font-size:24px;line-height:1.25;font-weight:900;white-space:nowrap;text-overflow:ellipsis}
.myps-summary-card>strong em{margin-left:3px;font-size:13px;font-style:normal;font-weight:750;color:var(--myps-muted)}
.myps-summary-card>small{display:block;margin-top:7px;color:#89919c;font-size:11px;line-height:1.5;font-weight:650}
.myps-summary-status:before{background:var(--myps-red)}

/* Main sections */
.myps-customer-dashboard .myps-customer-section{margin:20px 0;padding:28px;border:1px solid var(--myps-line);border-radius:20px;background:#fff;box-shadow:0 9px 30px rgba(17,24,39,.055)}
.myps-customer-section-head{align-items:center;margin-bottom:20px!important;padding-bottom:19px;border-bottom:1px solid #eef0f3}
.myps-customer-section-head>div:first-child{min-width:0}
.myps-customer-section-head h2{margin:2px 0 5px!important;color:var(--myps-ink)!important;font-size:clamp(24px,3vw,32px)!important;line-height:1.25!important;font-weight:900!important;letter-spacing:-.015em}
.myps-customer-section-head p{margin:0!important;color:var(--myps-muted)!important;font-size:14px!important;line-height:1.75!important}
.myps-section-kicker{display:block!important;margin-bottom:2px!important;color:var(--myps-red)!important;font-size:11px!important;font-weight:900!important;letter-spacing:.08em!important}
.myps-section-price{flex:0 0 auto;text-align:right;padding:10px 14px;border-radius:12px;background:#fff5f5;border:1px solid #ffd4d6}
.myps-section-price small{display:block;color:#777!important;font-size:11px;text-decoration:line-through}
.myps-section-price strong{display:block;margin-top:2px;color:var(--myps-red)!important;font-size:18px;font-weight:900}

/* Benefits */
.myps-booking-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.myps-booking-benefits>div{min-height:84px;padding:14px 15px;border:1px solid #e9ebef;border-radius:13px;background:#fafbfc}
.myps-booking-benefits b{display:block;margin-bottom:4px;color:var(--myps-ink);font-size:14px;font-weight:900}
.myps-booking-benefits span{display:block;color:var(--myps-muted);font-size:11px;line-height:1.55;font-weight:650}
.myps-continuation-banner{margin:0 0 18px!important;padding:15px 17px!important;border-radius:13px!important;background:#fffaf0!important;border:1px solid #f3dfa9!important;color:#513b00!important}
.myps-continuation-banner strong{color:#322600!important;font-size:13px}
.myps-continuation-banner p{margin:3px 0 0!important;color:#68520f!important;font-size:12px!important;line-height:1.75!important}

/* Form */
.myps-customer-form{display:grid;gap:13px}
.myps-form-block{padding:19px;border:1px solid #e9ebef;border-radius:15px;background:#fff}
.myps-form-block-confirm{background:#fffafa;border-color:#f2d9db}
.myps-form-block-title{display:flex;align-items:center;gap:11px;margin-bottom:15px}
.myps-form-block-title>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#181b20;color:#fff;font-size:11px;font-weight:900}
.myps-form-block-title strong{display:block;color:var(--myps-ink)!important;font-size:15px;font-weight:900;line-height:1.35}
.myps-form-block-title small{display:block!important;margin-top:2px!important;color:var(--myps-muted)!important;font-size:11px!important;line-height:1.45!important;font-weight:600!important}
.myps-customer-form label{margin-bottom:0;color:#2f3741;font-size:13px;font-weight:800}
.myps-customer-form input,.myps-customer-form select,.myps-customer-form textarea{min-height:50px;margin-top:7px;padding:12px 13px;border:1px solid #d8dce2;border-radius:10px;background:#fff;color:#1e2530;font-size:14px;box-shadow:0 1px 0 rgba(17,24,39,.015);transition:border-color .15s ease,box-shadow .15s ease}
.myps-customer-form textarea{min-height:100px;resize:vertical}
.myps-customer-form input:hover,.myps-customer-form select:hover,.myps-customer-form textarea:hover{border-color:#bec4cd}
.myps-customer-form input:focus,.myps-customer-form select:focus,.myps-customer-form textarea:focus{border-color:#ed7a7f;box-shadow:0 0 0 3px rgba(237,28,36,.08);outline:0}
.myps-customer-form .myps-grid-2{gap:14px}
.myps-customer-form label>small{display:block;margin-top:6px;color:#7c8590;font-size:11px;font-weight:600}
.myps-customer-dashboard .myps-continuation-confirm{display:flex!important;align-items:flex-start;gap:11px;margin:0!important;padding:15px;border:1px solid #f0d3d6;border-radius:11px;background:#fff;color:#232a33}
.myps-customer-dashboard .myps-continuation-confirm input{width:20px!important;height:20px!important;min-height:0!important;margin:1px 0 0!important;accent-color:var(--myps-red)}
.myps-continuation-confirm>span{display:block;min-width:0}
.myps-continuation-confirm b{display:block;color:#20262e;font-size:13px;line-height:1.45}
.myps-continuation-confirm small{display:block!important;margin-top:4px!important;color:#68727e!important;font-size:11px!important;font-weight:600!important;line-height:1.6!important}
.myps-customer-dashboard .myps-date-open{height:50px;flex-basis:50px;border-color:#d8dce2;border-radius:10px;background:#fff;transition:background .15s ease,border-color .15s ease}
.myps-customer-dashboard .myps-date-open:hover{background:#fff6f6;border-color:#efb2b6}
.myps-customer-dashboard .myps-manual-toggle{width:max-content;max-width:100%;margin:11px 0 0!important;padding:8px 11px;border-radius:9px;background:#f7f8fa;color:#48525d;font-size:12px!important}
.myps-customer-dashboard .myps-manual-toggle input{accent-color:var(--myps-red)}
.myps-booking-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:2px;padding:17px 18px;border-radius:14px;background:#171a20;color:#fff}
.myps-booking-footnote{min-width:0}
.myps-booking-footnote strong{display:block;color:#fff!important;font-size:13px;font-weight:900}
.myps-booking-footnote span{display:block;margin-top:3px;color:rgba(255,255,255,.72);font-size:11px;line-height:1.6;font-weight:600}
.myps-booking-submit{flex:0 0 auto;min-width:245px}

/* Customer cases */
.myps-customer-empty{padding:38px 20px!important;border:1px dashed #cfd4dc!important;border-radius:15px!important;background:#fafbfc!important;text-align:center}
.myps-empty-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:#f0f2f5;color:#8b949f;font-size:20px;font-weight:900}
.myps-customer-empty h3{margin:0 0 6px!important;color:var(--myps-ink)!important;font-size:19px!important;font-weight:900!important}
.myps-customer-empty p{max-width:560px;margin:0 auto 16px!important;color:var(--myps-muted)!important;font-size:13px!important}
.myps-customer-case{margin:14px 0!important;padding:22px!important;border:1px solid #e5e8ed!important;border-radius:17px!important;background:#fff!important;box-shadow:0 5px 19px rgba(17,24,39,.035)}
.myps-customer-case+.myps-customer-case{margin-top:16px!important}
.myps-customer-case-top{padding-bottom:15px;border-bottom:1px solid #eef0f3}
.myps-case-main{min-width:0}
.myps-case-id{display:block;margin-bottom:4px;color:#89919b;font-size:10px;font-weight:800;letter-spacing:.05em}
.myps-case-main h3{margin:0 0 7px!important;color:var(--myps-ink)!important;font-size:20px!important;line-height:1.35!important;font-weight:900!important}
.myps-case-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.myps-case-meta span{color:var(--myps-muted);font-size:11px;font-weight:700}
.myps-case-meta strong{color:#303946!important;font-size:12px;font-weight:850}
.myps-customer-dashboard .myps-status{padding:7px 11px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:900;line-height:1.2}
.myps-status-neutral{background:#f2f4f7;color:#59636e;border-color:#e4e7ec!important}
.myps-status-progress{background:#eef4ff;color:#2959b8;border-color:#d7e4ff!important}
.myps-status-quote{background:#fff7e8;color:#8a6200;border-color:#f5e0ac!important}
.myps-status-success{background:#ecfdf3;color:#087a43;border-color:#c8eed7!important}
.myps-status-cancelled{background:#fff1f2;color:#b42318;border-color:#ffd5d8!important}

/* Progress */
.myps-customer-dashboard .myps-steps{position:relative;z-index:1;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin:20px 0 18px;padding:0 4px}
.myps-customer-dashboard .myps-step{font-size:10px;color:#929ba7;line-height:1.25}
.myps-customer-dashboard .myps-step i{width:30px;height:30px;border:2px solid #d8dde4;background:#fff;color:#7f8994;font-size:11px}
.myps-customer-dashboard .myps-step:after{top:14px;background:#e4e8ed}
.myps-customer-dashboard .myps-step.done,.myps-customer-dashboard .myps-step.current{color:#2d3640}
.myps-customer-dashboard .myps-step.done i{border-color:var(--myps-ink);background:var(--myps-ink);color:#fff}
.myps-customer-dashboard .myps-step.current i{border-color:var(--myps-red);background:#fff5f5;color:var(--myps-red)}
.myps-customer-dashboard .myps-step.done:after{background:#303640}

/* Vehicle summary */
.myps-customer-dashboard .myps-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 15px}
.myps-customer-dashboard .myps-mini-grid>div{padding:13px 14px;border:1px solid #eceef1;border-radius:11px;background:#fafbfc}
.myps-customer-dashboard .myps-mini-grid span{margin-bottom:4px;color:#7e8792;font-size:10px;font-weight:750}
.myps-customer-dashboard .myps-mini-grid strong{display:block;color:#232a33!important;font-size:14px;font-weight:900}

/* Legal fees */
.myps-customer-dashboard .myps-legal{margin:15px 0;padding:17px;border:1px solid #e3e7ec;border-radius:13px;background:#f8fafc}
.myps-customer-dashboard .myps-legal h3{margin:0 0 12px!important;color:#222a34!important;font-size:14px!important;font-weight:900!important}
.myps-customer-dashboard .myps-legal>div{gap:7px}
.myps-customer-dashboard .myps-legal>div span{padding:8px 10px;border:1px solid #eceff2;border-radius:8px;background:#fff;color:#606a75;font-size:11px}
.myps-customer-dashboard .myps-legal>div span b{margin-left:3px;color:#222a34}
.myps-customer-dashboard .myps-legal>div>strong{color:#111827!important;font-size:18px}
.myps-customer-dashboard .myps-legal>small{display:block;margin-top:9px;color:#7c8590;font-size:10px;line-height:1.6}

/* Diagnosis */
.myps-customer-dashboard .myps-diagnosis{margin-top:18px}
.myps-customer-dashboard .myps-diagnosis>h3{margin:0 0 10px!important;color:#1e2630!important;font-size:16px!important;font-weight:900!important}
.myps-customer-dashboard .myps-diag-row{border-left-width:4px;padding:13px 14px;border-radius:10px}
.myps-customer-dashboard .myps-diag-row b{font-size:10px;letter-spacing:.05em}
.myps-customer-dashboard .myps-diag-row strong{font-size:13px}
.myps-customer-dashboard .myps-diag-row p{color:#59636f!important;font-size:12px!important;line-height:1.65!important}

/* Quote list */
.myps-customer-dashboard .myps-quotes{margin-top:20px;padding-top:18px;border-top:1px solid #edf0f3}
.myps-customer-dashboard .myps-quote-title{align-items:center;margin:0 0 10px}
.myps-customer-dashboard .myps-quote-title h3{color:#151b23!important;font-size:18px!important;font-weight:900!important}
.myps-customer-dashboard .myps-quote-title h3 span{background:var(--myps-red);font-size:10px}
.myps-customer-dashboard .myps-quote-title small{font-size:10px}
.myps-customer-dashboard .myps-quote-card{margin:10px 0;padding:18px;border:1px solid #e4e7ec;border-radius:14px;background:#fff;box-shadow:0 5px 17px rgba(17,24,39,.03)}
.myps-customer-dashboard .myps-quote-card.selected{border:2px solid #23a466;background:#fbfffc}
.myps-customer-dashboard .myps-quote-head h4{margin:3px 0!important;color:#1c232c!important;font-size:17px!important;font-weight:900!important}
.myps-customer-dashboard .myps-quote-head>div:first-child>span,.myps-customer-dashboard .myps-quote-head small,.myps-customer-dashboard .myps-quote-head>div:last-child>span{color:#7a8490;font-size:10px;font-weight:700}
.myps-customer-dashboard .myps-quote-head>div:last-child>strong{color:var(--myps-red)!important;font-size:28px;font-weight:900}
.myps-customer-dashboard .myps-quote-badges b{padding:5px 9px;background:#f3f5f7;color:#45505c;font-size:10px}
.myps-customer-dashboard .myps-quote-card details{margin-top:12px;border-top:1px solid #eef0f3;padding-top:11px}
.myps-customer-dashboard .myps-quote-card details>summary{cursor:pointer;color:#394350;font-size:12px;font-weight:850}
.myps-customer-dashboard .myps-breakdown p{font-size:12px!important;line-height:1.55!important}
.myps-customer-dashboard .myps-breakdown .total{margin-top:6px!important;padding-top:12px!important;font-size:15px!important;font-weight:900}
.myps-customer-dashboard .myps-selected{border:1px solid #c7ead5;border-radius:9px;background:#effbf4;color:#087942}

/* Secondary/alerts inside customer view */
.myps-customer-dashboard .myps-warning,.myps-customer-dashboard .myps-info-banner{border-radius:12px;font-size:12px;line-height:1.7}
.myps-customer-dashboard .myps-secondary{background:#f1f3f5;color:#27313d!important;border:1px solid #e0e4e8}

@media(max-width:1040px){
    .myps-customer-hero{padding:32px 30px}
    .myps-customer-hero-mark{flex-basis:145px;width:145px;height:145px}
    .myps-customer-hero-mark span{font-size:55px}
    .myps-customer-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .myps-booking-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
    .myps-customer-dashboard{max-width:100%;padding:12px 10px 42px}
    .myps-customer-hero{display:block;min-height:0;padding:25px 19px;border-radius:18px}
    .myps-customer-hero-mark{display:none}
    .myps-customer-hero h1{font-size:34px!important}
    .myps-customer-hero p{font-size:13px!important;line-height:1.8!important}
    .myps-customer-hero-price{width:100%;gap:5px 9px;padding:10px 11px}
    .myps-customer-hero-price span{font-size:11px}
    .myps-customer-hero-price strong{font-size:14px}
    .myps-customer-actions{display:grid;grid-template-columns:1fr;margin-top:17px}
    .myps-customer-actions .myps-btn{width:100%}
    .myps-customer-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
    .myps-summary-card{min-height:101px;padding:15px 14px}
    .myps-summary-card:before{top:16px;height:31px}
    .myps-summary-card>strong{font-size:18px}
    .myps-summary-card>span{font-size:10px}
    .myps-summary-card>small{font-size:9px}
    .myps-customer-dashboard .myps-customer-section{margin:14px 0;padding:18px 14px;border-radius:16px}
    .myps-customer-section-head{display:block!important;padding-bottom:14px;margin-bottom:14px!important}
    .myps-customer-section-head h2{font-size:23px!important}
    .myps-section-price{width:max-content;margin-top:10px;text-align:left}
    .myps-booking-benefits{grid-template-columns:1fr 1fr;gap:8px}
    .myps-booking-benefits>div{min-height:78px;padding:12px}
    .myps-form-block{padding:15px 13px}
    .myps-form-block-title{margin-bottom:12px}
    .myps-customer-form .myps-grid-2{grid-template-columns:1fr}
    .myps-booking-footer{display:block;padding:15px}
    .myps-booking-submit{width:100%;min-width:0;margin-top:13px}
    .myps-customer-case{padding:16px 13px!important}
    .myps-customer-case-top{align-items:flex-start!important}
    .myps-case-main h3{font-size:17px!important}
    .myps-customer-dashboard .myps-steps{grid-template-columns:repeat(8,70px);overflow-x:auto;padding:2px 2px 10px;scrollbar-width:thin}
    .myps-customer-dashboard .myps-mini-grid{grid-template-columns:1fr 1fr}
    .myps-customer-dashboard .myps-mini-grid>div:last-child{grid-column:1/-1}
    .myps-customer-dashboard .myps-legal>div{grid-template-columns:1fr!important}
    .myps-customer-dashboard .myps-legal>div>strong{grid-column:auto!important}
    .myps-customer-dashboard .myps-quote-head{display:block}
    .myps-customer-dashboard .myps-quote-head>div:last-child{margin-top:11px;text-align:left}
    .myps-customer-dashboard .myps-quote-head>div:last-child>strong{font-size:25px}
}

@media(max-width:420px){
    .myps-customer-summary{grid-template-columns:1fr}
    .myps-booking-benefits{grid-template-columns:1fr}
}
.myps-customer-dashboard .myps-booking-section,.myps-customer-dashboard .myps-cases-section{scroll-margin-top:110px}


/* ========================================================================
   v0.5.2 /mypit-sell-car/ Professional Sell Dashboard
   [mypit_sell_car] を顧客ダッシュボードと同じデザインへ統一
   ======================================================================== */
.myps-sell-dashboard{max-width:1320px!important}
.myps-sell-customer-hero{min-height:300px}
.myps-sell-hero-mark span{font-size:70px!important;letter-spacing:-.03em!important}
.myps-sell-hero-mark small{letter-spacing:.18em!important}
.myps-market-connection{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff!important;font-size:11px;font-weight:850;line-height:1.2}
.myps-market-connection i{display:block;width:7px;height:7px;border-radius:50%;background:#f4b740;box-shadow:0 0 0 3px rgba(244,183,64,.12)}
.myps-market-connection.is-connected{background:rgba(18,131,74,.20);border-color:rgba(120,230,169,.25)}
.myps-market-connection.is-connected i{background:#43d17b;box-shadow:0 0 0 3px rgba(67,209,123,.13)}
.myps-market-connection.is-checking{color:rgba(255,255,255,.88)!important}
.myps-sell-summary .myps-summary-card>strong{font-size:21px}
.myps-market-mini-status{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 11px;border:1px solid #dce9df;border-radius:999px;background:#f3fbf5;color:#157347;font-size:11px;font-weight:850;white-space:nowrap}
.myps-market-mini-status i{width:7px;height:7px;border-radius:50%;background:#24a15a;box-shadow:0 0 0 3px rgba(36,161,90,.10)}
.myps-sell-dashboard .myps-sell-estimate-section{padding:28px}
.myps-sell-dashboard .myps-sale-new-vehicle{margin:13px 0 0;padding:15px;border:1px solid #e9ebef;border-radius:12px;background:#fafbfc}
.myps-sell-dashboard .myps-sale-new-vehicle .myps-catalog-fields>.myps-grid-2{grid-template-columns:repeat(3,minmax(0,1fr))}
.myps-sell-dashboard .myps-existing-vehicle{font-weight:650}
.myps-sell-dashboard .myps-sell-submit-footer{margin-top:1px}
.myps-sell-dashboard .myps-price-range{margin:0 0 18px;padding:28px 20px;border:1px solid #ffd4d6;border-radius:17px;background:linear-gradient(135deg,#fff8f8 0%,#fff 100%);text-align:center;box-shadow:0 8px 24px rgba(17,24,39,.035)}
.myps-sell-dashboard .myps-price-range>span{color:#6d1a20;font-size:12px;font-weight:850;letter-spacing:.04em}
.myps-sell-dashboard .myps-price-range>strong{color:#b5121b!important;font-size:clamp(31px,5vw,48px);font-weight:900;letter-spacing:-.025em}
.myps-sell-dashboard .myps-price-range p{color:#6f5558!important;font-size:12px!important;line-height:1.75!important}
.myps-sell-dashboard .myps-market-detail{margin:17px 0;padding:0;border:1px solid #e8ebef;border-radius:12px;background:#fafbfc;overflow:hidden}
.myps-sell-dashboard .myps-market-detail summary{padding:13px 15px;cursor:pointer;color:#313b47;font-size:13px;font-weight:850;list-style-position:inside}
.myps-sell-dashboard .myps-market-detail .myps-breakdown{padding:0 15px 12px;background:#fff;border-top:1px solid #edf0f2}
.myps-sell-dashboard .myps-sale-request{margin-top:19px;padding:18px;border:1px solid #e8ebef;border-radius:14px;background:#fafbfc}
.myps-sell-dashboard .myps-sale-request label{font-size:13px;font-weight:800}.myps-sale-request-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:12px}.myps-sale-request-actions .myps-btn{min-width:220px}
.myps-sell-dashboard .myps-sale-status{margin-top:14px;padding:12px 14px;border:1px solid #e4e8ed;border-radius:11px;background:#f8fafc;color:#4d5864;font-size:13px}
.myps-sell-dashboard .myps-offer{border-radius:14px}
@media(max-width:1024px){
  .myps-sell-dashboard .myps-sale-new-vehicle .myps-catalog-fields>.myps-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .myps-sell-dashboard .myps-sale-new-vehicle .myps-catalog-fields>.myps-grid-2{grid-template-columns:1fr}
  .myps-market-mini-status{display:none}
  .myps-sell-summary .myps-summary-card>strong{font-size:19px}
  .myps-market-connection{font-size:10px;min-height:27px;padding:4px 9px}
}

/* =========================================================
   v0.5.8 車を売る: 年式1年単位・外装/内装状態
   ========================================================= */
.myps-sell-dashboard .myps-required{display:inline-flex;align-items:center;margin-left:6px;padding:2px 6px;border-radius:999px;background:#fff1f2;color:#d71921!important;font-size:9px;font-style:normal;font-weight:900;vertical-align:middle}
.myps-sell-dashboard .myps-condition-block{background:linear-gradient(180deg,#fff 0%,#fffafa 100%);border-color:#f0d9db}
.myps-sell-dashboard .myps-condition-block select{background-color:#fff}
.myps-sell-dashboard .myps-condition-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px;padding:11px 13px;border:1px solid #e8ebef;border-radius:10px;background:#f8fafc;color:#5c6672;font-size:12px;line-height:1.65}
.myps-sell-dashboard .myps-condition-note strong{color:#252c35!important;font-size:12px}
.myps-sell-dashboard .myps-sell-result-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px}
.myps-sell-dashboard .myps-market-scope{margin:0 0 15px;padding:10px 12px;border:1px solid #eceff2;border-radius:10px;background:#fafbfc;color:#667085!important;font-size:12px!important;line-height:1.7!important}
.myps-sell-dashboard .myps-market-scope strong{color:#313843!important}
@media(max-width:760px){
  .myps-sell-dashboard .myps-sell-result-grid{grid-template-columns:1fr 1fr}
  .myps-sell-dashboard .myps-sell-result-grid>div:last-child{grid-column:auto}
  .myps-sell-dashboard .myps-condition-note{display:block}
  .myps-sell-dashboard .myps-condition-note strong,.myps-sell-dashboard .myps-condition-note span{display:block}
  .myps-sell-dashboard .myps-condition-note span{margin-top:3px}
}

.myps-sale-request-cta>p strong,.myps-sale-request-cta>p span{display:block}.myps-sale-request-cta>p strong{font-size:16px;color:#111827}.myps-sale-request-cta>p span{font-size:13px;color:#667085;margin-top:3px}.myps-sale-request-flow{scroll-margin-top:90px}.myps-request-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.myps-request-steps>div{display:flex;align-items:center;gap:9px;padding:12px 14px;background:#f7f8fa;border:1px solid #e5e7eb;border-radius:12px;color:#667085;font-size:13px;font-weight:800}.myps-request-steps b{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:#e5e7eb}.myps-request-steps .is-active{background:#fff5f5;border-color:#fecdd3;color:#b42318}.myps-request-steps .is-active b{background:#ed1c24;color:#fff}.myps-sale-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.myps-sale-photo-input{margin:0!important;cursor:pointer;position:relative}.myps-sale-photo-label{display:block;margin-bottom:7px;color:#344054;font-size:13px;font-weight:850}.myps-sale-photo-preview{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;border:1.5px dashed #cfd4dc;border-radius:14px;background:#fafbfc;overflow:hidden}.myps-sale-photo-preview i{font-style:normal;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#111827;color:#fff;font-size:23px}.myps-sale-photo-preview small{margin-top:8px}.myps-sale-photo-preview img{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.myps-sale-photo-preview.has-image img{display:block}.myps-sale-photo-preview.has-image:after{content:'変更';position:absolute;right:8px;bottom:8px;padding:5px 9px;border-radius:999px;background:rgba(17,24,39,.85);color:#fff;font-size:11px;font-weight:800}.myps-sale-photo-input input[type=file]{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.myps-choice-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 15px}.myps-choice-cards label{margin:0!important}.myps-choice-cards input{position:absolute;opacity:0;pointer-events:none}.myps-choice-cards span{display:block;min-height:78px;padding:15px 16px;border:1.5px solid #d0d5dd;border-radius:13px;background:#fff;cursor:pointer}.myps-choice-cards b,.myps-choice-cards small{display:block}.myps-choice-cards small{margin-top:4px}.myps-choice-cards input:checked+span{border-color:#ed1c24;background:#fff6f6;box-shadow:0 0 0 3px rgba(237,28,36,.08)}.myps-inspection-expiry,.myps-contact-phone{max-width:560px}.myps-inspection-expiry[hidden],.myps-contact-phone[hidden],.myps-request-confirm[hidden],.myps-request-entry[hidden]{display:none!important}.myps-request-confirm{scroll-margin-top:90px;padding:20px;border:1px solid #e4e7ec;border-radius:16px;background:#fbfcfd}.myps-confirm-head span{display:block;color:#ed1c24;font-size:12px;font-weight:900}.myps-confirm-head h3{margin:5px 0!important}.myps-confirm-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.myps-confirm-photo-grid>div{overflow:hidden;border:1px solid #e4e7ec;border-radius:12px;background:#fff}.myps-confirm-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.myps-confirm-photo-grid span{display:block;padding:8px 10px;font-size:12px;font-weight:800}.myps-confirm-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.myps-confirm-summary>div{padding:14px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}.myps-confirm-summary span,.myps-confirm-summary strong{display:block}.myps-confirm-summary span{color:#667085;font-size:12px;margin-bottom:5px}.myps-confirm-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}@media(max-width:760px){.myps-request-steps{grid-template-columns:1fr}.myps-sale-photo-grid,.myps-confirm-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.myps-choice-cards,.myps-confirm-summary{grid-template-columns:1fr}.myps-confirm-actions{display:grid;grid-template-columns:1fr}.myps-confirm-actions .myps-btn{width:100%}}


.myps-sale-photo-sample{display:block;border:1px solid #e4e7ec;background:#fcfcfd;border-radius:14px;padding:10px;margin-bottom:10px}.myps-sale-photo-sample b{display:inline-block;font-size:12px;line-height:1;padding:4px 8px;border-radius:999px;background:#101828;color:#fff;margin-bottom:8px}.myps-sale-photo-sample img{display:block;width:100%;height:132px;object-fit:cover;border-radius:10px;border:1px solid #e4e7ec;margin-bottom:6px}.myps-sale-photo-sample small{display:block;color:#475467;font-size:12px;line-height:1.6}.myps-sale-photo-input .myps-sale-photo-preview{margin-top:0}

.myps-sale-sample-zoom{position:relative;display:block;cursor:zoom-in;border-radius:10px;overflow:hidden}.myps-sale-sample-zoom img{margin-bottom:0!important}.myps-sample-zoom-note{position:absolute;right:7px;bottom:7px;padding:4px 7px;border-radius:999px;background:rgba(17,24,39,.86);color:#fff;font-size:11px;font-weight:800;line-height:1}.myps-sale-photo-sample>small{margin-top:7px}.myps-sample-lightbox[hidden]{display:none!important}.myps-sample-lightbox{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.82)}.myps-sample-lightbox>div{width:min(920px,96vw);max-height:88vh;background:#fff;border-radius:16px;padding:14px;overflow:auto}.myps-sample-lightbox-title{display:block;font-size:15px;margin:0 0 10px}.myps-sample-lightbox img{display:block;max-width:100%;max-height:76vh;width:auto;height:auto;margin:0 auto;border-radius:10px}.myps-sample-lightbox-close{position:fixed;top:18px;right:18px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#111827;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.25)}html.myps-lightbox-open{overflow:hidden}.myps-sell-result{margin-top:18px}

/* Customer booking cancellation: available only while the case is in STEP 1 (pending/reserved). */
.myps-booking-cancel-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 4px;padding:13px 14px;border:1px solid #e4e7ec;border-radius:12px;background:#fafafa}
.myps-booking-cancel-row>div{min-width:0}.myps-booking-cancel-row strong{display:block;margin-bottom:2px;font-size:13px;color:#344054}.myps-booking-cancel-row small{display:block;font-size:11px;line-height:1.55}.myps-booking-cancel-row form{margin:0;flex:0 0 auto}.myps-cancel-booking-btn{min-height:40px;padding:8px 14px;font-size:12px;white-space:nowrap}
@media(max-width:600px){.myps-booking-cancel-row{display:block}.myps-booking-cancel-row form{margin-top:10px}.myps-cancel-booking-btn{width:100%}}

/* v0.6.6 予約内容確認・予約完了モーダル */
html.myps-booking-modal-open,html.myps-booking-modal-open body{overflow:hidden}
.myps-booking-modal[hidden]{display:none!important}
.myps-booking-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
/* 予約完了は JS に依存しない。通常は非表示、予約完了URLの :target で必ず開く。 */
.myps-booking-success-modal{display:none!important}
.myps-booking-success-modal.is-open,.myps-booking-success-modal:target{display:flex!important}
/* hidden は :target より強くして、JSで閉じた直後もオーバーレイが残らないようにする。 */
.myps-booking-modal.myps-booking-success-modal[hidden]{display:none!important}
.myps-booking-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(2px)}
.myps-booking-modal-window{position:relative;z-index:1;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:26px;border:1px solid #e4e7ec;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.28)}
.myps-booking-modal-head{margin-bottom:18px}
.myps-booking-modal-head h3{margin:2px 0 8px!important;color:#171c24!important;font-size:24px!important;font-weight:900!important}
.myps-booking-modal-head p{margin:0!important;color:#667085!important;font-size:13px!important;line-height:1.75!important}
.myps-booking-review-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.myps-booking-review-list>div{padding:14px 15px;border:1px solid #e8ebef;border-radius:12px;background:#fafbfc}
.myps-booking-review-list>div.myps-booking-review-note{grid-column:1/-1}
.myps-booking-review-list span{display:block;margin-bottom:4px;color:#7a8490;font-size:11px;font-weight:800}
.myps-booking-review-list strong{display:block;color:#222a34!important;font-size:15px;font-weight:900;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.myps-booking-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:17px;border-top:1px solid #eceff2}
.myps-booking-modal-actions .myps-btn{min-width:132px}
.myps-booking-confirm-submit[disabled]{opacity:.65;cursor:wait}
.myps-booking-success-window{text-align:center;width:min(560px,100%)}
.myps-booking-success-icon{display:flex;align-items:center;justify-content:center;width:62px;height:62px;margin:0 auto 14px;border-radius:50%;background:#ecfdf3;color:#079455;font-size:30px;font-weight:900}
.myps-booking-success-window .myps-section-kicker{text-align:center!important}
.myps-booking-success-actions{justify-content:center}
@media(max-width:600px){
  .myps-booking-modal{padding:12px}
  .myps-booking-modal-window{max-height:calc(100vh - 24px);padding:20px 16px;border-radius:16px}
  .myps-booking-modal-head h3{font-size:21px!important}
  .myps-booking-review-list{grid-template-columns:1fr}
  .myps-booking-review-list>div.myps-booking-review-note{grid-column:auto}
  .myps-booking-modal-actions{display:grid;grid-template-columns:1fr}
  .myps-booking-modal-actions .myps-btn{width:100%;min-width:0}
}

.myps-booking-review-error{margin:0 0 14px;padding:11px 13px;border:1px solid #fecdca;border-radius:10px;background:#fff6f6;color:#b42318;font-size:12px;font-weight:800;line-height:1.65}
.myps-booking-review-error[hidden]{display:none!important}
.myps-booking-confirm-form{margin:0}
.myps-booking-error-detail{margin-top:10px}
.myps-booking-error-detail code{display:block;margin-top:8px;padding:10px;border-radius:8px;background:rgba(255,255,255,.75);white-space:pre-wrap;overflow-wrap:anywhere}


/* v0.7.2: テーマ側がcheckboxを非表示にしても、対象車両確認を必ず視認できるようにする */
.myps-customer-dashboard .myps-continuation-confirm{
  position:relative!important;
  cursor:pointer!important;
  user-select:none;
}
.myps-customer-dashboard .myps-continuation-confirm input[type="checkbox"]{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
}
.myps-customer-dashboard .myps-continuation-confirm>span{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:26px!important;
  padding-left:38px!important;
}
.myps-customer-dashboard .myps-continuation-confirm>span:before{
  content:"";
  position:absolute;
  left:0;
  top:1px;
  width:24px;
  height:24px;
  box-sizing:border-box;
  border:2px solid #98a2b3;
  border-radius:6px;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,24,40,.06);
}
.myps-customer-dashboard .myps-continuation-confirm>span:after{
  content:"✓";
  position:absolute;
  left:5px;
  top:-1px;
  font-size:20px;
  line-height:24px;
  font-weight:900;
  color:#fff;
  opacity:0;
  transform:scale(.8);
  transition:opacity .12s ease,transform .12s ease;
}
.myps-customer-dashboard .myps-continuation-confirm input[type="checkbox"]:checked+span:before{
  border-color:#ed1c24;
  background:#ed1c24;
}
.myps-customer-dashboard .myps-continuation-confirm input[type="checkbox"]:checked+span:after{
  opacity:1;
  transform:scale(1);
}
.myps-customer-dashboard .myps-continuation-confirm input[type="checkbox"]:focus-visible+span:before{
  outline:3px solid rgba(237,28,36,.22);
  outline-offset:2px;
}
.myps-customer-dashboard .myps-continuation-confirm:has(input[type="checkbox"]:checked){
  border-color:#f3a7ab!important;
  background:#fff8f8!important;
  box-shadow:0 0 0 2px rgba(237,28,36,.05);
}

/* v0.7.7 予約キャンセル確認・完了ポップアップ */
.myps-booking-cancel-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0 auto 10px;border-radius:50%;background:#fff1f1;color:#d92d20;font-size:22px;font-weight:900}
.myps-booking-cancel-window .myps-booking-modal-head,.myps-booking-cancel-success-window .myps-booking-modal-head{text-align:center}
.myps-booking-cancel-window .myps-booking-modal-head p,.myps-booking-cancel-success-window .myps-booking-modal-head p{max-width:470px;margin-left:auto!important;margin-right:auto!important}
.myps-booking-modal-actions .myps-danger{background:#d92d20;color:#fff!important;box-shadow:0 8px 18px rgba(217,45,32,.18)}
.myps-booking-modal-actions .myps-danger:hover{background:#b42318}
.myps-booking-cancel-modal .myps-booking-modal-backdrop{border:0;padding:0;cursor:default}
.myps-booking-cancel-success-modal{display:none!important}
.myps-booking-cancel-success-modal.is-open,.myps-booking-cancel-success-modal:target{display:flex!important}
.myps-booking-modal.myps-booking-cancel-success-modal[hidden]{display:none!important}
.myps-booking-cancel-modal{display:none!important}
.myps-booking-cancel-modal:target,.myps-booking-cancel-modal.is-open{display:flex!important}

/* v0.7.8 キャンセル確認・完了ポップアップのボタンを中央揃え */
.myps-booking-cancel-window .myps-booking-modal-actions,
.myps-booking-cancel-success-window .myps-booking-modal-actions{
  justify-content:center;
}

/* ========================================================================
   v0.7.9 [mypit_shaken_staff] Customer-dashboard matched staff console
   ======================================================================== */
.myps-staff-dashboard{
    --myps-red:#ed1c24;
    --myps-red-dark:#c9141c;
    --myps-ink:#111827;
    --myps-text:#27313d;
    --myps-muted:#667085;
    --myps-line:#e7e9ee;
    --myps-soft:#f7f8fa;
    max-width:1320px;
    padding:24px 14px 64px;
    color:var(--myps-text);
    font-family:inherit!important;
}
.myps-staff-dashboard *{font-family:inherit!important}
.myps-staff-dashboard a,.myps-staff-dashboard button,.myps-staff-dashboard input,.myps-staff-dashboard select,.myps-staff-dashboard textarea{font-family:inherit!important}
.myps-staff-dashboard .myps-notice{max-width:100%;border-radius:14px;box-shadow:0 6px 20px rgba(17,24,39,.05)}

/* Staff hero - same visual language as customer page */
.myps-staff-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:280px;margin:0 0 18px;padding:38px 42px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:linear-gradient(135deg,#111318 0%,#191c23 62%,#6d0b12 100%);box-shadow:0 18px 45px rgba(17,24,39,.16);color:#fff}
.myps-staff-hero:before{content:"";position:absolute;width:360px;height:360px;right:-130px;top:-170px;border-radius:50%;background:rgba(237,28,36,.16)}
.myps-staff-hero:after{content:"";position:absolute;width:240px;height:240px;right:40px;bottom:-180px;border-radius:50%;border:45px solid rgba(255,255,255,.035)}
.myps-staff-hero-copy{position:relative;z-index:2;max-width:880px}
.myps-staff-hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:17px}
.myps-staff-dashboard .myps-pill{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:850;line-height:1.2;letter-spacing:.02em}
.myps-staff-dashboard .myps-pill-dark{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);color:#fff}
.myps-staff-dashboard .myps-pill-free{background:var(--myps-red);color:#fff;box-shadow:0 5px 14px rgba(237,28,36,.30)}
.myps-staff-kicker{display:block;margin-bottom:7px;color:#f5b5b8;font-size:13px;font-weight:850;letter-spacing:.055em}
.myps-staff-hero h1{margin:0 0 13px!important;color:#fff!important;font-size:clamp(34px,4.2vw,54px)!important;line-height:1.08!important;font-weight:900!important;letter-spacing:-.025em}
.myps-staff-hero p{max-width:820px;margin:0!important;color:rgba(255,255,255,.88)!important;font-size:15px!important;line-height:1.9!important;font-weight:500}
.myps-staff-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:21px}
.myps-staff-hero-mark{position:relative;z-index:2;flex:0 0 180px;width:180px;height:180px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.055);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 12px rgba(255,255,255,.025)}
.myps-staff-hero-mark span{display:block;color:#fff;font-size:68px;line-height:.92;font-weight:900;letter-spacing:-.06em}
.myps-staff-hero-mark small{margin-top:8px;color:#fff;font-size:14px;font-weight:900;letter-spacing:.22em}

/* Buttons */
.myps-staff-dashboard .myps-btn{min-height:48px;padding:12px 19px;border-radius:11px;font-size:14px;font-weight:850;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.myps-staff-dashboard .myps-btn:hover{transform:translateY(-1px)}
.myps-staff-dashboard .myps-primary{background:var(--myps-red);color:#fff!important;box-shadow:0 9px 22px rgba(237,28,36,.24)}
.myps-staff-dashboard .myps-primary:hover{background:var(--myps-red-dark);box-shadow:0 11px 25px rgba(237,28,36,.28)}
.myps-staff-dashboard .myps-secondary{background:#f1f3f5;color:#27313d!important;border:1px solid #e0e4e8}
.myps-staff-dashboard .myps-btn:focus-visible,.myps-staff-dashboard input:focus-visible,.myps-staff-dashboard select:focus-visible,.myps-staff-dashboard textarea:focus-visible{outline:3px solid rgba(237,28,36,.25);outline-offset:2px}

/* Summary */
.myps-staff-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 20px}
.myps-staff-summary-card{position:relative;min-height:116px;padding:19px 20px;border:1px solid var(--myps-line);border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(17,24,39,.055)}
.myps-staff-summary-card:before{content:"";position:absolute;left:0;top:19px;width:3px;height:38px;border-radius:0 4px 4px 0;background:#d6dae0}
.myps-staff-summary-card>span{display:block;margin-bottom:8px;color:var(--myps-muted);font-size:12px;font-weight:800;letter-spacing:.025em}
.myps-staff-summary-card>strong{display:block;color:var(--myps-ink)!important;font-size:27px;line-height:1.2;font-weight:900}
.myps-staff-summary-card>strong em{margin-left:3px;font-size:13px;font-style:normal;font-weight:750;color:var(--myps-muted)}
.myps-staff-summary-card>small{display:block;margin-top:7px;color:#89919c;font-size:11px;line-height:1.5;font-weight:650}
.myps-staff-summary-alert:before{background:#f59e0b}
.myps-staff-summary-active:before{background:var(--myps-red)}

/* Staff sections */
.myps-staff-dashboard .myps-section{margin:20px 0;padding:28px;border:1px solid var(--myps-line);border-radius:20px;background:#fff;box-shadow:0 9px 30px rgba(17,24,39,.055)}
.myps-staff-dashboard .myps-section-head{align-items:center;margin-bottom:20px!important;padding-bottom:19px;border-bottom:1px solid #eef0f3}
.myps-staff-dashboard .myps-section-head>div:first-child{min-width:0}
.myps-staff-dashboard .myps-section-head h2,.myps-staff-dashboard .myps-section>h2{margin:2px 0 5px!important;color:var(--myps-ink)!important;font-size:clamp(24px,3vw,32px)!important;line-height:1.25!important;font-weight:900!important;letter-spacing:-.015em}
.myps-staff-dashboard .myps-section-head p{margin:0!important;color:var(--myps-muted)!important;font-size:14px!important;line-height:1.75!important}
.myps-staff-dashboard .myps-section-head span,.myps-staff-dashboard .myps-section-kicker{display:block!important;margin-bottom:2px!important;color:var(--myps-red)!important;font-size:11px!important;font-weight:900!important;letter-spacing:.08em!important}
.myps-staff-date-badge{flex:0 0 auto;min-width:82px;padding:10px 14px;border:1px solid #ffd4d6;border-radius:12px;background:#fff5f5;text-align:center}
.myps-staff-date-badge small{display:block;color:#777!important;font-size:10px;font-weight:800}
.myps-staff-date-badge strong{display:block;margin-top:1px;color:var(--myps-red)!important;font-size:19px;font-weight:900}

/* Reservation cards */
.myps-staff-booking-list{display:grid;gap:11px}
.myps-staff-booking-card{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 17px;border:1px solid #e5e8ed;border-radius:15px;background:#fff;color:inherit!important;text-decoration:none!important;box-shadow:0 4px 15px rgba(17,24,39,.025);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
a.myps-staff-booking-card:hover{transform:translateY(-1px);border-color:#efb2b6;box-shadow:0 8px 22px rgba(17,24,39,.06)}
.myps-staff-booking-card.is-pending{background:#fbfbfc}
.myps-staff-booking-date{padding:9px 11px;border-right:1px solid #eceff2;text-align:center}
.myps-staff-booking-date strong{display:inline;color:var(--myps-ink)!important;font-size:18px;font-weight:900}
.myps-staff-booking-date span{margin-left:4px;color:#9098a3;font-size:10px;font-weight:800;text-transform:uppercase}
.myps-staff-booking-date b{display:block;margin-top:3px;color:var(--myps-red);font-size:13px;font-weight:900}
.myps-staff-booking-main{min-width:0}
.myps-staff-booking-id{display:block;margin-bottom:3px;color:#929aa5;font-size:10px;font-weight:800;letter-spacing:.05em}
.myps-staff-booking-main h3{margin:0 0 4px!important;color:var(--myps-ink)!important;font-size:18px!important;font-weight:900!important;line-height:1.35!important}
.myps-staff-booking-main h3 small{font-size:.7em;color:#5f6874!important;font-weight:700}
.myps-staff-booking-main p{margin:0!important;color:#68727e!important;font-size:12px!important;line-height:1.55!important;font-weight:700}
.myps-staff-booking-side{display:flex;align-items:flex-end;flex-direction:column;gap:8px;min-width:125px}
.myps-staff-status{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid transparent;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}
.myps-staff-status-pending{background:#fff7e8;color:#8a6200;border-color:#f5e0ac}
.myps-staff-status-reserved{background:#fff1f2;color:#b42318;border-color:#ffd5d8}
.myps-staff-status-active{background:#eef4ff;color:#2959b8;border-color:#d7e4ff}
.myps-staff-status-complete{background:#ecfdf3;color:#087a43;border-color:#c8eed7}
.myps-staff-status-default{background:#f2f4f7;color:#59636e;border-color:#e4e7ec}
.myps-staff-booking-go,.myps-staff-booking-wait{font-size:12px;font-weight:900;color:#303946}
.myps-staff-booking-go i{margin-left:4px;color:var(--myps-red);font-size:17px;font-style:normal;vertical-align:-1px}
.myps-staff-booking-wait{color:#929aa5}
.myps-staff-empty{margin:0!important}

/* Intake / diagnosis / review details */
.myps-staff-dashboard .myps-back{display:inline-flex;align-items:center;min-height:38px;margin-bottom:18px;padding:8px 12px;border:1px solid #e4e7ec;border-radius:10px;background:#f8f9fb;color:#394350!important;font-size:12px;font-weight:850;text-decoration:none!important}
.myps-staff-dashboard .myps-back:hover{border-color:#efb2b6;background:#fff6f6;color:var(--myps-red)!important}
.myps-staff-dashboard .myps-info-banner,.myps-staff-dashboard .myps-warning{margin:13px 0;padding:14px 16px;border-radius:12px;font-size:12px;line-height:1.7}
.myps-staff-dashboard .myps-info-banner{background:#fffaf0;border-color:#f3dfa9;color:#513b00}
.myps-staff-dashboard .myps-info-banner strong{color:#322600;font-size:13px}
.myps-staff-dashboard .myps-info-banner p{color:#68520f!important;font-size:12px!important}
.myps-staff-dashboard .myps-form label{margin-bottom:0;color:#2f3741;font-size:13px;font-weight:800}
.myps-staff-dashboard .myps-form input,.myps-staff-dashboard .myps-form select,.myps-staff-dashboard .myps-form textarea{min-height:50px;margin-top:7px;padding:12px 13px;border:1px solid #d8dce2;border-radius:10px;background:#fff;color:#1e2530;font-size:14px;box-shadow:0 1px 0 rgba(17,24,39,.015);transition:border-color .15s ease,box-shadow .15s ease}
.myps-staff-dashboard .myps-form textarea{min-height:88px;resize:vertical}
.myps-staff-dashboard .myps-form input:hover,.myps-staff-dashboard .myps-form select:hover,.myps-staff-dashboard .myps-form textarea:hover{border-color:#bec4cd}
.myps-staff-dashboard .myps-form input:focus,.myps-staff-dashboard .myps-form select:focus,.myps-staff-dashboard .myps-form textarea:focus{border-color:#ed7a7f;box-shadow:0 0 0 3px rgba(237,28,36,.08);outline:0}
.myps-staff-dashboard .myps-grid-2{gap:14px;margin:12px 0}
.myps-staff-dashboard .myps-check-group{margin:15px 0;padding:19px;border:1px solid #e9ebef;border-radius:15px;background:#fff}
.myps-staff-dashboard .myps-check-group>h3{margin:0 0 13px!important;color:var(--myps-ink)!important;font-size:16px!important;font-weight:900!important}
.myps-staff-dashboard .myps-check{padding:16px 0;border-top:1px solid #eef0f3}
.myps-staff-dashboard .myps-check-title strong{color:#222a34!important;font-size:14px;font-weight:900}
.myps-staff-dashboard .myps-radio{gap:7px}
.myps-staff-dashboard .myps-radio span{padding:8px 11px;border:1px solid #e5e8ed;border-radius:9px;background:#f7f8fa;color:#4c5662;font-size:12px;font-weight:800}
.myps-staff-dashboard .myps-radio input:checked+span{border-color:var(--myps-red);background:#fff1f2;color:#b42318;box-shadow:inset 0 0 0 1px rgba(237,28,36,.08)}
.myps-staff-dashboard .myps-file{margin:7px 0 0!important;padding:11px 13px;border:1px dashed #cfd4dc;border-radius:10px;background:#f8fafc;color:#3e4854;font-size:12px;font-weight:850}
.myps-staff-dashboard .myps-service-grid label{border:1px solid #e9ebef;border-radius:10px;background:#fafbfc}
.myps-staff-dashboard .myps-result-cards{gap:10px;margin:17px 0}
.myps-staff-dashboard .myps-result-cards>div{padding:16px;border:1px solid #e9ebef;border-radius:13px;background:#fafbfc;text-align:center}
.myps-staff-dashboard .myps-result-cards b{display:block;color:var(--myps-ink);font-size:30px;font-weight:900}
.myps-staff-dashboard .myps-result-cards span{margin-top:3px;font-size:11px;font-weight:800}
.myps-staff-dashboard .myps-legal{border-radius:13px}
.myps-staff-dashboard .myps-diag-row{border-radius:11px}
.myps-staff-dashboard .myps-manual-toggle{width:max-content;max-width:100%;margin:11px 0!important;padding:8px 11px;border-radius:9px;background:#f7f8fa;color:#48525d;font-size:12px!important}
.myps-staff-dashboard .myps-manual-toggle input{accent-color:var(--myps-red)}

@media(max-width:1040px){
    .myps-staff-hero{padding:32px 30px}
    .myps-staff-hero-mark{flex-basis:145px;width:145px;height:145px}
    .myps-staff-hero-mark span{font-size:55px}
    .myps-staff-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
    .myps-staff-dashboard{max-width:100%;padding:12px 10px 42px}
    .myps-staff-hero{display:block;min-height:0;padding:25px 19px;border-radius:18px}
    .myps-staff-hero-mark{display:none}
    .myps-staff-hero h1{font-size:34px!important}
    .myps-staff-hero p{font-size:13px!important;line-height:1.8!important}
    .myps-staff-actions{display:grid;grid-template-columns:1fr;margin-top:17px}
    .myps-staff-actions .myps-btn{width:100%}
    .myps-staff-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
    .myps-staff-summary-card{min-height:101px;padding:15px 14px}
    .myps-staff-summary-card>strong{font-size:23px}
    .myps-staff-dashboard .myps-section{margin:14px 0;padding:18px 14px;border-radius:16px}
    .myps-staff-dashboard .myps-section-head{display:block;padding-bottom:15px}
    .myps-staff-date-badge{display:none}
    .myps-staff-booking-card{grid-template-columns:72px minmax(0,1fr);gap:11px;padding:14px 12px}
    .myps-staff-booking-date{padding:7px 9px}
    .myps-staff-booking-date strong{font-size:16px}
    .myps-staff-booking-side{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid #eef0f3;min-width:0}
    .myps-staff-booking-main h3{font-size:16px!important}
    .myps-staff-dashboard .myps-grid-2,.myps-staff-dashboard .myps-service-grid{grid-template-columns:1fr}
    .myps-staff-dashboard .myps-check-detail{grid-template-columns:1fr}
    .myps-staff-dashboard .myps-result-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v0.8.0 スタッフ予約キャンセル */
.myps-staff-booking-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.myps-staff-booking-go{display:inline-flex;align-items:center;color:#303946!important;text-decoration:none!important}
.myps-staff-booking-go:hover{color:var(--myps-red)!important}
.myps-staff-booking-cancel{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:5px 9px;border:1px solid #f5b8bc;border-radius:8px;background:#fff7f7;color:#c9141c!important;font-size:10px;font-weight:900;text-decoration:none!important;white-space:nowrap}
.myps-staff-booking-cancel:hover{border-color:#ed7a7f;background:#fff0f0;color:#a90f16!important}
.myps-staff-booking-cancel-modal .myps-booking-modal-actions{justify-content:center}
@media(max-width:700px){
  .myps-staff-booking-actions{flex-direction:row;align-items:center;gap:8px}
  .myps-staff-booking-cancel{min-height:34px}
}

/* v0.8.1 スタッフキャンセル完了ポップアップ */
.myps-staff-cancel-success-modal .myps-booking-modal-actions{justify-content:center}
.myps-staff-cancel-success-modal .myps-booking-success-icon{margin-left:auto;margin-right:auto}


/* v0.9.0 加盟店ネットワーク */
.myps-franchise-hero,.myps-shops-hero{display:flex;justify-content:space-between;gap:24px;padding:34px;border-radius:22px;background:linear-gradient(135deg,#17191f,#282c35);color:#fff;margin-bottom:22px;overflow:hidden}
.myps-franchise-hero h1,.myps-shops-hero h1{color:#fff;margin:5px 0 10px;font-size:clamp(26px,4vw,42px)}
.myps-franchise-hero p,.myps-shops-hero p{color:#d7dce4;max-width:760px}
.myps-franchise-code{min-width:180px;padding:18px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.08);display:flex;flex-direction:column;justify-content:center}
.myps-franchise-code span,.myps-franchise-code small{color:#c8ced8}.myps-franchise-code strong{font-size:24px;margin:5px 0}
.myps-franchise-staff-list{display:grid;gap:10px;margin-top:18px}
.myps-franchise-staff-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}
.myps-franchise-staff-card>div{display:flex;flex-direction:column;gap:4px}.myps-franchise-staff-card>div:last-child{align-items:flex-end}
.myps-franchise-staff-card .is-active{color:#087a45}.myps-franchise-staff-card .is-paused{color:#b42318}
.myps-franchise-current-image img{max-width:360px;height:auto;border-radius:14px;margin:10px 0}
.myps-shop-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.myps-nearby-status{font-size:13px;color:#667085}
.myps-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.myps-shop-card{border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.06);display:flex;flex-direction:column}
.myps-shop-card-image{aspect-ratio:16/9;background:#f2f4f7;overflow:hidden}.myps-shop-card-image img{width:100%;height:100%;object-fit:cover}
.myps-shop-placeholder{width:100%;height:100%;min-height:160px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1b1d23,#30343d);color:#fff;font-size:28px;font-weight:900;letter-spacing:.15em}
.myps-shop-card-body{padding:17px;display:flex;flex-direction:column;gap:8px;flex:1}.myps-shop-card-body h3{margin:0;font-size:20px}.myps-shop-address{margin:0;color:#667085;font-size:13px}
.myps-shop-badges{display:flex;gap:7px;flex-wrap:wrap}.myps-shop-badge{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.myps-shop-badge.is-diagnosis{background:#fff0f1;color:#c9141c}.myps-shop-badge.is-quote{background:#eef5ff;color:#175cd3}
.myps-shop-rating{display:flex;gap:8px;align-items:center}.myps-shop-rating span{color:#f5a524;letter-spacing:1px}.myps-shop-rating b{font-size:12px;color:#475467}
.myps-shop-distance{font-weight:800;color:#c9141c;font-size:13px}.myps-shop-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.myps-shop-profile-hero{display:grid;grid-template-columns:minmax(280px,42%) 1fr;gap:28px;padding:24px;border-radius:22px;background:#fff;border:1px solid #e5e7eb;margin-bottom:22px}
.myps-shop-profile-photo{border-radius:16px;overflow:hidden;background:#f2f4f7;min-height:280px}.myps-shop-profile-photo img{width:100%;height:100%;object-fit:cover}
.myps-shop-profile-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.myps-shop-profile-copy h1{font-size:clamp(28px,4vw,44px);margin:6px 0 12px}
.myps-shop-info-grid dl{display:grid;grid-template-columns:100px 1fr;gap:8px 12px}.myps-shop-info-grid dt{font-weight:800;color:#667085}.myps-shop-info-grid dd{margin:0}
.myps-shop-map iframe{width:100%;min-height:360px;border:0;border-radius:16px}
.myps-review-list{display:grid;gap:12px}.myps-review-card{padding:16px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.myps-review-card>div{display:flex;justify-content:space-between;gap:10px}.myps-review-card strong{color:#f5a524}.myps-review-card p{margin:10px 0;color:#344054}
.myps-customer-review-box{margin-top:18px;padding:18px;border:1px solid #f3c2c5;border-radius:16px;background:#fffafa}.myps-customer-review-box h4{margin:4px 0 6px;font-size:19px}
.myps-rating-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px;margin:10px 0}.myps-rating-input input{position:absolute;opacity:0}.myps-rating-input span{font-size:30px;color:#d0d5dd;cursor:pointer}.myps-rating-input label:hover span,.myps-rating-input label:hover~label span,.myps-rating-input input:checked~span,.myps-rating-input label:has(input:checked) span,.myps-rating-input label:has(input:checked)~label span{color:#f5a524}
.myps-booking-shop-actions{margin-top:10px}
@media(max-width:900px){.myps-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.myps-shop-profile-hero{grid-template-columns:1fr}.myps-franchise-hero{flex-direction:column}.myps-franchise-code{min-width:0}}
@media(max-width:620px){.myps-shop-grid{grid-template-columns:1fr}.myps-shop-profile-hero{padding:14px}.myps-shop-profile-photo{min-height:220px}.myps-franchise-staff-card{align-items:flex-start;flex-direction:column}.myps-franchise-staff-card>div:last-child{align-items:flex-start}.myps-shop-info-grid dl{grid-template-columns:82px 1fr}}


/* v0.9.1 加盟店別の診断予約枠 */
.myps-franchise-booking-settings{margin:22px 0;padding:20px;border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc}
.myps-franchise-booking-settings .myps-section-head{margin-bottom:14px}.myps-franchise-booking-settings .myps-section-head h3{margin:3px 0 5px;font-size:20px}
.myps-franchise-weekdays{margin-bottom:14px}.myps-franchise-weekdays>strong{display:block;margin-bottom:8px}.myps-franchise-weekdays>div{display:flex;gap:7px;flex-wrap:wrap}
.myps-franchise-weekdays label{position:relative}.myps-franchise-weekdays input{position:absolute;opacity:0;pointer-events:none}.myps-franchise-weekdays span{display:flex;align-items:center;justify-content:center;width:42px;height:38px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;font-weight:800;cursor:pointer}
.myps-franchise-weekdays input:checked+span{border-color:#d61f28;background:#fff0f1;color:#c9141c;box-shadow:inset 0 0 0 1px #d61f28}
.myps-franchise-schedule-preview{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #eaecf0}.myps-franchise-schedule-preview span{font-size:11px;color:#667085;font-weight:800}.myps-franchise-schedule-preview strong{font-size:14px;color:#101828}
.myps-shop-booking-hours{margin:0;padding:8px 10px;border-radius:9px;background:#f8fafc;color:#344054;font-size:12px;font-weight:700}

.myps-staff-confirm-form{margin:0}.myps-staff-booking-confirm{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 10px;border:0;border-radius:8px;background:#c9141c;color:#fff;font-size:10px;font-weight:900;cursor:pointer}.myps-staff-booking-confirm:hover{background:#a90f16}


/* v0.9.2 加盟店プロフィール */
.myps-map-register{margin:18px 0;padding:18px;border:1px solid #e4e7ec;border-radius:16px;background:#f9fafb}.myps-map-register h3{margin:0 0 6px}.myps-map-register>p{margin:0 0 14px;color:#667085}.myps-map-register-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.myps-password-form{max-width:820px}


/* v0.9.3 加盟店専用ダッシュボード */
.myps-franchise-dashboard{max-width:1180px;margin:0 auto}
.myps-franchise-dashboard-hero{display:grid;grid-template-columns:1fr 210px;gap:28px;align-items:stretch;padding:34px;border-radius:24px;background:linear-gradient(135deg,#16181e 0%,#292d36 70%,#3a1115 100%);color:#fff;margin-bottom:18px;box-shadow:0 16px 42px rgba(16,24,40,.16)}
.myps-franchise-dashboard-hero h1{margin:5px 0 9px;color:#fff;font-size:clamp(28px,4vw,44px);line-height:1.12}
.myps-franchise-dashboard-hero p{max-width:720px;margin:0;color:#d9dde5}
.myps-franchise-dashboard-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.myps-franchise-dashboard-badges span,.myps-franchise-dashboard-badges b{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:11px;line-height:1;font-weight:900}
.myps-franchise-dashboard-badges span{background:#fff;color:#20242b}.myps-franchise-dashboard-badges b{background:#d71920;color:#fff}
.myps-franchise-dashboard-status{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}
.myps-franchise-dashboard-status span{padding:6px 9px;border-radius:8px;font-size:11px;font-weight:800;border:1px solid rgba(255,255,255,.15)}
.myps-franchise-dashboard-status .is-on{background:rgba(25,170,102,.16);color:#aaf0cc}.myps-franchise-dashboard-status .is-off{background:rgba(255,255,255,.08);color:#cfd4dc}
.myps-franchise-dashboard-rating{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:22px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.08)}
.myps-franchise-dashboard-rating small{color:#cbd0d8;font-weight:800}.myps-franchise-dashboard-rating strong{font-size:48px;line-height:1;margin:9px 0 6px;color:#fff}.myps-franchise-dashboard-rating span{font-size:11px;color:#d6dae2}
.myps-franchise-dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.myps-franchise-dashboard-stat{display:flex;flex-direction:column;gap:4px;padding:17px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;color:#1d2939!important;text-decoration:none!important;box-shadow:0 5px 18px rgba(16,24,40,.04)}
.myps-franchise-dashboard-stat:hover{border-color:#d71920;transform:translateY(-1px)}
.myps-franchise-dashboard-stat>span{font-size:12px;font-weight:800;color:#667085}.myps-franchise-dashboard-stat strong{font-size:30px;line-height:1.1}.myps-franchise-dashboard-stat strong em{font-size:12px;font-style:normal;margin-left:3px}.myps-franchise-dashboard-stat small{color:#98a2b3}
.myps-franchise-dashboard-stat.is-alert{border-color:#f3c4c6;background:#fff9f9}.myps-franchise-dashboard-stat.is-alert strong{color:#c9141c}
.myps-franchise-dashboard-stat.is-active{border-color:#bfdbfe;background:#f8fbff}.myps-franchise-dashboard-stat.is-active strong{color:#175cd3}
.myps-franchise-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.myps-franchise-menu-card{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;min-height:145px;padding:18px;border:1px solid #e5e7eb;border-radius:17px;background:#fff;color:#1d2939!important;text-decoration:none!important;box-shadow:0 6px 20px rgba(16,24,40,.04)}
.myps-franchise-menu-card:hover{border-color:#d71920;box-shadow:0 10px 28px rgba(16,24,40,.08);transform:translateY(-2px)}
.myps-franchise-menu-card.is-primary{border-color:#efb7ba;background:linear-gradient(180deg,#fff,#fff8f8)}
.myps-franchise-menu-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;background:#f2f4f7;font-size:22px}
.myps-franchise-menu-card h3{margin:0 0 5px;font-size:17px}.myps-franchise-menu-card p{margin:0;color:#667085;font-size:12px;line-height:1.55}.myps-franchise-menu-card>b{color:#d71920;font-size:12px;white-space:nowrap}
.myps-franchise-upcoming-list{display:grid;gap:8px}.myps-franchise-upcoming-row{display:grid;grid-template-columns:78px 1fr auto 20px;gap:12px;align-items:center;padding:12px 14px;border:1px solid #e5e7eb;border-radius:13px;background:#fff;color:#1d2939!important;text-decoration:none!important}
.myps-franchise-upcoming-row:hover{border-color:#d71920}.myps-franchise-upcoming-date{display:flex;flex-direction:column}.myps-franchise-upcoming-date strong{font-size:18px}.myps-franchise-upcoming-date span{font-size:12px;color:#667085}.myps-franchise-upcoming-main{display:flex;flex-direction:column;gap:3px}.myps-franchise-upcoming-main span{font-size:12px;color:#667085}
.myps-franchise-upcoming-status{padding:5px 8px;border-radius:999px;background:#f2f4f7;font-size:11px;font-weight:800;color:#475467}.myps-franchise-dashboard-footer{text-align:right;padding:4px 2px 24px}.myps-franchise-dashboard-footer a{color:#667085;font-size:12px}
@media(max-width:900px){.myps-franchise-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.myps-franchise-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.myps-franchise-dashboard-hero{grid-template-columns:1fr;padding:22px}.myps-franchise-dashboard-rating{align-items:flex-start;text-align:left}.myps-franchise-dashboard-summary{grid-template-columns:1fr 1fr}.myps-franchise-menu-grid{grid-template-columns:1fr}.myps-franchise-upcoming-row{grid-template-columns:64px 1fr auto}.myps-franchise-upcoming-row>b{display:none}}
@media(max-width:430px){.myps-franchise-dashboard-summary{grid-template-columns:1fr}}


/* v0.9.5 既存ユーザーを加盟店スタッフへ安全に紐付け */
.myps-existing-staff-modal{display:none!important}
.myps-existing-staff-modal:target{display:flex!important}
.myps-existing-staff-window{width:min(590px,100%)}
.myps-existing-staff-window .myps-booking-modal-head{text-align:center}
.myps-existing-staff-window .myps-booking-modal-head p{max-width:480px;margin-left:auto!important;margin-right:auto!important}
.myps-existing-staff-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:#ecfdf3;color:#079455;font-size:25px;font-weight:900}
.myps-existing-staff-user{display:flex;flex-direction:column;gap:4px;padding:15px 16px;margin:16px 0;border:1px solid #e4e7ec;border-radius:13px;background:#f9fafb}
.myps-existing-staff-user span{font-size:11px;font-weight:800;color:#667085}.myps-existing-staff-user strong{font-size:18px;color:#101828}.myps-existing-staff-user small{color:#667085}
.myps-existing-staff-notes{padding:14px 16px;margin-bottom:16px;border:1px solid #d1e9ff;border-radius:13px;background:#f5fbff;color:#344054}
.myps-existing-staff-notes b{display:block;margin-bottom:7px}.myps-existing-staff-notes ul{margin:0;padding-left:19px}.myps-existing-staff-notes li{margin:4px 0;font-size:12px;line-height:1.55}
.myps-existing-staff-window .myps-booking-modal-actions{justify-content:center}
.myps-existing-account-guide{margin-bottom:16px}
@media(max-width:600px){.myps-existing-staff-window .myps-booking-modal-actions{display:grid;grid-template-columns:1fr}}

.myps-existing-staff-icon.is-warning{background:#fff4e5;color:#b54708}


/* v0.10.1 加盟店管理ヘッダー ログアウト */
.myps-franchise-hero .myps-logout-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 15px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:#fff!important;
  font-weight:800;
  text-decoration:none!important;
}
.myps-franchise-hero .myps-logout-btn:hover{
  background:#fff;
  border-color:#fff;
  color:#17191f!important;
}


/* v0.10.2 加盟店ダッシュボード ログアウト */
.myps-franchise-dashboard-hero-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
}
.myps-franchise-dashboard-hero .myps-dashboard-logout-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 16px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:#fff!important;
  font-weight:900;
  text-decoration:none!important;
}
.myps-franchise-dashboard-hero .myps-dashboard-logout-btn:hover{
  background:#fff;
  border-color:#fff;
  color:#17191f!important;
}


/* v0.10.4 スタッフ専用画面 ログアウト */
.myps-staff-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.myps-staff-actions .myps-staff-logout-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 16px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:#fff!important;
  font-weight:900;
  text-decoration:none!important;
}
.myps-staff-actions .myps-staff-logout-btn:hover{
  background:#fff;
  border-color:#fff;
  color:#17191f!important;
}


/* v0.10.6 加盟店写真 最大5枚・削除・顧客紹介ページギャラリー */
.myps-franchise-gallery-editor{
  margin:20px 0;
  padding:20px;
  border:1px solid #e4e7ec;
  border-radius:16px;
  background:#f8fafc;
}
.myps-franchise-gallery-editor .myps-section-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:14px;
}
.myps-franchise-gallery-editor .myps-section-head h3{
  margin:3px 0 5px;
  font-size:20px;
}
.myps-gallery-count{
  display:flex;
  align-items:baseline;
  gap:3px;
  min-width:72px;
  justify-content:center;
  padding:8px 11px;
  border:1px solid #e4e7ec;
  border-radius:12px;
  background:#fff;
}
.myps-gallery-count strong{font-size:22px;color:#d71920}
.myps-gallery-count span{font-size:11px;color:#667085}
.myps-franchise-gallery-current{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.myps-franchise-gallery-item{
  position:relative;
  overflow:hidden;
  border:1px solid #e4e7ec;
  border-radius:13px;
  background:#fff;
}
.myps-franchise-gallery-image{
  aspect-ratio:4/3;
  overflow:hidden;
  background:#eef1f5;
}
.myps-franchise-gallery-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.myps-gallery-main-badge{
  position:absolute;
  top:7px;
  left:7px;
  padding:4px 7px;
  border-radius:999px;
  background:#d71920;
  color:#fff;
  font-size:9px;
  font-weight:900;
}
.myps-gallery-delete{
  display:flex!important;
  align-items:center;
  gap:7px;
  padding:9px!important;
  margin:0!important;
  cursor:pointer;
}
.myps-gallery-delete input{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  margin:0!important;
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
}
.myps-gallery-delete span{
  color:#b42318;
  font-size:10px;
  font-weight:800;
}
.myps-franchise-gallery-empty{
  padding:18px;
  margin-bottom:12px;
  border:1px dashed #d0d5dd;
  border-radius:12px;
  background:#fff;
  color:#667085;
  text-align:center;
}
.myps-gallery-upload-label{
  display:block!important;
  padding:14px!important;
  border:1px solid #d0d5dd;
  border-radius:12px;
  background:#fff;
}
.myps-gallery-upload-label input[type=file]{
  display:block;
  width:100%;
  margin-top:7px;
}
.myps-gallery-upload-label small{
  display:block;
  margin-top:6px;
  color:#667085;
}
.myps-shop-profile-main-photo{
  width:100%;
  min-height:280px;
  height:100%;
}
.myps-shop-profile-main-photo img{
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
}
.myps-shop-profile-thumbs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  padding:7px;
  background:#fff;
}
.myps-shop-profile-thumbs>div{
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:8px;
  background:#f2f4f7;
}
.myps-shop-profile-thumbs img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.myps-shop-gallery-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.myps-shop-gallery-photo{
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:13px;
  background:#f2f4f7;
  border:1px solid #e4e7ec;
}
.myps-shop-gallery-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .2s ease;
}
.myps-shop-gallery-photo:hover img{transform:scale(1.035)}
@media(max-width:900px){
  .myps-franchise-gallery-current,.myps-shop-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
  .myps-franchise-gallery-current,.myps-shop-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .myps-franchise-gallery-editor .myps-section-head{flex-direction:column}
}


/* v0.10.7 スマホカメラ / 曜日別営業時間 / カレンダー休業日 */
.myps-gallery-camera-add{
  margin-top:14px;
  padding:14px;
  border:1px solid #d0d5dd;
  border-radius:13px;
  background:#fff;
}
.myps-gallery-camera-add>strong{display:block;margin-bottom:4px}
.myps-gallery-camera-add>p{margin:0 0 12px;color:#667085;font-size:12px}
.myps-gallery-camera-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.myps-gallery-camera-slot{
  position:relative;
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin:0!important;
  padding:9px 10px!important;
  border:1px solid #f0b4b8;
  border-radius:10px;
  background:#fff7f7;
  color:#c9141c;
  font-size:11px;
  font-weight:900;
  text-align:center;
  cursor:pointer;
  overflow:hidden;
}
.myps-gallery-camera-slot input{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  cursor:pointer;
}
.myps-business-hours-editor{
  margin:20px 0;
  padding:20px;
  border:1px solid #e4e7ec;
  border-radius:16px;
  background:#f8fafc;
}
.myps-business-hours-editor .myps-section-head{margin-bottom:12px}
.myps-business-hours-editor .myps-section-head h3{margin:3px 0 5px;font-size:20px}
.myps-business-hours-table{display:grid;gap:8px;margin-bottom:14px}
.myps-business-hours-row{
  display:grid;
  grid-template-columns:90px 1fr 1fr 1fr;
  gap:10px;
  align-items:end;
  padding:10px 12px;
  border:1px solid #e4e7ec;
  border-radius:12px;
  background:#fff;
}
.myps-business-hours-row>strong{align-self:center;font-size:13px}
.myps-business-hours-row label{margin:0!important}
.myps-business-hours-row label span{display:block;margin-bottom:4px;font-size:10px;font-weight:800;color:#667085}
.myps-business-hours-row.is-closed{background:#f9fafb}
.myps-business-hours-row.is-closed .myps-business-time{opacity:.45}
.myps-closed-dates-editor{
  margin-top:16px;
  padding:15px;
  border:1px solid #e4e7ec;
  border-radius:13px;
  background:#fff;
}
.myps-closed-dates-editor>strong{display:block;margin-bottom:4px}
.myps-closed-dates-editor>p{margin:0 0 10px;color:#667085;font-size:12px}
.myps-closed-date-add{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.myps-closed-date-add input[type=date]{max-width:220px;margin:0!important}
.myps-closed-date-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.myps-closed-date-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 9px;
  border:1px solid #f0b4b8;
  border-radius:999px;
  background:#fff7f7;
  color:#a90f16;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.myps-closed-date-chip b{font-size:14px;line-height:1}
.myps-closed-date-empty{color:#98a2b3;font-size:11px}
.myps-public-business-hours{display:grid;gap:4px}
.myps-public-business-hours>div{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-bottom:1px solid #f2f4f7}
.myps-public-business-hours>div:last-of-type{border-bottom:0}
.myps-public-business-hours span{color:#667085}
.myps-public-business-hours strong{font-size:12px}
.myps-public-business-hours .is-closed{color:#b42318}
.myps-public-business-hours p{margin:7px 0 0;color:#667085;font-size:11px}
@media(max-width:900px){
  .myps-gallery-camera-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .myps-business-hours-row{grid-template-columns:80px 1fr 1fr 1fr}
}
@media(max-width:650px){
  .myps-gallery-camera-grid{grid-template-columns:1fr 1fr}
  .myps-business-hours-row{grid-template-columns:1fr 1fr}
  .myps-business-hours-row>strong{grid-column:1/-1}
  .myps-business-hours-row label:first-of-type{grid-column:1/-1}
  .myps-closed-date-add{align-items:stretch}
  .myps-closed-date-add input[type=date],.myps-closed-date-add .myps-btn{width:100%;max-width:none}
}


/* v0.10.9 休業日カレンダー：年/月/日を省略せず表示 */
.myps-closed-date-add{
  position:relative;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.myps-closed-date-add .myps-open-closed-calendar{
  min-height:44px;
}
.myps-closed-date-add .myps-closed-date-picker{
  width:220px!important;
  min-width:220px!important;
  max-width:220px!important;
  height:44px!important;
  padding:8px 12px!important;
  margin:0!important;
  cursor:pointer;
  font-size:15px!important;
  line-height:1.2!important;
  box-sizing:border-box!important;
}
@media(max-width:650px){
  .myps-closed-date-add{
    align-items:stretch;
  }
  .myps-closed-date-add .myps-open-closed-calendar{
    width:100%;
  }
  .myps-closed-date-add .myps-closed-date-picker{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}


/* v0.10.10 顧客向け加盟店紹介：店舗情報と地図の間隔 */
.myps-shop-info-grid{
  column-gap:32px!important;
  row-gap:24px!important;
}
.myps-shop-info-grid>div:first-child{
  padding-right:8px;
}
.myps-shop-map{
  margin-left:8px;
}
@media(max-width:900px){
  .myps-shop-info-grid{
    row-gap:28px!important;
  }
  .myps-shop-info-grid>div:first-child{
    padding-right:0;
  }
  .myps-shop-map{
    margin-left:0;
    margin-top:4px;
  }
}


/* v0.10.11 加盟店写真：保存済み/保存前プレビュー */
.myps-gallery-result{
  margin:0 0 14px;
  padding:11px 13px;
  border-radius:11px;
  font-size:12px;
  font-weight:700;
}
.myps-gallery-result.is-success{
  border:1px solid #abefc6;
  background:#ecfdf3;
  color:#067647;
}
.myps-gallery-result.is-error{
  border:1px solid #fecdca;
  background:#fef3f2;
  color:#b42318;
}
.myps-gallery-result ul{margin:6px 0 0 18px;padding:0}
.myps-gallery-pending-wrap{
  margin:14px 0;
  padding:14px;
  border:1px dashed #f0b4b8;
  border-radius:13px;
  background:#fffafa;
}
.myps-gallery-pending-wrap[hidden]{display:none!important}
.myps-gallery-pending-wrap>strong{display:block;margin-bottom:3px}
.myps-gallery-pending-wrap>p{margin:0 0 10px;color:#667085;font-size:11px}
.myps-gallery-pending-preview{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}
.myps-gallery-pending-card{
  overflow:hidden;
  border:1px solid #e4e7ec;
  border-radius:11px;
  background:#fff;
}
.myps-gallery-pending-card img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:#f2f4f7;
}
.myps-gallery-pending-card span{
  display:block;
  padding:6px 7px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9px;
  color:#475467;
}
.myps-gallery-camera-slot.has-file{
  border-color:#12b76a;
  background:#ecfdf3;
  color:#067647;
}
@media(max-width:900px){
  .myps-gallery-pending-preview{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
  .myps-gallery-pending-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v0.10.12 写真追加カード整列修正 */
.myps-franchise-gallery-editor .myps-gallery-camera-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}
.myps-franchise-gallery-editor .myps-gallery-camera-slot{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  width:100%!important;
  min-width:0!important;
  min-height:96px!important;
  height:100%!important;
  margin:0!important;
  padding:12px 8px!important;
  box-sizing:border-box!important;
  border:1px solid #f0b4b8!important;
  border-radius:12px!important;
  background:#fff7f7!important;
  color:#c9141c!important;
  text-align:center!important;
  line-height:1.2!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.myps-franchise-gallery-editor .myps-gallery-camera-slot .myps-gallery-camera-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  margin:0 0 3px!important;
  padding:0!important;
  font-size:20px!important;
  line-height:1!important;
}
.myps-franchise-gallery-editor .myps-gallery-camera-slot .myps-gallery-camera-number{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}
.myps-franchise-gallery-editor .myps-gallery-camera-slot .myps-gallery-camera-text{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  color:#7a271a!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.myps-franchise-gallery-editor .myps-gallery-camera-slot input[type="file"]{
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  opacity:0!important;
  box-sizing:border-box!important;
  cursor:pointer!important;
}
.myps-franchise-gallery-editor .myps-gallery-camera-slot.has-file{
  border-color:#12b76a!important;
  background:#ecfdf3!important;
  color:#067647!important;
}
.myps-franchise-gallery-editor .myps-gallery-camera-slot.has-file .myps-gallery-camera-text{
  color:#067647!important;
}
@media(max-width:900px){
  .myps-franchise-gallery-editor .myps-gallery-camera-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:620px){
  .myps-franchise-gallery-editor .myps-gallery-camera-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .myps-franchise-gallery-editor .myps-gallery-camera-slot{
    min-height:92px!important;
  }
  .myps-franchise-gallery-editor .myps-gallery-camera-slot:nth-child(5){
    grid-column:1 / -1!important;
    width:calc(50% - 5px)!important;
    justify-self:center!important;
  }
}


/* v0.10.13 保存済みを含め写真は最大5枚 */
.myps-franchise-gallery-editor .myps-gallery-camera-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;
  gap:10px!important;
}
.myps-gallery-limit-reached{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:10px;
  padding:14px;
  border:1px solid #d0d5dd;
  border-radius:11px;
  background:#f9fafb;
}
.myps-gallery-limit-reached strong{color:#344054;font-size:13px}
.myps-gallery-limit-reached span{color:#667085;font-size:11px;line-height:1.5}
@media(max-width:620px){
  .myps-franchise-gallery-editor .myps-gallery-camera-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .myps-franchise-gallery-editor .myps-gallery-camera-slot:nth-child(5){
    grid-column:auto!important;
    width:100%!important;
    justify-self:stretch!important;
  }
}


/* v0.10.14 保存済み写真の削除チェックボックスを常時表示 */
.myps-franchise-gallery-item .myps-gallery-delete{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-height:38px!important;
  margin:0!important;
  padding:9px 10px!important;
  box-sizing:border-box!important;
  border-top:1px solid #eef1f4!important;
  background:#fff!important;
  cursor:pointer!important;
}
.myps-franchise-gallery-item .myps-gallery-delete-checkbox{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.myps-franchise-gallery-item .myps-gallery-delete-box{
  position:relative!important;
  display:flex!important;
  flex:0 0 20px!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  border:2px solid #d0d5dd!important;
  border-radius:5px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.myps-franchise-gallery-item .myps-gallery-delete-checkbox:checked + .myps-gallery-delete-box{
  border-color:#d71920!important;
  background:#d71920!important;
}
.myps-franchise-gallery-item .myps-gallery-delete-checkbox:checked + .myps-gallery-delete-box::after{
  content:"✓"!important;
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
}
.myps-franchise-gallery-item .myps-gallery-delete-text{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#b42318!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.3!important;
}
.myps-franchise-gallery-item .myps-gallery-delete:has(.myps-gallery-delete-checkbox:checked){
  background:#fff1f1!important;
}
@supports not selector(:has(*)){
  .myps-franchise-gallery-item .myps-gallery-delete{
    background:#fff!important;
  }
}


/* v0.10.15 顧客向け加盟店紹介ページをよりプロ向けの見た目へ */
.myps-shop-profile{
  max-width:1180px;
  margin:0 auto;
  padding:8px 0 28px;
}
.myps-shop-profile .myps-section{
  margin:0 0 24px;
  padding:24px;
  border:1px solid #e4e7ec;
  border-radius:24px;
  background:#fff;
  box-shadow:0 10px 30px rgba(16,24,40,.06);
}
.myps-shop-profile .myps-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}
.myps-shop-profile .myps-section-head h2{
  margin:4px 0 0;
  color:#101828;
  font-size:28px;
  line-height:1.15;
}
.myps-shop-profile .myps-section-kicker{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#fff1f2;
  color:#c9141c;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
}

.myps-shop-profile-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,420px) minmax(0,1fr);
  gap:28px;
  padding:28px!important;
  overflow:hidden;
  border-radius:30px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:
    radial-gradient(circle at top right, rgba(215,25,32,.18), transparent 30%),
    linear-gradient(135deg,#16181f 0%,#1f2430 55%,#421417 100%)!important;
  box-shadow:0 22px 60px rgba(16,24,40,.22)!important;
}
.myps-shop-profile-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  pointer-events:none;
}
.myps-shop-profile-hero .myps-shop-profile-photo,
.myps-shop-profile-hero .myps-shop-profile-copy{
  position:relative;
  z-index:1;
}
.myps-shop-profile-photo{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.myps-shop-profile-main-photo{
  min-height:310px;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:22px;
  background:#0f1720;
  box-shadow:0 14px 36px rgba(0,0,0,.28);
}
.myps-shop-profile-main-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.myps-shop-profile-thumbs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.myps-shop-profile-thumbs .myps-shop-gallery-photo{
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  min-height:70px;
}
.myps-shop-profile-thumbs .myps-shop-gallery-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease, opacity .35s ease;
}
.myps-shop-profile-thumbs .myps-shop-gallery-photo:hover img{
  transform:scale(1.06);
  opacity:.95;
}

.myps-shop-profile-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.myps-shop-profile-copy h1{
  margin:8px 0 14px;
  color:#fff;
  font-size:clamp(30px,4vw,46px);
  line-height:1.08;
  letter-spacing:-.02em;
}
.myps-shop-profile-copy p,
.myps-shop-profile-copy .myps-shop-address{
  color:#d7dbe3;
}
.myps-shop-profile-copy .myps-shop-address{
  margin:0 0 12px;
  font-size:14px;
  line-height:1.7;
}
.myps-shop-badges{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:0 0 16px;
}
.myps-shop-badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  line-height:1;
  border:1px solid transparent;
}
.myps-shop-badge.is-diagnosis{
  background:#ecfdf3;
  border-color:#abefc6;
  color:#067647;
}
.myps-shop-badge.is-quote{
  background:#eff8ff;
  border-color:#b2ddff;
  color:#175cd3;
}
.myps-shop-rating{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 18px;
  color:#fff;
}
.myps-shop-rating span{
  color:#fdb022;
  letter-spacing:1px;
  font-size:18px;
}
.myps-shop-rating strong{
  font-size:18px;
  color:#fff;
}
.myps-shop-rating b{
  color:#d0d5dd;
  font-size:12px;
  font-weight:800;
}
.myps-shop-profile-copy .myps-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:14px;
  font-weight:900;
  box-shadow:0 8px 24px rgba(0,0,0,.14);
}
.myps-shop-profile-copy .myps-btn.myps-primary{
  background:#ffffff;
  color:#111827;
}
.myps-shop-profile-copy .myps-btn.myps-secondary{
  background:rgba(255,255,255,.10);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}

.myps-shop-gallery-section{
  background:linear-gradient(180deg,#ffffff 0%,#fcfcfd 100%)!important;
}
.myps-shop-gallery-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.myps-shop-gallery-grid .myps-shop-gallery-photo{
  overflow:hidden;
  border-radius:18px;
  border:1px solid #e4e7ec;
  background:#f8fafc;
  aspect-ratio:1.15/1;
  box-shadow:0 6px 18px rgba(16,24,40,.05);
}
.myps-shop-gallery-grid .myps-shop-gallery-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .38s ease;
}
.myps-shop-gallery-grid .myps-shop-gallery-photo:hover img{
  transform:scale(1.07);
}

.myps-shop-info-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
  align-items:start;
  gap:28px!important;
}
.myps-shop-info-grid > div{
  min-width:0;
}
.myps-shop-info-grid > div:first-child{
  padding:22px;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f9fafb 100%);
  border:1px solid #eef1f4;
}
.myps-shop-info-grid dl{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:10px 14px;
  margin:0;
}
.myps-shop-info-grid dt{
  color:#667085;
  font-weight:900;
  font-size:12px;
  letter-spacing:.02em;
}
.myps-shop-info-grid dd{
  margin:0;
  color:#101828;
  font-size:13px;
  font-weight:700;
  line-height:1.7;
  word-break:break-word;
}
.myps-shop-map{
  padding:10px;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f9fafb 100%);
  border:1px solid #eef1f4;
  box-shadow:0 8px 24px rgba(16,24,40,.05);
}
.myps-shop-map iframe{
  display:block;
  width:100%;
  min-height:380px;
  border:0;
  border-radius:18px;
}
.myps-shop-info-grid p{
  margin:14px 0 0;
}
.myps-shop-info-grid p a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#c9141c;
  font-weight:900;
  text-decoration:none;
}
.myps-shop-info-grid p a:hover{
  text-decoration:underline;
}

.myps-review-list{
  display:grid;
  gap:14px;
}
.myps-review-card{
  position:relative;
  padding:18px 18px 16px;
  border:1px solid #eaecf0;
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#fcfcfd 100%);
  box-shadow:0 8px 22px rgba(16,24,40,.04);
}
.myps-review-card::before{
  content:"“";
  position:absolute;
  top:12px;
  right:18px;
  color:#f2f4f7;
  font-size:44px;
  font-weight:900;
  line-height:1;
}
.myps-review-card > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.myps-review-card strong{
  color:#101828;
  font-size:14px;
}
.myps-review-card span{
  color:#f5a524;
  letter-spacing:1px;
}
.myps-review-card small{
  color:#667085;
  font-weight:700;
}
.myps-review-card p{
  margin:0;
  color:#344054;
  font-size:13px;
  line-height:1.8;
}

@media(max-width:980px){
  .myps-shop-profile-hero{
    grid-template-columns:1fr;
    gap:22px;
  }
  .myps-shop-info-grid{
    grid-template-columns:1fr!important;
  }
  .myps-shop-gallery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .myps-shop-profile{
    padding-top:0;
  }
  .myps-shop-profile .myps-section{
    padding:18px;
    border-radius:20px;
  }
  .myps-shop-profile-hero{
    padding:18px!important;
    border-radius:22px!important;
  }
  .myps-shop-profile-main-photo{
    min-height:220px;
  }
  .myps-shop-profile-thumbs{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .myps-shop-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .myps-shop-info-grid dl{
    grid-template-columns:94px minmax(0,1fr);
  }
  .myps-shop-map iframe{
    min-height:280px;
  }
}


/* v0.10.16 加盟店紹介ページをさらに大きく・高級感あるデザインへ */
.myps-shop-profile{
  width:min(1320px, calc(100vw - 44px)) !important;
  max-width:none !important;
  margin:26px auto 46px !important;
  padding:0 !important;
}
.myps-shop-profile .myps-section{
  padding:28px !important;
  margin:0 0 26px !important;
  border:1px solid #e7eaef !important;
  border-radius:28px !important;
  background:#fff !important;
  box-shadow:0 18px 44px rgba(16,24,40,.08) !important;
}
.myps-shop-profile .myps-section-head{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:18px !important;
}
.myps-shop-profile .myps-section-kicker{
  display:inline-flex !important;
  align-items:center !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:#fff1f2 !important;
  color:#c9141c !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.myps-shop-profile .myps-section-head h2{
  margin:6px 0 0 !important;
  color:#101828 !important;
  font-size:34px !important;
  line-height:1.12 !important;
  letter-spacing:-.02em !important;
}

/* hero */
.myps-shop-profile-hero{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0, 520px) minmax(0, 1fr) !important;
  align-items:stretch !important;
  gap:32px !important;
  padding:32px !important;
  overflow:hidden !important;
  border-radius:32px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(215,25,32,.20), transparent 28%),
    radial-gradient(circle at 0% 100%, rgba(255,255,255,.08), transparent 24%),
    linear-gradient(135deg,#12151b 0%,#1b2230 50%,#441519 100%) !important;
  box-shadow:0 26px 64px rgba(16,24,40,.22) !important;
}
.myps-shop-profile-main-photo{
  min-height:390px !important;
  aspect-ratio:auto !important;
  border-radius:26px !important;
  overflow:hidden !important;
  background:#0f1720 !important;
  box-shadow:0 18px 44px rgba(0,0,0,.30) !important;
}
.myps-shop-profile-main-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.myps-shop-profile-photo{
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
}
.myps-shop-profile-thumbs{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:12px !important;
}
.myps-shop-profile-thumbs .myps-shop-gallery-photo{
  min-height:78px !important;
  overflow:hidden !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.10) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.16) !important;
}
.myps-shop-profile-thumbs .myps-shop-gallery-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.myps-shop-profile-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
}
.myps-shop-profile-copy h1{
  margin:8px 0 14px !important;
  color:#fff !important;
  font-size:clamp(36px,4.4vw,56px) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
}
.myps-shop-profile-copy .myps-shop-address{
  margin:0 0 14px !important;
  color:#d6dae2 !important;
  font-size:15px !important;
  line-height:1.8 !important;
}
.myps-shop-badges{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:0 0 18px !important;
}
.myps-shop-badge{
  display:inline-flex !important;
  align-items:center !important;
  min-height:36px !important;
  padding:9px 13px !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.myps-shop-rating{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  margin:0 0 20px !important;
}
.myps-shop-rating span{
  color:#fdb022 !important;
  font-size:20px !important;
  letter-spacing:1px !important;
}
.myps-shop-rating strong{
  color:#fff !important;
  font-size:20px !important;
}
.myps-shop-rating b{
  color:#d0d5dd !important;
  font-size:12px !important;
  font-weight:800 !important;
}
.myps-shop-profile-copy .myps-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  padding:0 18px !important;
  border-radius:14px !important;
  font-weight:900 !important;
  text-decoration:none !important;
}
.myps-shop-profile-copy p:last-child{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  margin-top:4px !important;
}
.myps-shop-profile-copy .myps-btn.myps-primary{
  background:#fff !important;
  color:#101828 !important;
  box-shadow:0 12px 28px rgba(0,0,0,.16) !important;
}
.myps-shop-profile-copy .myps-btn.myps-secondary{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
}

/* gallery */
.myps-shop-gallery-section{
  background:linear-gradient(180deg,#ffffff 0%,#fcfcfd 100%) !important;
}
.myps-shop-gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:16px !important;
}
.myps-shop-gallery-grid .myps-shop-gallery-photo{
  position:relative !important;
  overflow:hidden !important;
  aspect-ratio:1.15 / 1 !important;
  border-radius:20px !important;
  border:1px solid #e4e7ec !important;
  background:#f8fafc !important;
  box-shadow:0 10px 24px rgba(16,24,40,.06) !important;
}
.myps-shop-gallery-grid .myps-shop-gallery-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.myps-shop-gallery-grid .myps-shop-gallery-photo:hover img{
  transform:scale(1.05) !important;
  transition:transform .35s ease !important;
}

/* info + map */
.myps-shop-info-grid{
  display:grid !important;
  grid-template-columns:minmax(0, 1.02fr) minmax(0, .98fr) !important;
  gap:28px !important;
  align-items:start !important;
}
.myps-shop-info-grid > div:first-child{
  padding:26px !important;
  border-radius:24px !important;
  border:1px solid #eef1f4 !important;
  background:linear-gradient(180deg,#ffffff 0%,#f9fafb 100%) !important;
}
.myps-shop-info-grid dl{
  display:grid !important;
  grid-template-columns:132px minmax(0,1fr) !important;
  gap:12px 16px !important;
  margin:0 !important;
}
.myps-shop-info-grid dt{
  color:#667085 !important;
  font-weight:900 !important;
  font-size:12px !important;
  letter-spacing:.03em !important;
}
.myps-shop-info-grid dd{
  margin:0 !important;
  color:#101828 !important;
  font-size:14px !important;
  line-height:1.8 !important;
  font-weight:800 !important;
  word-break:break-word !important;
}
.myps-shop-info-grid p{
  margin:16px 0 0 !important;
}
.myps-shop-info-grid p a{
  color:#c9141c !important;
  font-weight:900 !important;
  text-decoration:none !important;
}
.myps-shop-info-grid p a:hover{
  text-decoration:underline !important;
}
.myps-shop-map{
  padding:12px !important;
  border-radius:24px !important;
  border:1px solid #eef1f4 !important;
  background:linear-gradient(180deg,#ffffff 0%,#f9fafb 100%) !important;
  box-shadow:0 10px 26px rgba(16,24,40,.05) !important;
}
.myps-shop-map iframe{
  display:block !important;
  width:100% !important;
  min-height:420px !important;
  border:0 !important;
  border-radius:18px !important;
}

/* reviews */
.myps-review-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
}
.myps-review-card{
  position:relative !important;
  padding:20px !important;
  border:1px solid #eaecf0 !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#fff 0%,#fcfcfd 100%) !important;
  box-shadow:0 10px 24px rgba(16,24,40,.04) !important;
}
.myps-review-card > div{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-bottom:10px !important;
}
.myps-review-card strong{
  color:#101828 !important;
  font-size:14px !important;
}
.myps-review-card p{
  margin:0 !important;
  color:#344054 !important;
  font-size:14px !important;
  line-height:1.85 !important;
}
.myps-empty{
  padding:20px !important;
  border-radius:16px !important;
  background:#f8fafc !important;
  border:1px dashed #d0d5dd !important;
}

/* responsive */
@media (max-width:1100px){
  .myps-shop-profile{
    width:min(100%, calc(100vw - 26px)) !important;
  }
  .myps-shop-profile-hero{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .myps-shop-gallery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .myps-shop-info-grid{
    grid-template-columns:1fr !important;
  }
  .myps-review-list{
    grid-template-columns:1fr !important;
  }
}
@media (max-width:700px){
  .myps-shop-profile{
    width:calc(100vw - 18px) !important;
    margin:14px auto 32px !important;
  }
  .myps-shop-profile .myps-section{
    padding:18px !important;
    border-radius:20px !important;
  }
  .myps-shop-profile .myps-section-head h2{
    font-size:26px !important;
  }
  .myps-shop-profile-hero{
    padding:18px !important;
    border-radius:22px !important;
  }
  .myps-shop-profile-main-photo{
    min-height:240px !important;
  }
  .myps-shop-profile-thumbs{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .myps-shop-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .myps-shop-info-grid dl{
    grid-template-columns:94px minmax(0,1fr) !important;
  }
  .myps-shop-map iframe{
    min-height:280px !important;
  }
}


/* v0.10.17 加盟店紹介ページ 3表示パターン選択 */
.myps-profile-design-picker{
  margin:0 0 24px;
  padding:20px;
  border:1px solid #e4e7ec;
  border-radius:18px;
  background:#f8fafc;
}
.myps-profile-design-picker .myps-section-head{margin-bottom:15px}
.myps-profile-design-picker .myps-section-head h3{margin:4px 0 5px;font-size:21px}
.myps-profile-design-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.myps-profile-design-option{
  display:block!important;
  margin:0!important;
  cursor:pointer;
}
.myps-profile-design-option>input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.myps-profile-design-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:232px;
  padding:12px;
  overflow:hidden;
  border:2px solid transparent;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 18px rgba(16,24,40,.05);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.myps-profile-design-option:hover .myps-profile-design-card{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(16,24,40,.10);
}
.myps-profile-design-option>input:checked + .myps-profile-design-card{
  border-color:#d71920;
  box-shadow:0 0 0 3px rgba(215,25,32,.10),0 12px 28px rgba(16,24,40,.09);
}
.myps-design-check{
  position:absolute;
  top:9px;
  right:9px;
  z-index:2;
  display:none;
  padding:5px 8px;
  border-radius:999px;
  background:#d71920;
  color:#fff;
  font-size:9px;
  line-height:1;
  font-weight:900;
}
.myps-profile-design-option>input:checked + .myps-profile-design-card .myps-design-check{
  display:inline-flex;
}
.myps-profile-design-card>strong{
  margin:10px 0 2px;
  font-size:14px;
  letter-spacing:.04em;
}
.myps-profile-design-card>small{
  color:#667085;
  font-size:11px;
  font-weight:800;
}
.myps-profile-design-card>p{
  margin:8px 0 0;
  color:#667085;
  font-size:11px;
  line-height:1.55;
}
.myps-design-preview{
  position:relative;
  display:block;
  height:105px;
  overflow:hidden;
  border-radius:11px;
}
.myps-design-preview i,
.myps-design-preview em,
.myps-design-preview small{
  position:absolute;
  display:block;
  margin:0!important;
}
.myps-design-preview i{
  left:9px;
  top:11px;
  width:42%;
  height:65px;
  border-radius:7px;
  background:#b9c0ca;
}
.myps-design-preview em{
  right:10px;
  top:18px;
  width:40%;
  height:10px;
  border-radius:5px;
}
.myps-design-preview small{
  right:10px;
  top:36px;
  width:34%;
  height:28px;
  border-radius:5px;
}
.myps-profile-design-card.is-professional .myps-design-preview{
  background:linear-gradient(135deg,#15181f,#401419);
}
.myps-profile-design-card.is-professional .myps-design-preview em{background:#fff}
.myps-profile-design-card.is-professional .myps-design-preview small{background:rgba(255,255,255,.18)}
.myps-profile-design-card.is-clean .myps-design-preview{
  border:1px solid #eaecf0;
  background:#f8fafc;
}
.myps-profile-design-card.is-clean .myps-design-preview em{background:#101828}
.myps-profile-design-card.is-clean .myps-design-preview small{background:#e9edf2}
.myps-profile-design-card.is-garage .myps-design-preview{
  background:linear-gradient(120deg,#111 0 70%,#d71920 70% 100%);
}
.myps-profile-design-card.is-garage .myps-design-preview em{background:#fff}
.myps-profile-design-card.is-garage .myps-design-preview small{background:#d71920}

/* PATTERN 2: CLEAN */
.myps-shop-profile.myps-shop-design-clean{
  --myps-design-accent:#d71920;
}
.myps-shop-design-clean .myps-shop-profile-hero{
  border:1px solid #e4e7ec!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(16,24,40,.10)!important;
}
.myps-shop-design-clean .myps-shop-profile-hero::before{
  background:linear-gradient(90deg,#f8fafc 0%,rgba(248,250,252,0) 55%)!important;
}
.myps-shop-design-clean .myps-shop-profile-main-photo{
  box-shadow:none!important;
  border:1px solid #e4e7ec!important;
}
.myps-shop-design-clean .myps-shop-profile-thumbs .myps-shop-gallery-photo{
  border:1px solid #e4e7ec!important;
  background:#f8fafc!important;
  box-shadow:none!important;
}
.myps-shop-design-clean .myps-shop-profile-copy h1{
  color:#101828!important;
}
.myps-shop-design-clean .myps-shop-profile-copy p,
.myps-shop-design-clean .myps-shop-profile-copy .myps-shop-address{
  color:#475467!important;
}
.myps-shop-design-clean .myps-shop-rating strong{
  color:#101828!important;
}
.myps-shop-design-clean .myps-shop-rating b{
  color:#667085!important;
}
.myps-shop-design-clean .myps-shop-profile-copy .myps-btn.myps-primary{
  background:#d71920!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(215,25,32,.20)!important;
}
.myps-shop-design-clean .myps-section-kicker{
  background:#f2f4f7!important;
  color:#344054!important;
}
.myps-shop-design-clean .myps-shop-gallery-section{
  background:#fff!important;
}
.myps-shop-design-clean .myps-shop-info-grid>div:first-child,
.myps-shop-design-clean .myps-shop-map{
  background:#fff!important;
  box-shadow:none!important;
}

/* PATTERN 3: GARAGE */
.myps-shop-profile.myps-shop-design-garage{
  --myps-design-accent:#e31b23;
}
.myps-shop-design-garage .myps-shop-profile-hero{
  border:0!important;
  border-radius:18px!important;
  background:
    linear-gradient(115deg,rgba(0,0,0,.10),rgba(0,0,0,.0) 38%),
    linear-gradient(115deg,#101114 0 72%,#d71920 72% 100%)!important;
  box-shadow:0 20px 50px rgba(0,0,0,.22)!important;
}
.myps-shop-design-garage .myps-shop-profile-hero::after{
  content:"MY PIT SERVICE";
  position:absolute;
  right:-22px;
  bottom:20px;
  transform:rotate(-90deg);
  color:rgba(255,255,255,.16);
  font-size:13px;
  font-weight:900;
  letter-spacing:.16em;
}
.myps-shop-design-garage .myps-shop-profile-main-photo{
  border-radius:12px!important;
  border:4px solid #fff!important;
  box-shadow:8px 8px 0 #d71920!important;
}
.myps-shop-design-garage .myps-shop-profile-thumbs .myps-shop-gallery-photo{
  border-radius:8px!important;
  border:2px solid rgba(255,255,255,.82)!important;
  background:#202328!important;
}
.myps-shop-design-garage .myps-shop-profile-copy h1{
  text-transform:none;
  letter-spacing:-.02em!important;
}
.myps-shop-design-garage .myps-shop-badge{
  border-radius:5px!important;
}
.myps-shop-design-garage .myps-shop-badge.is-diagnosis{
  background:#d71920!important;
  border-color:#d71920!important;
  color:#fff!important;
}
.myps-shop-design-garage .myps-shop-badge.is-quote{
  background:#fff!important;
  border-color:#fff!important;
  color:#111!important;
}
.myps-shop-design-garage .myps-shop-profile-copy .myps-btn.myps-primary{
  border-radius:5px!important;
  background:#d71920!important;
  color:#fff!important;
  box-shadow:none!important;
}
.myps-shop-design-garage .myps-section{
  border-radius:14px!important;
}
.myps-shop-design-garage .myps-section-kicker{
  border-radius:4px!important;
  background:#111!important;
  color:#fff!important;
}
.myps-shop-design-garage .myps-shop-gallery-grid .myps-shop-gallery-photo{
  border-radius:8px!important;
}
.myps-shop-design-garage .myps-shop-info-grid>div:first-child,
.myps-shop-design-garage .myps-shop-map{
  border-radius:12px!important;
}
.myps-shop-design-garage .myps-shop-map iframe{
  border-radius:8px!important;
}
.myps-shop-design-garage .myps-review-card{
  border-radius:10px!important;
  border-left:4px solid #d71920!important;
}

/* picker responsive */
@media(max-width:900px){
  .myps-profile-design-grid{
    grid-template-columns:1fr;
  }
  .myps-profile-design-card{
    min-height:0;
  }
  .myps-design-preview{
    height:120px;
  }
}


/* v0.10.18 表示パターン名を メカニック/かわいい/クール に変更 */
.myps-profile-design-card>strong{
  font-size:16px!important;
  letter-spacing:0!important;
}
.myps-profile-design-card>small{
  font-size:11px!important;
}
.myps-profile-design-card.is-clean{
  background:linear-gradient(180deg,#fff7fb 0%,#fff 100%);
}
.myps-profile-design-card.is-clean .myps-design-preview{
  border:1px solid #ffd3e1;
  background:linear-gradient(135deg,#fff0f6 0%,#fffafc 100%);
}
.myps-profile-design-card.is-clean .myps-design-preview i{
  background:#ffc2d7;
}
.myps-profile-design-card.is-clean .myps-design-preview em{
  background:#ff5c8a;
}
.myps-profile-design-card.is-clean .myps-design-preview small{
  background:#ffe3ec;
}
.myps-profile-design-card.is-garage{
  background:linear-gradient(180deg,#fff 0%,#fff5f5 100%);
}
.myps-profile-design-card.is-professional{
  background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);
}

/* かわいく */
.myps-shop-design-clean{
  --myps-cute-pink:#ff5c8a;
  --myps-cute-soft:#fff2f7;
  --myps-cute-line:#ffd6e3;
}
.myps-shop-design-clean .myps-shop-profile-hero{
  border:1px solid var(--myps-cute-line)!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,92,138,.12), transparent 26%),
    radial-gradient(circle at 0% 100%, rgba(255,211,225,.55), transparent 30%),
    linear-gradient(135deg,#fff7fb 0%,#ffffff 100%)!important;
  box-shadow:0 18px 46px rgba(255,92,138,.10)!important;
}
.myps-shop-design-clean .myps-shop-profile-main-photo{
  border:1px solid var(--myps-cute-line)!important;
  border-radius:28px!important;
  box-shadow:0 10px 24px rgba(255,92,138,.08)!important;
}
.myps-shop-design-clean .myps-shop-profile-thumbs .myps-shop-gallery-photo{
  border:1px solid var(--myps-cute-line)!important;
  border-radius:18px!important;
  background:#fff!important;
}
.myps-shop-design-clean .myps-shop-profile-copy h1{
  color:#7a1f45!important;
}
.myps-shop-design-clean .myps-shop-profile-copy p,
.myps-shop-design-clean .myps-shop-profile-copy .myps-shop-address{
  color:#7b5462!important;
}
.myps-shop-design-clean .myps-shop-badge.is-diagnosis{
  background:#fff0f6!important;
  border-color:#ffb9cf!important;
  color:#c52d63!important;
}
.myps-shop-design-clean .myps-shop-badge.is-quote{
  background:#fff7d6!important;
  border-color:#ffe28a!important;
  color:#a06a00!important;
}
.myps-shop-design-clean .myps-shop-profile-copy .myps-btn.myps-primary{
  background:linear-gradient(135deg,#ff5c8a,#ff7da1)!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(255,92,138,.25)!important;
}
.myps-shop-design-clean .myps-shop-profile-copy .myps-btn.myps-secondary{
  background:#fff!important;
  color:#c52d63!important;
  border:1px solid var(--myps-cute-line)!important;
}
.myps-shop-design-clean .myps-section{
  border-radius:26px!important;
}
.myps-shop-design-clean .myps-section-kicker{
  background:#fff0f6!important;
  color:#c52d63!important;
}
.myps-shop-design-clean .myps-shop-gallery-grid .myps-shop-gallery-photo{
  border-radius:22px!important;
}
.myps-shop-design-clean .myps-shop-info-grid>div:first-child,
.myps-shop-design-clean .myps-shop-map{
  border:1px solid var(--myps-cute-line)!important;
  background:linear-gradient(180deg,#fff 0%,#fff9fb 100%)!important;
}
.myps-shop-design-clean .myps-review-card{
  border:1px solid var(--myps-cute-line)!important;
  border-radius:22px!important;
  box-shadow:0 10px 24px rgba(255,92,138,.06)!important;
}
.myps-shop-design-clean .myps-review-card::before{
  color:#ffe3ec!important;
}
.myps-shop-design-clean .myps-review-card span{
  color:#ff89ab!important;
}


/* v0.10.19 加盟店情報：各セクションに保存ボタン */
.myps-profile-inline-save{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin:10px 0 24px;
  padding:12px 14px;
  border:1px solid #e4e7ec;
  border-radius:13px;
  background:#f8fafc;
}
.myps-profile-inline-save .myps-btn{
  flex:0 0 auto;
  min-height:42px;
  padding:9px 16px;
  white-space:nowrap;
}
.myps-profile-inline-save small{
  margin:0;
  color:#667085;
  font-size:11px;
  font-weight:700;
}
.myps-profile-save-anchor{
  display:block;
  position:relative;
  top:-12px;
  visibility:hidden;
}
#myps-profile-design,
#myps-profile-hours,
#myps-profile-photos,
#myps-profile-booking{
  scroll-margin-top:24px;
}
@media(max-width:620px){
  .myps-profile-inline-save{
    flex-direction:column;
    align-items:stretch;
    gap:7px;
  }
  .myps-profile-inline-save .myps-btn{
    width:100%;
  }
  .myps-profile-inline-save small{
    text-align:center;
  }
}


/* v0.10.20 店舗紹介を店舗写真の次の独立カードに分離 */
.myps-profile-description-card{
  margin:0 0 24px;
  padding:20px;
  border:1px solid #e4e7ec;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#fafbfc 100%);
  box-shadow:0 6px 18px rgba(16,24,40,.04);
  scroll-margin-top:24px;
}
.myps-profile-description-card .myps-section-head{
  margin-bottom:14px;
}
.myps-profile-description-card .myps-section-head h3{
  margin:4px 0 5px;
  font-size:22px;
}
.myps-profile-description-card .myps-section-head p{
  margin:0;
  color:#667085;
}
.myps-profile-description-field{
  display:block!important;
  margin:0!important;
  font-weight:800!important;
}
.myps-profile-description-field textarea{
  width:100%!important;
  min-height:170px;
  margin-top:8px!important;
  resize:vertical;
}
.myps-profile-description-card .myps-profile-inline-save{
  margin:14px 0 0;
}
@media(max-width:620px){
  .myps-profile-description-card{
    padding:16px;
    border-radius:15px;
  }
}


/* v0.10.21 顧客向け加盟店紹介：店舗写真の次に店舗紹介カード */
.myps-shop-introduction-public{
  position:relative;
  overflow:hidden;
}
.myps-shop-introduction-public .myps-section-head{
  margin-bottom:14px!important;
}
.myps-shop-introduction-public .myps-shop-introduction-body{
  position:relative;
  padding:20px 22px;
  border:1px solid #eaecf0;
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#f9fafb 100%);
}
.myps-shop-introduction-public .myps-shop-introduction-body::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:4px;
  border-radius:999px;
  background:#d71920;
}
.myps-shop-introduction-public .myps-shop-introduction-body p{
  margin:0;
  padding-left:10px;
  color:#344054;
  font-size:15px;
  line-height:1.95;
  white-space:normal;
}

/* かわいく */
.myps-shop-design-clean .myps-shop-introduction-public{
  border-color:#ffd6e3!important;
  background:linear-gradient(180deg,#fff 0%,#fff9fb 100%)!important;
}
.myps-shop-design-clean .myps-shop-introduction-public .myps-shop-introduction-body{
  border-color:#ffd6e3;
  border-radius:22px;
  background:linear-gradient(135deg,#fff7fb 0%,#fff 100%);
}
.myps-shop-design-clean .myps-shop-introduction-public .myps-shop-introduction-body::before{
  background:#ff5c8a;
}
.myps-shop-design-clean .myps-shop-introduction-public .myps-shop-introduction-body p{
  color:#6f4354;
}

/* メカニックっぽく */
.myps-shop-design-garage .myps-shop-introduction-public .myps-shop-introduction-body{
  border:1px solid #d9dde3;
  border-left:5px solid #d71920;
  border-radius:10px;
  background:linear-gradient(135deg,#f7f8fa 0%,#fff 100%);
}
.myps-shop-design-garage .myps-shop-introduction-public .myps-shop-introduction-body::before{
  display:none;
}
.myps-shop-design-garage .myps-shop-introduction-public .myps-shop-introduction-body p{
  padding-left:0;
  color:#20242b;
  font-weight:700;
}

/* クールっぽく */
.myps-shop-design-professional .myps-shop-introduction-public{
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)!important;
}
.myps-shop-design-professional .myps-shop-introduction-public .myps-shop-introduction-body{
  border-color:#dfe3e8;
  background:linear-gradient(135deg,#f5f7fa 0%,#fff 100%);
}
.myps-shop-design-professional .myps-shop-introduction-public .myps-shop-introduction-body::before{
  background:#20242b;
}

@media(max-width:700px){
  .myps-shop-introduction-public .myps-shop-introduction-body{
    padding:16px 17px;
    border-radius:15px;
  }
  .myps-shop-introduction-public .myps-shop-introduction-body p{
    font-size:14px;
    line-height:1.85;
  }
}


/* v0.10.22 顧客向け加盟店紹介：中央寄せ・左右余白・横切れ防止 */
.myps-app.myps-shop-profile{
  display:block!important;
  width:100%!important;
  max-width:1240px!important;
  margin:24px auto 46px!important;
  padding-left:20px!important;
  padding-right:20px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.myps-app.myps-shop-profile,
.myps-app.myps-shop-profile *{
  min-width:0;
}
.myps-app.myps-shop-profile > .myps-shop-profile-hero,
.myps-app.myps-shop-profile > .myps-section{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.myps-app.myps-shop-profile img,
.myps-app.myps-shop-profile iframe{
  max-width:100%!important;
}
.myps-app.myps-shop-profile .myps-shop-profile-copy,
.myps-app.myps-shop-profile .myps-shop-profile-photo,
.myps-app.myps-shop-profile .myps-shop-info-grid > div,
.myps-app.myps-shop-profile .myps-shop-gallery-grid > *,
.myps-app.myps-shop-profile .myps-review-list > *{
  min-width:0!important;
  max-width:100%!important;
}
@media(max-width:1100px){
  .myps-app.myps-shop-profile{
    width:100%!important;
    max-width:100%!important;
    margin:18px auto 38px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
}
@media(max-width:700px){
  .myps-app.myps-shop-profile{
    width:100%!important;
    max-width:100%!important;
    margin:12px auto 30px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .myps-app.myps-shop-profile > .myps-shop-profile-hero,
  .myps-app.myps-shop-profile > .myps-section{
    border-radius:18px!important;
  }
}


/* v0.10.23 加盟店一覧：左=日本地図 / 右=加盟店カード */
.myps-shops-app{
  width:100%!important;
  max-width:1240px!important;
  margin:0 auto!important;
  padding-left:18px!important;
  padding-right:18px!important;
}
.myps-shops-map-panel{
  padding:22px!important;
}
.myps-shop-search-controls{
  display:grid;
  grid-template-columns:minmax(220px,320px) auto auto minmax(220px,1fr);
  gap:10px;
  align-items:end;
  margin-bottom:18px;
}
.myps-prefecture-filter{
  display:flex!important;
  flex-direction:column;
  gap:5px;
  margin:0!important;
  font-size:12px!important;
  font-weight:900!important;
}
.myps-prefecture-filter select{
  width:100%;
  min-height:44px;
  margin:0!important;
  padding:9px 12px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
}
.myps-nearby-status{
  align-self:center;
  color:#667085;
  font-size:11px;
  font-weight:700;
  line-height:1.5;
}
.myps-shops-map-layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:22px;
  align-items:start;
}
.myps-shops-map-column{
  position:sticky;
  top:20px;
  min-width:0;
}
.myps-japan-shop-map{
  width:100%;
  height:620px;
  overflow:hidden;
  border:1px solid #dfe3e8;
  border-radius:20px;
  background:#eef2f6;
  box-shadow:0 10px 28px rgba(16,24,40,.08);
}
.myps-map-note{
  margin-top:8px;
  color:#667085;
  font-size:10px;
  line-height:1.5;
}
.myps-shops-list-column{
  min-width:0;
}
.myps-shops-list-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:10px;
  margin-bottom:12px;
}
.myps-shops-list-head h2{
  margin:4px 0 0!important;
  font-size:24px!important;
}
.myps-shop-visible-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:64px;
  padding:7px 10px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.myps-shops-map-layout .myps-shop-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
.myps-shops-map-layout .myps-shop-card{
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  min-height:160px;
}
.myps-shops-map-layout .myps-shop-card[hidden]{
  display:none!important;
}
.myps-shops-map-layout .myps-shop-card-image{
  height:100%;
  min-height:160px;
  aspect-ratio:auto!important;
}
.myps-shops-map-layout .myps-shop-card-body{
  padding:14px;
}
.myps-shops-map-layout .myps-shop-card-body h3{
  font-size:17px;
  line-height:1.35;
}
.myps-shop-card.is-map-selected{
  outline:3px solid rgba(215,25,32,.28);
  box-shadow:0 0 0 4px rgba(215,25,32,.08),0 10px 28px rgba(16,24,40,.10);
}
.myps-map-pin-wrap{
  background:transparent!important;
  border:0!important;
}
.myps-map-pin{
  position:relative;
  display:block;
  width:24px;
  height:24px;
  border:3px solid #fff;
  border-radius:50% 50% 50% 0;
  background:#d71920;
  transform:rotate(-45deg);
  box-shadow:0 4px 12px rgba(16,24,40,.28);
}
.myps-map-pin::after{
  content:"";
  position:absolute;
  left:7px;
  top:7px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#fff;
}
.leaflet-popup-content strong{
  color:#101828;
  font-size:13px;
}
.leaflet-popup-content span{
  color:#667085;
  font-size:11px;
}

/* タブレット */
@media(max-width:980px){
  .myps-shop-search-controls{
    grid-template-columns:1fr 1fr;
  }
  .myps-nearby-status{
    grid-column:1 / -1;
  }
  .myps-shops-map-layout{
    grid-template-columns:1fr 1fr;
    gap:16px;
  }
  .myps-japan-shop-map{
    height:540px;
  }
  .myps-shops-map-layout .myps-shop-card{
    grid-template-columns:1fr;
  }
  .myps-shops-map-layout .myps-shop-card-image{
    min-height:170px;
    aspect-ratio:16/9!important;
  }
}

/* スマホは1列表示 */
@media(max-width:700px){
  .myps-shops-app{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .myps-shops-map-panel{
    padding:14px!important;
  }
  .myps-shop-search-controls{
    grid-template-columns:1fr;
  }
  .myps-shop-search-controls .myps-btn,
  .myps-prefecture-filter{
    width:100%;
  }
  .myps-nearby-status{
    grid-column:auto;
  }
  .myps-shops-map-layout{
    grid-template-columns:1fr!important;
  }
  .myps-shops-map-column{
    position:static;
  }
  .myps-japan-shop-map{
    height:380px;
    border-radius:16px;
  }
  .myps-shops-list-head{
    margin-top:4px;
  }
  .myps-shops-map-layout .myps-shop-grid{
    grid-template-columns:1fr!important;
  }
  .myps-shops-map-layout .myps-shop-card{
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  .myps-shops-map-layout .myps-shop-card-image{
    min-height:190px;
    aspect-ratio:16/9!important;
  }
}


/* v0.10.24 加盟店一覧から予約フォームへ選択店舗を引き継ぐ */
.myps-selected-garage-notice{
  margin:8px 0 12px;
  padding:11px 13px;
  border:1px solid #abefc6;
  border-radius:11px;
  background:#ecfdf3;
  color:#067647;
  font-size:12px;
  line-height:1.6;
  font-weight:700;
}
.myps-selected-garage-notice strong{
  color:#05603a;
  font-weight:900;
}
.myps-diagnosis-garage-select{
  border-color:#b8c0cc!important;
}
.myps-diagnosis-garage-select:valid{
  border-color:#12b76a!important;
}


/* v0.10.33 顧客マイページ ログアウト */
.myps-customer-dashboard .myps-customer-logout-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 19px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:11px;
  background:rgba(255,255,255,.08);
  color:#fff!important;
  font-weight:850;
  text-decoration:none!important;
  box-shadow:none;
}
.myps-customer-dashboard .myps-customer-logout-btn:hover{
  background:#fff;
  border-color:#fff;
  color:#17191f!important;
}
@media(max-width:600px){
  .myps-customer-dashboard .myps-customer-actions .myps-customer-logout-btn{width:100%}
}

/* v0.10.35 スタッフ車両登録 */
.myps-intake-photo-grid{align-items:start}
.myps-intake-photo-field{display:block}
.myps-intake-photo-preview{margin-top:10px;border:1px solid #e4e7ec;border-radius:12px;overflow:hidden;background:#f8fafc}
.myps-intake-photo-preview img{display:block;width:100%;max-height:260px;object-fit:contain;background:#fff}
.myps-intake-photo-remove{margin-top:8px!important;width:auto!important}
.myps-intake-field-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin:18px 0 10px}
.myps-intake-field-heading strong{font-size:16px;color:#1d2939}
.myps-intake-field-heading small{color:#667085;text-align:right}
.myps-plate-grid{display:grid;grid-template-columns:1.15fr .9fr .9fr 1fr;gap:12px;padding:16px;border:1px solid #e4e7ec;border-radius:16px;background:#f8fafc}
.myps-keypad-field{display:flex;align-items:stretch;gap:8px}
.myps-keypad-field>input{min-width:0;flex:1}
.myps-keypad-field>.myps-btn{flex:0 0 auto;min-height:44px;padding:0 12px!important;font-size:12px!important;white-space:nowrap}
.myps-intake-required-modal .myps-booking-modal-window{text-align:left}
.myps-intake-missing-list{margin:0 0 20px;padding:14px 18px 14px 36px;border-radius:12px;background:#fff4f4;color:#b42318;font-weight:800}
.myps-intake-missing-list li+li{margin-top:6px}
.myps-intake-required-modal .myps-booking-modal-backdrop{border:0}
.myps-intake-keypad[hidden]{display:none!important}
.myps-intake-keypad{position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;padding:14px}
.myps-intake-keypad-backdrop{position:absolute;inset:0;border:0;background:rgba(15,23,42,.62);backdrop-filter:blur(2px)}
.myps-intake-keypad-dialog{position:relative;z-index:1;width:min(390px,100%);max-height:calc(100vh - 28px);overflow:auto;padding:16px;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.3)}
.myps-intake-keypad-display{min-height:54px;margin-bottom:12px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:12px;background:#f8fafc;font-size:24px;font-weight:900;letter-spacing:.04em;text-align:center;overflow-wrap:anywhere}
.myps-intake-keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.myps-intake-keypad-dialog.is-chassis .myps-intake-keypad-grid{grid-template-columns:repeat(6,1fr)}
.myps-intake-key{min-height:48px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#1d2939;font-size:19px;font-weight:900;cursor:pointer}
.myps-intake-key:active{transform:translateY(1px);background:#f2f4f7}
.myps-intake-keypad-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:12px}
.myps-intake-keypad-actions .myps-btn{min-width:0!important;padding-left:8px!important;padding-right:8px!important}
@media(max-width:760px){
  .myps-plate-grid{grid-template-columns:1fr 1fr}
  .myps-intake-field-heading{display:block}
  .myps-intake-field-heading small{display:block;margin-top:4px;text-align:left}
}
@media(max-width:480px){
  .myps-plate-grid{grid-template-columns:1fr}
  .myps-keypad-field{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .myps-intake-keypad-dialog.is-chassis .myps-intake-keypad-grid{grid-template-columns:repeat(5,1fr)}
  .myps-intake-key{min-height:44px;font-size:17px}
  .myps-intake-keypad-actions{grid-template-columns:1fr}
}
