.dou-app{width:100%;max-width:760px;min-width:0;margin:2rem auto;padding:1.5rem;background:#fff;border:1px solid #ddd;border-radius:12px;color:#242424;box-sizing:border-box}
.dou-app *{box-sizing:border-box}.dou-slots{margin:0 0 1.5rem}
.dou-app button{padding:.7rem 1rem;border:0;border-radius:6px;cursor:pointer;background:#185b46;color:#fff;font:inherit}.dou-app button:disabled{cursor:not-allowed;opacity:.55}
.dou-form{display:grid;gap:1rem}.dou-form label{display:block}.dou-form input:not([type=checkbox]){display:block;width:100%;max-width:400px;padding:.6rem;margin-top:.3rem;border:1px solid #999;border-radius:4px}
.dou-form input[type=checkbox]{margin-right:.4rem}.dou-step-message{margin:.6rem 0}.dou-error{color:#a32121}.dou-result{border:2px solid #185b46;padding:1rem;border-radius:8px}
.dou-app [hidden]{display:none!important}
.dou-verify .dou-check{margin-top:.75rem}
.dou-verify .dou-check:disabled{background:#777;color:#fff;opacity:1;cursor:default}
.dou-code-error{margin-top:.4rem;color:#a32121;font-size:.9em}
.dou-form input[aria-invalid=true]{border-color:#a32121}
.dou-form .dou-chosen{font-size:1.3rem;font-weight:700;margin:.1rem 0}
.dou-form select{display:block;width:100%;max-width:400px;padding:.6rem;margin-top:.3rem;border:1px solid #999;border-radius:4px;background:#fff;color:#242424}
.dou-form > button,.dou-verify button{display:block;width:100%;max-width:400px}
.dou-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.8rem}
.dou-calendar-header h3{margin:0;text-align:center;font-size:1.3rem;white-space:nowrap}
.dou-calendar-header button{min-width:6.5rem;display:flex;align-items:center;justify-content:center;gap:.35rem}
.dou-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.8rem;font-size:.9rem}
.dou-legend span{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}
.dou-legend span:before{content:"";display:inline-block;width:.8rem;height:.8rem;border-radius:50%;flex:none}
.dou-legend-available:before{background:#176343}.dou-legend-unavailable:before{background:#ddd}
.dou-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.dou-weekday{text-align:center;font-weight:700;font-size:.85rem;padding:.4rem 0}
.dou-app button.dou-day{width:100%;min-width:0;min-height:52px;padding:.35rem;border-radius:7px;font-weight:700}
.dou-app button.dou-available{background:#176343;color:#fff}
.dou-app button.dou-available[data-available-count="3"]{background:#398264;color:#fff}
.dou-app button.dou-available[data-available-count="2"]{background:#92c9aa;color:#173b2b}
.dou-app button.dou-available[data-available-count="1"]{background:#dcefe2;color:#173b2b}
.dou-app button.dou-taken,.dou-app button.dou-unavailable{background:#eee;color:#666}
.dou-app button.dou-day:disabled{opacity:1;cursor:default}
.dou-app button.dou-day:focus-visible{outline:3px solid #d9a520;outline-offset:2px}
.dou-app button.dou-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:64px}
.dou-day-count{font-size:12px;font-weight:400;white-space:nowrap}
.dou-app button.dou-day[aria-pressed=true]{outline:3px solid #9a6127;outline-offset:1px}
.dou-offer-details{border-top:1px solid #ddd;padding-top:1rem;margin-bottom:1.5rem}
.dou-offer-details h3{font-size:1.2rem;margin:0 0 .75rem}
.dou-offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.dou-app button.dou-offer-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:76px;padding:.7rem .3rem;background:#e5efdf;color:#24442f;border:1px solid #adc3a3}
.dou-offer-card strong{font-size:1.15rem}.dou-offer-card span{font-size:.8rem}
.dou-app button.dou-offer-card:disabled{background:#eee;color:#666;border-color:#ddd;opacity:1}
.dou-offer-claimed strong{text-decoration:line-through}
.dou-app button.dou-offer-card[aria-pressed=true]{background:#185b46;color:#fff;border-color:#185b46}
.dou-offer-note{font-size:.85rem;margin:.75rem 0 0}
.dou-app button:focus-visible{outline:3px solid #9a6127;outline-offset:2px}
@media(max-width:600px){
 .dou-app{width:100%;max-width:100%;min-width:0;margin:1rem auto;padding:.75rem}
 .dou-calendar-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:.35rem}
 .dou-calendar-header h3{font-size:1.15rem;line-height:1.2}
 .dou-calendar-header button{min-width:44px;width:44px;height:44px;padding:0;font-size:1.4rem}
 .dou-nav-word{display:none}
 .dou-legend{font-size:.8rem;gap:.4rem .8rem}
 .dou-calendar-grid{gap:4px}
 .dou-app button.dou-day{min-height:54px;padding:.15rem;font-size:.9rem}
 .dou-day-count{font-size:11px}
 .dou-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dou-weekday{font-size:.75rem;padding:.3rem 0}
 .dou-form h3{margin:0;font-size:1.65rem;line-height:1.2}
 .dou-form input:not([type=checkbox]),.dou-form select,.dou-form > button,.dou-verify button{max-width:none;font-size:16px}
}
.dou-social-proof{position:fixed;left:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:9990;display:flex;align-items:center;gap:12px;box-sizing:border-box;max-width:min(420px,calc(100vw - 40px));padding:12px 12px 12px 18px;border:2px solid #d4af37;border-radius:12px;background:#000;color:#fff;box-shadow:0 6px 24px #0002;font:500 14px/1.5 system-ui,sans-serif;overflow-wrap:anywhere}
.dou-social-proof[hidden]{display:none!important}
.dou-social-proof button{flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#fff;font:24px/1 system-ui,sans-serif;cursor:pointer}
.dou-social-proof button:hover{background:#292929}
.dou-social-proof button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:480px){.dou-social-proof{left:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 24px);padding-left:14px}}
