.otp-app{min-height:100vh;background:#f5f4f1;padding:24px 14px 48px;color:#2c2b2a;font-family:Dana,sans-serif}.otp-card{width:min(720px,100%);margin:0 auto;background:#fff;border:1px solid #e8e4dd;border-radius:22px;box-shadow:0 18px 45px rgba(60,47,38,.08);overflow:hidden}.otp-head{display:flex;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid #eee9e2}.otp-head img{width:58px;height:58px;object-fit:contain}.otp-head strong{display:block;font-size:17px}.otp-head span{display:block;color:#746f69;font-size:13px;margin-top:3px}.otp-head a{margin-right:auto;color:#7c303a;text-decoration:none;font-weight:700;font-size:13px}.otp-body{padding:24px}.otp-hero{text-align:center;margin-bottom:22px}.otp-hero h1{font-size:24px;margin:6px 0}.otp-hero p{margin:4px 0;color:#756f68;line-height:1.9}.otp-month{border:1px solid #e8e2da;border-radius:18px;padding:14px;margin:18px 0}.otp-month-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.otp-month-title strong{font-size:17px}.otp-week,.otp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.otp-week span{text-align:center;color:#8a847d;font-size:12px;padding:5px 0}.otp-day{border:0;background:#f7f5f2;border-radius:10px;min-height:44px;font:inherit;cursor:pointer}.otp-day:disabled{color:#c6c0b8;background:#faf9f7;cursor:not-allowed;text-decoration:line-through}.otp-day.active{background:#7c303a;color:white;font-weight:800}.otp-day.empty{visibility:hidden}.otp-section-title{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px}.otp-section-title h2{font-size:17px;margin:0}.otp-section-title span{font-size:12px;color:#746f69}.otp-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.otp-slot{border:1px solid #e3ddd5;background:#fff;border-radius:12px;padding:11px 6px;font:inherit;cursor:pointer}.otp-slot small{display:block;color:#777168;margin-top:4px}.otp-slot.active{border-color:#7c303a;background:#fff4f5;color:#7c303a}.otp-slot:disabled{opacity:.45;cursor:not-allowed}.otp-form{margin-top:24px;border-top:1px solid #eee9e2;padding-top:20px}.otp-form h2{font-size:18px;margin:0 0 14px}.otp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.otp-form label{display:block;margin:12px 0;font-size:13px;font-weight:700}.otp-form input,.otp-form select{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:12px;border:1px solid #dcd6ce;border-radius:11px;background:#fff;font:inherit}.otp-button{width:100%;border:0;border-radius:12px;background:#7c303a;color:#fff;padding:13px 16px;font:inherit;font-weight:800;cursor:pointer;margin-top:10px}.otp-button:disabled{opacity:.55;cursor:not-allowed}.otp-secondary{background:#f2eeea;color:#5a514b}.otp-danger{background:#9c2538}.otp-error,.otp-notice,.otp-warning{border-radius:12px;padding:12px 14px;margin:14px 0;line-height:1.8;font-size:13px}.otp-error{background:#fff0f1;color:#8f2031}.otp-notice{background:#eef8f1;color:#28613a}.otp-warning{background:#fff8e7;color:#725612}.otp-code{text-align:center;font-size:28px;letter-spacing:8px;direction:ltr}.otp-count{text-align:center;color:#766f68;font-size:13px;margin:12px}.otp-private{color:#777168;font-size:12px;text-align:center;line-height:1.8;margin:14px 0 0}.otp-history{display:grid;gap:12px}.otp-item{border:1px solid #e5dfd7;border-radius:15px;padding:16px}.otp-item-head{display:flex;justify-content:space-between;gap:10px}.otp-item h3{font-size:16px;margin:0}.otp-item p{color:#6f6962;margin:8px 0}.otp-badge{font-size:11px;border-radius:999px;padding:5px 9px;background:#edf7ef;color:#28613a;height:max-content}.otp-badge.cancelled{background:#f5eeee;color:#8f2031}.otp-actions{display:flex;gap:8px;margin-top:10px}.otp-actions button{margin:0}.otp-hp{position:absolute!important;left:-10000px!important}.otp-back{display:inline-block;color:#7c303a;text-decoration:none;font-weight:700;margin-top:18px}.otp-spinner{padding:24px;text-align:center;color:#766f68}.otp-edit{margin-top:14px;padding-top:14px;border-top:1px dashed #ddd5cc}.otp-edit .otp-month{margin-top:10px}@media(max-width:620px){.otp-app{padding:0;background:#fff}.otp-card{border:0;border-radius:0;box-shadow:none;min-height:100vh}.otp-body{padding:20px 16px}.otp-slots{grid-template-columns:repeat(2,1fr)}.otp-grid{grid-template-columns:1fr}.otp-week,.otp-days{gap:3px}.otp-day{min-height:40px}.otp-head{padding:16px}.otp-actions{flex-direction:column}}
