.ritual-coach-card{background:linear-gradient(145deg,#f0f6ec 0%,#fffdf9 65%);border-color:#cdddcf;overflow:hidden;position:relative}
.ritual-coach-card:after{content:"";position:absolute;width:125px;height:125px;border-radius:50%;background:rgba(221,235,157,.55);right:-68px;top:-70px}
.coach-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:1}
.coach-identity{display:flex;align-items:center;gap:10px}.coach-orb{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:var(--ink);color:var(--lime);font-size:19px;box-shadow:0 8px 18px rgba(25,52,47,.17)}
.coach-identity b,.coach-identity span{display:block}.coach-identity b{font-size:14px}.coach-identity span{font-size:10px;color:var(--muted);margin-top:2px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.coach-mode{border:0;background:#dce9df;color:#3d6257;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}
.coach-bubble{position:relative;background:white;border:1px solid #dfe7df;border-radius:19px 19px 19px 6px;padding:15px 15px 14px;margin:15px 0 11px;box-shadow:0 8px 25px rgba(25,52,47,.06)}
.coach-bubble h2{font-family:Georgia,serif;font-size:23px;font-weight:500;line-height:1.12;margin:0 0 7px}.coach-bubble p{font-size:13px;line-height:1.52;color:#586963;margin:0}.coach-bubble .rough-note{display:block;margin-top:9px;color:#855440;font-size:11px;line-height:1.45}
.coach-answers{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:1}.coach-answer{border:1px solid #cad8cc;background:white;border-radius:14px;padding:11px 13px;font-size:12px;font-weight:800;min-height:42px}.coach-answer.primary-answer{background:var(--ink);color:white;border-color:var(--ink)}
.coach-glance{display:grid;grid-template-columns:repeat(5,minmax(76px,1fr));gap:7px;overflow-x:auto;margin:14px -2px 0;padding:2px 2px 5px;scrollbar-width:none}.coach-glance::-webkit-scrollbar{display:none}.glance-item{min-width:76px;border:1px solid #dde5de;background:rgba(255,255,255,.75);border-radius:14px;padding:10px 8px;text-align:left;position:relative}.glance-item i{font-style:normal;font-size:17px}.glance-item b,.glance-item span{display:block}.glance-item b{font-size:10px;margin-top:6px}.glance-item span{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.glance-item.done{background:#dfeee3;border-color:#bcd4c2}.glance-item.interactive{cursor:pointer}.glance-item.interactive:hover{border-color:#9eb8a4}.glance-item em{position:absolute;right:7px;top:7px;font-style:normal;color:#81918b;font-size:14px}
.coach-card-foot{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:11px;padding-top:10px;border-top:1px solid rgba(25,52,47,.09)}.coach-card-foot span{font-size:10px;line-height:1.35;color:var(--muted)}
.coach-week{margin-top:15px;padding-top:14px;border-top:1px solid #dbe5dc}.coach-week-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.coach-week-head b{font-size:12px}.coach-week-head span{font-size:10px;color:var(--muted)}.coach-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.coach-week-day{text-align:center;font-size:9px;color:var(--muted)}.coach-week-day i{width:30px;height:30px;margin:5px auto 0;border-radius:11px;border:1px solid #d8e1d9;background:white;display:grid;place-items:center;font-style:normal;color:#9aa6a1}.coach-week-day.checked i{background:var(--ink);border-color:var(--ink);color:white}.coach-week-day.today i{outline:2px solid var(--lime);outline-offset:2px}
.coach-boundary{background:#eef3ef;border:1px solid #d9e2da;border-radius:16px;padding:12px;margin-top:12px;font-size:11px;line-height:1.5;color:#5c6c66}.coach-boundary b{color:var(--ink)}
.toggle-field{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);background:white;border-radius:14px;padding:12px;margin-bottom:14px}.toggle-field input{width:18px;height:18px;margin:1px 0 0;flex:none}.toggle-field b,.toggle-field span{display:block}.toggle-field b{font-size:12px}.toggle-field span{font-size:10px;color:var(--muted);line-height:1.4;margin-top:3px}
.coach-settings-note{background:#edf3ee;border-radius:16px;padding:12px;font-size:11px;line-height:1.5;color:#586963}.coach-calendar-button{width:100%;margin-top:10px}
@media(max-width:390px){.coach-bubble h2{font-size:21px}.coach-answer{flex:1;padding-left:8px;padding-right:8px}.coach-card-foot{align-items:flex-start;flex-direction:column}.coach-card-foot .link-btn{padding-left:0}}
