*{box-sizing:border-box}body{margin:0;background:#fff8f8;color:#392b31;font:16px system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:760px;margin:auto;padding:18px}.card{background:white;border:1px solid #f0dce2;border-radius:18px;padding:16px;margin:12px 0;box-shadow:0 3px 12px #6c34400b}h1{font-size:27px}h2{font-size:20px;margin:4px 0 12px}.muted{color:#887780;font-size:13px}input,textarea,select,button{font:inherit;border-radius:11px;padding:11px;border:1px solid #dfcbd2;max-width:100%}input,textarea{width:100%;margin:5px 0}button{background:#a84f70;color:white;border:0;margin:4px 3px 4px 0;cursor:pointer}button.secondary{background:#f2e5e9;color:#543944}button:disabled{opacity:.45}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row input{flex:1;min-width:130px}.item{padding:9px 0;border-bottom:1px solid #f2e8eb;display:flex;gap:8px;align-items:center}.item span{flex:1}.item.done span{text-decoration:line-through;color:#999}.tabs{display:flex;gap:5px;flex-wrap:wrap;position:sticky;top:0;background:#fff8f8;padding:8px 0;z-index:2}.tabs button{font-size:14px}.hidden{display:none}.sector{display:grid;grid-template-columns:1fr 85px;gap:6px;margin:5px 0}.sector input{margin:0}.error{color:#a22}.mood{font-size:24px}.history{font-size:14px;padding:7px 0;border-bottom:1px solid #eee}label{font-size:14px}.coupon{background:#fff2d7;border-radius:10px;padding:10px;margin:6px 0}@media(min-width:600px){main{padding:28px}}
.wheel-stage{height:290px;display:flex;align-items:center;justify-content:center;position:relative;margin:12px auto 4px}.wheel-disc{width:260px;height:260px;border-radius:50%;border:7px solid #fff;box-shadow:0 4px 18px #6c344033,0 0 0 2px #e7cbd5;position:relative;transition:transform 5.2s cubic-bezier(.12,.72,.12,1);will-change:transform}.wheel-pointer{position:absolute;z-index:2;top:0;left:50%;transform:translateX(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:28px solid #63364a;filter:drop-shadow(0 2px 2px #0003)}.wheel-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 1px 7px #0003;font-size:22px}.wheel-number{position:absolute;left:50%;top:50%;font-size:11px;font-weight:700;color:#432c37;text-shadow:0 1px 2px #fff; width:20px;text-align:center}.wheel-legend{text-align:center}.wheel-result{text-align:center;font-size:20px;color:#8c3e61;min-height:28px}

.wheel-label{position:absolute;left:50%;top:50%;width:76px;text-align:center;font-size:9px;line-height:1.05;font-weight:700;color:#352630;text-shadow:0 1px 2px #fff,0 0 3px #fff;pointer-events:none;white-space:normal;}
.wheel-disc{overflow:hidden;}
.wheel-result{font-weight:700;margin:12px 0;}

/* Большое колесо в стиле телевизионного игрового шоу */
.wheel-stage{height:320px;margin:14px auto 8px}
.wheel-disc{width:min(78vw,290px);height:min(78vw,290px);border:9px solid #f8e8b7;outline:3px solid #9b6c32;box-shadow:0 0 0 7px #fff,0 8px 24px #40202b44,inset 0 0 0 2px #fff8; background-color:#d9b35e}
.wheel-disc:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg 179deg,#fff9 179deg 180deg,transparent 180deg 359deg,#fff9 359deg 360deg);pointer-events:none}
.wheel-pointer{top:2px;border-left-width:17px;border-right-width:17px;border-top-width:34px;border-top-color:#b52d42;filter:drop-shadow(0 2px 2px #0005)}
.wheel-hub{width:58px;height:58px;border:4px solid #e7c36d;background:radial-gradient(circle at 35% 30%,#fff,#f4d98d 70%,#bd8c3e);color:#70451f;font-size:24px;box-shadow:0 2px 8px #0005}
.wheel-label{width:76px;font-size:9px;line-height:1.05;font-weight:800;color:#2f1d26;text-shadow:0 1px 2px #fff,0 0 4px #fff;overflow-wrap:anywhere}
.wheel-legend{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:8px 0 12px}
.legend-pill{font-size:12px;font-weight:700;border-radius:20px;padding:6px 10px}
.legend-pill.positive{background:#fff0c4;color:#795014;border:1px solid #e7bd58}
.legend-pill.negative{background:#eee0f3;color:#634477;border:1px solid #b894c7}

.alco-month{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 12px;text-transform:capitalize}
.alco-month b{font-size:18px;text-align:center;flex:1}
.alco-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.alco-week span{text-align:center;font-size:12px;color:#887780;padding:5px 0}
.alco-day{min-width:0;min-height:58px;margin:0;padding:5px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid #eadde1;background:#faf7f8;color:#392b31;border-radius:9px}
.alco-day b{font-size:15px}.alco-day small{font-size:10px;line-height:1.1}
.alco-day.drank{background:#f8dfe3;border-color:#d58b9a;color:#7e263b}
.alco-day.sober{background:#e2f2e7;border-color:#91c5a0;color:#24623a}
.alco-day.unset{background:#f7f3f4;color:#877a80}
.alco-empty{min-height:58px}
.alco-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:#75666d}
.alco-legend span{display:flex;align-items:center;gap:5px}.alco-legend i{display:inline-block;width:10px;height:10px;border-radius:50%}
.drank-dot{background:#d58b9a}.sober-dot{background:#91c5a0}.unset-dot{background:#cfc5c9}
.alco-report{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;text-align:center}
.alco-report div{background:#faf4f6;border-radius:12px;padding:12px 4px;display:flex;flex-direction:column;gap:4px}
.alco-report strong{font-size:25px}.alco-report span{font-size:11px;color:#887780}
@media(max-width:380px){.alco-day{min-height:50px}.alco-day small{font-size:9px}.alco-grid{gap:3px}}

/* Просмотр личного календаря партнёра */
.alco-day:not(button){cursor:default;}
