:root{--ink:#534d45;--muted:#91877b;--green:#879d75;--deep:#687f58;--pale:#edf2e8;--cream:#f7f0df;--paper:#fffdf8;--line:#e8dfcf;--shadow:0 12px 34px rgba(91,75,51,.10)}
*{box-sizing:border-box}body{margin:0;background:#eee8df;color:var(--ink);font-family:"Hiragino Sans","Yu Gothic",sans-serif}.shell{width:min(100%,480px);min-height:100dvh;margin:auto;padding:12px 16px 60px;background:linear-gradient(#fffdf7,#f7f0e5)}
button,input{font:inherit;color:inherit}.header,.section-head,.month-head{display:flex;align-items:center;justify-content:space-between}.header{min-height:52px;padding:0 5px 6px}.brand-sign{display:block;width:min(235px,75%);text-decoration:none}.brand-sign img{display:block;max-width:100%;max-height:48px;object-fit:contain;object-position:left center}.brand-sign span{display:none;color:#526354;font:600 13px/1.45 serif;letter-spacing:.05em}.brand-sign img[src=""],.brand-sign img:not([src]){display:none}.brand-sign img[src=""]+span,.brand-sign img:not([src])+span{display:block}.header small,.eyebrow{color:#78917f;letter-spacing:.12em;font-size:11px}.icon-button,.month-head button,.text-button{border:0;background:transparent;cursor:pointer}.icon-button{font-size:20px}.calendar-intro{text-align:center;padding:9px 5px 5px}.calendar-intro p{margin:0;color:#698574;font-family:serif;font-size:12px;letter-spacing:.08em}.calendar-intro h1{margin:5px 0 3px;font:600 23px/1.45 serif;letter-spacing:.06em}.calendar-intro span{color:var(--muted);font-size:10px}.card{margin-top:10px;padding:17px;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}h2{margin:3px 0 13px;font:600 19px/1.5 serif}.today-card{text-align:center}.today-card .eyebrow{margin:0}.weight-form{display:grid;grid-template-columns:1fr 148px;gap:9px;align-items:center}.weight-input{display:flex;align-items:baseline;justify-content:center;border-bottom:1px solid #cbdccf}.weight-input input{width:110px;border:0;outline:0;background:transparent;text-align:right;font:500 34px/1.4 serif}.weight-input span{margin-left:5px;font-size:14px}.primary{border:0;border-radius:999px;padding:13px 16px;color:#fff;background:linear-gradient(135deg,var(--green),var(--deep));box-shadow:0 7px 16px rgba(92,135,107,.24);cursor:pointer}.primary:disabled{opacity:.42;cursor:not-allowed}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:16px}.stats div{padding:9px 4px;background:#f4f8f4;border-radius:13px}.stats small{display:block;color:var(--muted);font-size:9px}.stats strong{display:block;margin-top:3px;font-family:serif;font-size:14px}.save-message{height:16px;margin:7px 0 -7px;color:var(--deep);font-size:10px}.section-head h2{margin-bottom:0}.trend{max-width:150px;color:var(--muted);font-size:9px;text-align:right}.graph-wrap{height:182px;margin-top:12px}.graph-wrap svg{display:block;width:100%;height:100%;overflow:visible}.grid-line{stroke:#e3ebe4;stroke-width:1}.goal-line{stroke:#c7a86c;stroke-width:1;stroke-dasharray:4 4}.weight-line{fill:none;stroke:var(--green);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.weight-dot{fill:#fff;stroke:var(--deep);stroke-width:2}.graph-label{fill:#8c978e;font-size:9px}.empty-graph{height:100%;display:grid;place-items:center;color:var(--muted);font-size:11px;background:#f7faf7;border-radius:15px}.month-head h2{margin:0}.month-head button{padding:3px 13px;font-size:28px}.week,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.week span{padding:8px 0 4px;text-align:center;color:var(--muted);font-size:10px}.days button{position:relative;height:40px;border:0;border-radius:11px;background:#f7f9f7;font-size:12px;cursor:pointer}.days button.recorded{background:var(--pale)}.days button.recorded:after{content:"";position:absolute;bottom:4px;left:50%;width:4px;height:4px;border-radius:50%;background:var(--green);transform:translateX(-50%)}.days button.selected{outline:2px solid var(--green);outline-offset:1px}.days button.today{font-weight:700;text-decoration:underline}.days i{display:block}.calendar-note{margin:10px 2px 0;text-align:right;color:var(--muted);font-size:9px}.calendar-note i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green)}.text-button{color:var(--deep);font-size:12px}.selected-detail{padding:10px 12px;background:#f5f9f5;border-radius:14px}.selected-detail strong{font:600 22px serif}.selected-detail span{margin-left:8px;color:var(--muted);font-size:11px}.selected-detail.empty{color:var(--muted);font-size:11px}.lead{margin:-8px 0 12px;color:var(--muted);font-size:11px}.concierge-message{display:flex;gap:10px;align-items:flex-start;margin:-4px -3px 16px;padding:12px;background:linear-gradient(135deg,#eff8f0,#fff9ec);border:1px solid #dceadd;border-radius:16px}.concierge-message>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;background:#fff;border-radius:50%;font-size:17px}.concierge-message p{margin:0;font:500 12px/1.8 serif}.concerns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.concerns button{min-height:43px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.concerns button.chosen{border-color:var(--green);background:var(--pale);box-shadow:inset 0 0 0 1px var(--green)}.selection-message{min-height:18px;margin:10px 0 -7px;text-align:center;color:#76877a;font-size:10px}.counselor{width:100%;margin-top:14px}.privacy-note{text-align:center;margin:10px 0 0;color:var(--muted);font-size:9px}dialog{width:min(calc(100% - 28px),430px);padding:0;border:0;border-radius:24px;background:transparent}dialog::backdrop{background:rgba(45,55,47,.35);backdrop-filter:blur(3px)}.dialog-card{position:relative;padding:24px;background:#fffefd;border-radius:24px}.dialog-close{position:absolute;top:13px;right:14px;border:0;background:transparent;font-size:24px;cursor:pointer}.dialog-label{display:block;margin:18px 0 10px;color:var(--muted);font-size:11px}.dialog-weight{display:flex;align-items:baseline;margin-top:7px;border-bottom:1px solid var(--line)}.dialog-weight input{width:100%;padding:8px;border:0;outline:0;background:transparent;font:500 28px serif}.dialog-weight b{font-size:12px}fieldset{margin:18px 0;border:0;padding:0}legend{margin-bottom:9px;font:600 14px serif}legend small{color:var(--muted);font:400 9px sans-serif}.condition-options{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.condition-options button{display:flex;height:62px;padding:5px 1px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:18px}.condition-options span{font-size:7px}.condition-options button.chosen{border-color:var(--green);background:var(--pale)}.dialog-card .primary{width:100%}.delete-button{display:block;margin:17px auto 0;border:0;background:transparent;color:#a36f71;font-size:10px;cursor:pointer}
@media(min-width:700px){body{padding:28px 0}.shell{min-height:calc(100dvh - 56px);border-radius:30px;box-shadow:0 20px 70px rgba(63,87,68,.13)}}
@media(max-width:370px){.weight-form{grid-template-columns:1fr}.condition-options{grid-template-columns:repeat(5,1fr)}.shell{padding-inline:11px}}

/* herb user版とつながる健幸カレンダー */
.header{justify-content:flex-start;min-height:44px;border-bottom:1px solid rgba(179,157,122,.22)}
.brand-sign{width:min(250px,82%)}
.calendar-hero{position:relative;display:flex;min-height:164px;margin:9px 0 2px;padding:16px 8px 5px 15px;overflow:hidden;background:linear-gradient(135deg,#fffaf0 0%,#f2ead7 100%);border:1px solid #e8dcc5;border-radius:24px}
.calendar-title{position:relative;z-index:2;width:62%}.calendar-title small{color:#89765f;font-size:9px;letter-spacing:.05em}.calendar-title p{margin:11px 0 -4px;color:#7e8d6f;font:500 13px serif;letter-spacing:.14em}.calendar-title h1{margin:0;color:#5c614e;font:600 28px/1.02 serif;letter-spacing:.09em}.calendar-title span{display:block;margin-top:10px;color:#8e8274;font:500 10px/1.7 serif}.hero-concierge{position:absolute;z-index:1;right:-2px;bottom:0;width:43%;height:155px;object-fit:contain;object-position:right bottom}
.today-heading{display:flex;align-items:center;justify-content:space-between;margin:2px 0 10px}.today-heading h2{margin:0}.goal-link{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dfd5c3;border-radius:999px;background:#fffaf0;color:#776b5d;font-size:10px;cursor:pointer}.goal-link b{font-size:15px;font-weight:400;line-height:1}
.today-card{text-align:left}.today-card>.eyebrow{text-align:center}.weight-form{margin-top:3px}.stats{text-align:center}
.edit-record-button{width:100%;margin-top:11px;padding:12px 15px;border:1px solid var(--green);border-radius:999px;background:#fff;color:var(--deep);font-size:12px;font-weight:600;cursor:pointer}
.concierge-message{position:relative;align-items:flex-end;min-height:116px;margin:-3px -3px 17px;padding:15px 13px 14px 100px;overflow:hidden;background:linear-gradient(135deg,#f5eedf,#eef3e8);border-color:#e1d7c5}
.concierge-message>img{position:absolute;left:-7px;bottom:0;width:110px;height:116px;object-fit:contain;object-position:left bottom}.concierge-message>div{position:relative;z-index:2}.concierge-message small{display:block;margin-bottom:4px;color:#738065;font-size:9px;letter-spacing:.08em}.concierge-message p{font-size:12px;line-height:1.75}
.condition-card{border-color:#e3d7c4}.condition-card>.eyebrow{color:#88765f}.concerns button.chosen{border-color:#879d75;background:#eef3e9}.counselor{background:linear-gradient(135deg,#8e7757,#6e5c44);box-shadow:0 7px 16px rgba(105,83,54,.23)}
@media(max-width:370px){.calendar-hero{min-height:154px}.calendar-title h1{font-size:25px}.hero-concierge{height:145px}.concierge-message{padding-left:88px}.concierge-message>img{width:96px}}

/* userトップと共通する左右分割のファーストビュー */
.calendar-hero{min-height:190px;margin-top:11px;padding:20px 0 0 20px;background:#fff;border-color:#ecd9d7;box-shadow:0 10px 28px rgba(133,92,75,.08)}
.calendar-hero:after{content:"";position:absolute;z-index:0;left:43%;bottom:0;width:23%;height:64%;background:#edf6fb;clip-path:polygon(100% 0,100% 100%,0 100%)}
.calendar-title{width:59%}.calendar-title small{color:#8c8178;font-size:9px}.calendar-title p{margin-top:14px;color:#9b8970}.calendar-title h1{color:#50483f;font-size:31px;line-height:1.05}.calendar-title h1::first-line{color:#50483f}.calendar-title span{color:#8e8177;font-size:10px}.hero-concierge{right:-1px;width:46%;height:190px;object-fit:cover;object-position:center top;border-radius:0 22px 22px 0}

/* userと同じ、丸い案内役＋吹き出し */
.concierge-message{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center;min-height:auto;margin:-2px -2px 18px;padding:5px 0;background:transparent;border:0;overflow:visible}
.concierge-avatar{position:relative;z-index:2;width:58px;height:58px;padding:3px;border:2px solid #fff;border-radius:50%;background:#edf3e9;overflow:hidden;box-shadow:0 5px 14px rgba(92,73,54,.15)}
.concierge-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 12%}
.concierge-balloon{position:relative;padding:14px 15px;background:#fff;border:1px solid #e8ddd2;border-radius:16px;box-shadow:0 5px 16px rgba(91,75,51,.06)}
.concierge-balloon:before{content:"";position:absolute;left:-7px;top:22px;width:12px;height:12px;background:#fff;border-left:1px solid #e8ddd2;border-bottom:1px solid #e8ddd2;transform:rotate(45deg)}
.concierge-balloon small{position:relative;z-index:1;display:block;margin-bottom:4px;color:#9a8771;font-size:8px;letter-spacing:.07em}.concierge-balloon p{position:relative;z-index:1;margin:0;color:#4f4841;font:500 12px/1.75 serif}
@media(max-width:370px){.calendar-hero{min-height:176px;padding-left:15px}.calendar-title h1{font-size:27px}.hero-concierge{height:176px}.concierge-message{grid-template-columns:52px 1fr}.concierge-avatar{width:52px;height:52px}.concierge-balloon{padding:12px}.concierge-balloon p{font-size:11px}}

/* v5: 情報量を絞り、上部と会話を強調 */
.calendar-hero{min-height:181px;margin-top:0;padding-top:13px}.calendar-title{width:64%}.calendar-title .brand-sign{width:151px;max-width:92%;height:37px}.calendar-title .brand-sign img{width:auto;max-width:100%;height:37px;max-height:37px;object-fit:contain;object-position:left center}.calendar-title .brand-sign span{font-size:10px;line-height:1.3}.calendar-title p{margin:11px 0 -2px}.calendar-title h1{white-space:nowrap;font-size:27px;line-height:1.12;letter-spacing:.055em}.calendar-title>span{margin-top:8px}.hero-concierge{height:181px;width:45%}
.detail-card>.section-head{display:block}.detail-card>.section-head h2{margin:0 0 10px;font-size:20px}
.concierge-message{grid-template-columns:80px 1fr;gap:12px}.concierge-avatar{width:80px;height:80px}.concierge-balloon{padding:15px 16px}.concierge-balloon:before{top:31px}.condition-card>h2{margin-top:2px}
@media(max-width:370px){.calendar-hero{min-height:168px}.calendar-title{width:66%}.calendar-title .brand-sign{width:136px;height:32px}.calendar-title .brand-sign img{height:32px;max-height:32px}.calendar-title h1{font-size:23px}.hero-concierge{height:168px;width:44%}.concierge-message{grid-template-columns:68px 1fr;gap:9px}.concierge-avatar{width:68px;height:68px}.concierge-balloon{padding:12px 13px}.concierge-balloon:before{top:27px}}

/* v6: ロゴ・記録・丸い人物写真の最終調整 */
.calendar-title .brand-sign{width:178px;max-width:96%;height:43px}.calendar-title .brand-sign img{width:auto;height:43px;max-height:43px}.calendar-title .brand-sign span{display:none!important}.calendar-title p{margin-top:8px}
.detail-card{text-align:center}.detail-card>.section-head{text-align:center}.detail-card>.section-head h2{text-align:center}.selected-detail{display:flex;align-items:baseline;justify-content:center;gap:7px}.selected-detail span{margin-left:0}
.concierge-message{grid-template-columns:94px 1fr;gap:13px}.concierge-avatar{display:block;width:94px;height:94px;padding:0;border-width:3px;background:#e7eee3}.concierge-avatar img{position:relative;left:50%;top:50%;width:185%;height:185%;max-width:none;border-radius:0;object-fit:cover;object-position:center 15%;transform:translate(-50%,-39%)}.concierge-balloon:before{top:37px}
@media(max-width:370px){.calendar-title .brand-sign{width:157px;height:38px}.calendar-title .brand-sign img{height:38px;max-height:38px}.concierge-message{grid-template-columns:80px 1fr;gap:10px}.concierge-avatar{width:80px;height:80px}.concierge-balloon:before{top:31px}}

/* v7: ロゴ拡大と人物写真の再構築 */
.calendar-title .brand-sign{width:205px;height:49px}.calendar-title .brand-sign img{height:49px;max-height:49px}.calendar-title p{margin-top:5px}
.concierge-message{grid-template-columns:96px 1fr;gap:13px}.concierge-avatar{display:block;position:relative;width:96px;height:96px;padding:0;border:3px solid #fff;border-radius:50%;background:#e8f0f6;overflow:hidden;box-shadow:0 7px 18px rgba(62,65,73,.16)}.concierge-avatar img{position:static;display:block;width:100%;height:100%;max-width:100%;border-radius:0;object-fit:cover;object-position:50% 18%;transform:none}.concierge-balloon:before{top:38px}
@media(max-width:370px){.calendar-title .brand-sign{width:178px;height:42px}.calendar-title .brand-sign img{height:42px;max-height:42px}.concierge-message{grid-template-columns:84px 1fr;gap:10px}.concierge-avatar{width:84px;height:84px}.concierge-balloon:before{top:33px}}

/* ALTRISM: Herb版の機能と配置を保った、上部ブランドのみの差し替え */
html[data-brand="altrism"]{--green:#799588;--deep:#315f55;--pale:#edf4f0;--line:#dce5df}
html[data-brand="altrism"] body{background:#edf0eb}
html[data-brand="altrism"] .shell{background:linear-gradient(#fbfcf9,#f2f5f0)}
html[data-brand="altrism"] .calendar-hero{background:#fff;border-color:#d7e0da;box-shadow:0 10px 28px rgba(49,95,85,.09)}
html[data-brand="altrism"] .calendar-hero:after{background:#e8f0eb}
html[data-brand="altrism"] .brand-sign{display:flex;width:auto;height:auto;max-width:100%;align-items:baseline;gap:9px;color:#234f48;text-decoration:none}
html[data-brand="altrism"] .brand-sign strong{font:700 16px/1.2 Georgia,"Times New Roman",serif;letter-spacing:.18em}
html[data-brand="altrism"] .brand-sign small{display:inline;color:#657970;font:600 9px/1.2 "Hiragino Sans","Yu Gothic",sans-serif;letter-spacing:.04em;white-space:nowrap}
html[data-brand="altrism"] .calendar-title p{color:#758b81}
html[data-brand="altrism"] .calendar-title h1{color:#294f48}
html[data-brand="altrism"] .hero-concierge{right:0;width:47%;object-fit:cover;object-position:61% center;border-radius:0 22px 22px 0}
@media(max-width:370px){html[data-brand="altrism"] .brand-sign{gap:6px}html[data-brand="altrism"] .brand-sign strong{font-size:14px}html[data-brand="altrism"] .brand-sign small{font-size:8px}html[data-brand="altrism"] .hero-concierge{width:45%;object-position:60% center}}

/* v11: 毎日の体調・便通とwatashi共通の生理周期 */
.cycle-summary{margin:9px 0 1px;text-align:center}.cycle-summary button{border:0;background:transparent;color:#79876e;font-size:10px;cursor:pointer}.cycle-summary b{margin-left:5px;font-weight:500}
.calendar-legend{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin-top:10px}.calendar-legend span{padding:3px 7px;border-radius:999px;font-size:8px}.calendar-legend .menstrual{background:#f4d6db}.calendar-legend .follicular{background:#e4f0df}.calendar-legend .ovulation{background:#f5edc8}.calendar-legend .luteal{background:#e9dff0}
.days button.phase-menstrual{background:#f4d6db}.days button.phase-follicular{background:#e4f0df}.days button.phase-ovulation{background:#f5edc8}.days button.phase-luteal{background:#e9dff0}.days button.predicted{background-image:linear-gradient(rgba(255,255,255,.48),rgba(255,255,255,.48))}.days button.period-start{box-shadow:inset 0 -3px #c98a96}.days button.recorded:after{z-index:2}
.detail-card>.section-head h2{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.detail-card>.section-head h2 small{padding:4px 8px;border-radius:999px;font:500 9px sans-serif}.detail-card>.section-head h2 small.menstrual{background:#f4d6db}.detail-card>.section-head h2 small.follicular{background:#e4f0df}.detail-card>.section-head h2 small.ovulation{background:#f5edc8}.detail-card>.section-head h2 small.luteal{background:#e9dff0}
.daily-checkin{margin-top:18px;padding-top:15px;border-top:1px solid #eee5d7}.quick-record-row{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:7px;margin:8px 0}.quick-record-row>span{font:600 13px serif;text-align:left}.quick-options{display:flex;align-items:center;justify-content:space-between;gap:4px}.quick-options button{min-width:42px;min-height:42px;padding:3px;border:1px solid transparent;border-radius:12px;background:transparent;font-size:22px;cursor:pointer}.quick-options button.chosen{border-color:var(--green);background:var(--pale);box-shadow:0 3px 9px rgba(92,135,107,.12);transform:translateY(-1px)}
.bowel-quick button{display:flex;flex:1;align-items:center;justify-content:center;gap:3px;font-size:18px}.bowel-quick small{font-size:8px;white-space:nowrap}.period-start-button{width:100%;margin:7px 0 3px;padding:9px;border:1px solid #e5cbd0;border-radius:12px;background:#fff8f9;color:#9a6871;font-size:10px;cursor:pointer}.period-start-button.active{background:#f4d6db;border-color:#d5a4ad}.daily-save{width:100%;margin-top:10px}.daily-message{height:15px;margin:7px 0 -5px;color:var(--deep);font-size:10px}
.cycle-settings{margin:20px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fbfaf6}.setting-switch-row{display:flex;align-items:center;justify-content:space-between;text-align:left}.setting-switch-row b{display:block;font:600 14px serif}.setting-switch-row small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.switch input{position:absolute;opacity:0}.switch span{display:block;position:relative;width:42px;height:24px;border-radius:999px;background:#ddd;cursor:pointer}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.15);transition:.2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translateX(18px)}.dialog-weight.compact input{font-size:21px}.date-input{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.setting-note{margin:7px 0 0;color:var(--muted);font-size:8px;line-height:1.6}
@media(max-width:370px){.quick-record-row{grid-template-columns:36px 1fr}.quick-options button{min-width:37px}.bowel-quick button{gap:1px}.bowel-quick small{font-size:7px}}

/* v12: 今日と選択日の記録を共通化・各オプションを見出しへ */
.record-form>.weight-input{max-width:230px;margin:2px auto 0}.record-form>.weight-input input{width:150px}.record-form .record-save{display:block;width:100%;margin-top:12px}.compact-checkin{margin-top:14px;padding-top:13px}.today-card .compact-checkin{text-align:left}.today-card .save-message{text-align:center}
.record-date-line{display:flex;align-items:center;justify-content:center;gap:8px;min-height:20px}.record-date-line small{padding:4px 8px;border-radius:999px;font-size:8px}.record-date-line small.menstrual{background:#f4d6db}.record-date-line small.follicular{background:#e4f0df}.record-date-line small.ovulation{background:#f5edc8}.record-date-line small.luteal{background:#e9dff0}
.record-date-line small:empty,.detail-card>.section-head h2 small:empty{display:none}
.selected-record-form{width:100%}.selected-record-form>.weight-input{display:flex}.detail-card .daily-checkin{margin-top:14px}.detail-card .daily-message{text-align:center}
.option-button{flex:0 0 auto;padding:6px 10px;border:1px solid #ddd2c1;border-radius:999px;background:#fffaf2;color:#786c5c;font-size:9px;letter-spacing:.03em;cursor:pointer}.calendar-section-head{margin-bottom:7px}.calendar-section-head h2{margin:0;font-size:17px}.cycle-summary{min-height:14px;margin:5px 0 0;color:#928778;font-size:8px}
.graph-card>.section-head{align-items:flex-start}.graph-trend{display:block;max-width:none;min-height:14px;margin:7px 0 -5px;text-align:right}.metric-tabs{display:flex;gap:5px;margin-top:10px;overflow-x:auto;scrollbar-width:none}.metric-tabs::-webkit-scrollbar{display:none}.metric-tabs button{flex:0 0 auto;padding:7px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#8c8175;font-size:9px;cursor:pointer}.metric-tabs button.active{border-color:var(--green);background:var(--pale);color:var(--deep);font-weight:700}.empty-graph div{text-align:center;line-height:1.9}.empty-graph b{color:#66765c;font:600 14px serif}
.metric-options{display:grid;gap:8px;margin:15px 0}.metric-options label{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:7px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.metric-options input{width:17px;height:17px;accent-color:var(--green)}.metric-options span{font:600 13px serif}.metric-options small{color:var(--muted);font-size:8px}.cycle-settings{margin-top:10px}
@media(max-width:370px){.record-form>.weight-input{max-width:205px}.record-form>.weight-input input{width:135px}.option-button{padding-inline:8px}}

/* v13: 測定項目の実入力・周期履歴の自動除外 */
.record-metric-tabs{display:flex;justify-content:center;gap:5px;margin:2px 0 12px;overflow-x:auto;scrollbar-width:none}.record-metric-tabs::-webkit-scrollbar{display:none}.record-metric-tabs button{display:flex;align-items:baseline;gap:3px;flex:0 0 auto;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#887f74;font-size:9px;cursor:pointer}.record-metric-tabs button small{font-size:7px}.record-metric-tabs button.active{border-color:var(--green);background:var(--pale);color:var(--deep);font-weight:700}
.record-metric-tabs button{position:relative}.record-metric-tabs button.has-draft:after{content:"";position:absolute;top:-3px;right:-2px;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:#d99a58;box-shadow:0 1px 4px rgba(117,78,38,.2)}
.measurement-fields{min-height:54px;display:grid;place-items:center}.measurement-fields>.weight-input{width:230px}.blood-pressure-fields{display:flex;align-items:flex-end;justify-content:center;gap:5px;border-bottom:1px solid #cbdccf}.blood-pressure-fields label{display:flex;align-items:baseline;gap:3px}.blood-pressure-fields label small{color:var(--muted);font-size:9px}.blood-pressure-fields input{width:72px;padding:5px 2px;border:0;outline:0;background:transparent;text-align:center;font:500 28px/1.4 serif}.blood-pressure-fields>b{padding-bottom:9px;font-weight:400}.blood-pressure-fields>span{padding-bottom:9px;font-size:10px}
.measurement-fields:empty{min-height:0}
.bp-high{stroke:#b97d72}.bp-low{stroke:#7895a4}.weight-dot.bp-high{fill:#fff;stroke:#b97d72}.weight-dot.bp-low{fill:#fff;stroke:#7895a4}
.average-line{stroke:#c39b63;stroke-width:1.2;stroke-dasharray:5 4}.average-label{fill:#9b7545;font-size:8px}
.record-actions{display:flex;align-items:center;gap:5px}.add-metric-button{padding:7px 11px}.no-measurement{margin:7px 0;color:var(--muted);font-size:10px;text-align:center}
.cycle-history{margin-top:15px;padding-top:12px;border-top:1px solid var(--line);text-align:left}.cycle-history>p{margin:0 0 7px;color:var(--muted);font-size:9px}.cycle-history>div{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 0;border-top:1px dotted #e6ddcf}.cycle-history>div>span{font:600 11px serif}.cycle-history>div>small{grid-column:1;color:#8b8175;font-size:8px}.cycle-history>div>button{grid-column:2;grid-row:1/3;border:0;background:transparent;color:#a36f71;font-size:8px;cursor:pointer}
@media(max-width:370px){.record-metric-tabs{justify-content:flex-start}.record-metric-tabs button{padding-inline:8px}.blood-pressure-fields input{width:61px}}

/* v18: 未保存の目印・保存内容の確認・過去日の削除 */
.delete-day-button{display:block;margin:9px auto 0;padding:7px 12px;border:0;background:transparent;color:#a36f71;font-size:9px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.delete-day-button[hidden]{display:none}.daily-message,.save-message{height:auto;min-height:16px;line-height:1.55}

/* v19: 全記録のカレンダー反映・体調便通を含む未保存表示 */
.record-save,.daily-save{position:relative}.record-save.has-draft:after,.daily-save.has-draft:after{content:"";position:absolute;top:5px;right:9px;width:9px;height:9px;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:#efb15f;box-shadow:0 1px 5px rgba(89,55,24,.22)}

/* v20: 表示は維持したまま、共通健康記録と企業別設定を保存層で分離 */

/* v21: 記録した行動を小さく褒めるメッセージ */
.encouragement-message{position:relative;margin:10px 0 0;padding:13px 15px 13px 17px;overflow:hidden;border:1px solid #dfdfca;border-radius:15px;background:linear-gradient(135deg,#f7f9ef,#fffaf2);text-align:left}.encouragement-message:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:#9eae87}.encouragement-message small{display:block;margin-bottom:4px;color:#7b8a69;font-size:8px;letter-spacing:.12em}.encouragement-message p{margin:0;color:#544f46;font:500 11px/1.75 serif}

/* v22: メッセージを読みやすいゴシック体へ */
.encouragement-message small{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:10px;font-weight:600}.encouragement-message p{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:13px;font-weight:500;line-height:1.7}

/* v23: 今月の記録・先週の振り返り・ハーブ版の葉っぱ */
.habit-progress{display:grid;grid-template-columns:1fr 86px;gap:11px;margin-top:10px;padding:13px;border:1px solid #e4dfd1;border-radius:17px;background:#fffdfa;text-align:left}.month-progress{display:flex;align-items:center;gap:11px}.month-ring{--ring-progress:0deg;display:grid;place-items:center;flex:0 0 62px;width:62px;height:62px;border-radius:50%;background:conic-gradient(#8da277 var(--ring-progress),#edf0e8 0)}.month-ring:before{content:"";grid-area:1/1;width:48px;height:48px;border-radius:50%;background:#fffdfa}.month-ring>div{z-index:1;grid-area:1/1;display:flex;align-items:baseline;justify-content:center}.month-ring strong{font:600 20px/1 serif;color:#5e7153}.month-ring small{margin-left:2px;color:#7f8778;font-size:8px}.month-progress>div>small{color:#78876b;font-size:9px;font-weight:600;letter-spacing:.08em}.month-progress p{margin:4px 0 0;color:#8a8278;font-size:9px;line-height:1.6}
.herb-growth{align-self:center;text-align:center}.herb-growth svg{display:block;width:70px;height:60px;margin:auto;overflow:visible}.herb-growth .seed{fill:#b79a73}.herb-growth .plant-part{fill:#8eaa7d;stroke:#718d65;stroke-width:1;opacity:.08;transform:scale(.88);transform-origin:48px 72px;transition:opacity .35s,transform .35s}.herb-growth .stem{fill:none;stroke-width:2}.herb-growth small{display:block;margin-top:2px;color:#7b8a70;font-size:7px;white-space:nowrap}.growth-stage-2 .stem,.growth-stage-2 .leaf-1,.growth-stage-3 .stem,.growth-stage-3 .leaf-1,.growth-stage-3 .leaf-2,.growth-stage-4 .stem,.growth-stage-4 .leaf-1,.growth-stage-4 .leaf-2,.growth-stage-4 .leaf-3,.growth-stage-5 .stem,.growth-stage-5 .leaf,.growth-stage-6 .plant-part{opacity:1;transform:scale(1)}.growth-stage-5 .top-leaf{opacity:.08}.growth-stage-6 .top-leaf{fill:#789e6a}
.weekly-review-toggle{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 11px;border:1px solid #e2ded3;border-radius:12px;background:#fff;color:#66745d;font-size:10px;font-weight:600;cursor:pointer}.weekly-review-toggle b{font-size:15px;font-weight:400}.weekly-review{grid-column:1/-1;padding:11px 12px;border-radius:12px;background:#f5f7f0}.weekly-review[hidden]{display:none}.weekly-review small{display:block;margin-bottom:6px;color:#8a8378;font-size:8px}.weekly-review p{margin:3px 0;color:#544f47;font-size:11px;line-height:1.55}.weekly-review p:before{content:"・";color:#8da277}
@media(max-width:370px){.habit-progress{grid-template-columns:1fr 76px;padding:11px}.month-ring{flex-basis:56px;width:56px;height:56px}.month-ring:before{width:43px;height:43px}.herb-growth svg{width:62px}}

/* v24: 保存済み記録から一つの気づきと月まとめを表示 */
.insight-card{margin-top:10px;padding:14px 15px;border:1px solid #dce4df;border-radius:16px;background:linear-gradient(135deg,#f2f7f4,#fff);text-align:left}.insight-card>small{display:block;margin-bottom:5px;color:#668071;font-size:10px;font-weight:700;letter-spacing:.09em}.insight-card>p{margin:0;color:#4e5550;font-size:13px;font-weight:500;line-height:1.7}.insight-card>button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:10px;padding:9px 1px 1px;border:0;border-top:1px solid #dfe7e2;background:transparent;color:#60766a;font-size:10px;font-weight:600;cursor:pointer}.insight-card>button b{font-size:15px;font-weight:400}.month-summary-card h2{margin-bottom:14px}.month-summary-lines{display:grid;gap:7px;margin:0 0 15px}.month-summary-lines p{position:relative;margin:0;padding:10px 11px 10px 26px;border-radius:11px;background:#f4f7f3;color:#4e554f;font-size:12px;line-height:1.65}.month-summary-lines p:before{content:"✓";position:absolute;left:10px;top:10px;color:#78916e;font-weight:700}.summary-caution{margin:0 2px 16px;color:#8c857d;font-size:8px;line-height:1.65}

/* v15: 未記録は ----、最初の▲▼で直近値を呼び出す */
.measurement-stepper{display:grid;grid-template-columns:32px minmax(78px,1fr) 32px;align-items:center;gap:3px}.measurement-stepper button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #dfe7dc;border-radius:50%;background:#f7faf5;color:var(--deep);font-size:9px;cursor:pointer}.measurement-stepper button:active{background:var(--pale);transform:scale(.96)}.measurement-stepper input{width:100%;min-width:0;border:0;outline:0;background:transparent;text-align:center;font:500 32px/1.4 serif;-moz-appearance:textfield}.measurement-stepper input::-webkit-inner-spin-button,.measurement-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.measurement-stepper input::placeholder{color:#b7b1a8;letter-spacing:.06em}
.weight-input>.measurement-stepper{flex:1}.blood-pressure-fields .measurement-stepper{grid-template-columns:23px 48px 23px;gap:1px}.blood-pressure-fields .measurement-stepper button{width:23px;height:27px;font-size:7px}.blood-pressure-fields .measurement-stepper input{width:48px;font-size:25px}.blood-pressure-fields label{align-items:center}.blood-pressure-fields label>small{margin-right:1px}.blood-pressure-fields>b,.blood-pressure-fields>span{padding-bottom:8px}
@media(max-width:370px){.measurement-stepper{grid-template-columns:29px minmax(72px,1fr) 29px}.measurement-stepper button{width:29px;height:29px}.blood-pressure-fields .measurement-stepper{grid-template-columns:21px 42px 21px}.blood-pressure-fields .measurement-stepper button{width:21px}.blood-pressure-fields .measurement-stepper input{width:42px;font-size:22px}}

/* v8: 大きなコンシェルジュ写真 */
.concierge-message{grid-template-columns:124px minmax(0,1fr);gap:14px;align-items:center}.concierge-avatar{width:124px;height:124px;border-radius:24px;border:3px solid #fff;background:#e8f0f6;overflow:hidden}.concierge-avatar img{position:relative;left:50%;top:50%;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 18%;transform:translate(-50%,-50%) scale(2.25);transform-origin:50% 27%}.concierge-balloon{min-height:112px;display:flex;align-items:center}.concierge-balloon:before{top:48px}
@media(max-width:370px){.concierge-message{grid-template-columns:108px minmax(0,1fr);gap:10px}.concierge-avatar{width:108px;height:108px;border-radius:21px}.concierge-avatar img{transform:translate(-50%,-50%) scale(2.25)}.concierge-balloon{min-height:102px;padding:11px}.concierge-balloon:before{top:42px}}

/* v9: トップ右側と同じ表示方法の人物写真 */
.concierge-message{grid-template-columns:138px minmax(0,1fr);gap:14px;align-items:stretch}.concierge-avatar{display:block;position:relative;width:138px;height:144px;padding:0;border:0;border-radius:22px;background:#edf2f5;overflow:hidden;box-shadow:0 8px 20px rgba(62,65,73,.14)}.concierge-avatar img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center top;transform:none}.concierge-balloon{min-height:144px;padding:16px 17px}.concierge-balloon:before{top:55px}
@media(max-width:370px){.concierge-message{grid-template-columns:116px minmax(0,1fr);gap:10px}.concierge-avatar{width:116px;height:132px;border-radius:19px}.concierge-avatar img{transform:none}.concierge-balloon{min-height:132px;padding:12px}.concierge-balloon:before{top:50px}}

/* v25: 褒める・見る・押すを分離 */
.insight-section-title{margin-bottom:9px!important}.today-insight{padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.78)}.today-insight small,.recent-memo small{display:block;margin-bottom:4px;color:#74867b;font-size:9px;font-weight:700}.today-insight p,.recent-memo p{margin:0;color:#4e5550;font-size:12px;font-weight:500;line-height:1.65}.recent-memo{margin-top:8px;padding:9px 11px;border-left:3px solid #a8baa9;background:#f8faf7}.recent-memo[hidden]{display:none}.insight-actions{display:grid;gap:7px;margin-top:11px}.insight-actions button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 11px;border:1px solid #d9e2dc;border-radius:12px;background:#fff;color:#60766a;font-size:10px;font-weight:600;cursor:pointer}.insight-actions button b{font-size:15px;font-weight:400}.summary-period{margin:-9px 0 12px;color:#878078;font-size:9px}.habit-progress{grid-template-rows:auto}.month-progress,.herb-growth{min-height:68px}

/* v26: 今日の記録・7日間の積み重ね・記録から見えることを分離 */
.today-card .stats{margin:14px 0 2px}.today-card .record-save{margin-top:12px}.today-card .save-message{margin-bottom:-8px}.encouragement-card{padding:16px 17px}.encouragement-card .encouragement-message{margin:0;padding:0;border:0;border-radius:0;background:transparent;text-align:center}.encouragement-card .encouragement-message:before{display:none}.encouragement-card .encouragement-message p{font-size:13px;font-weight:600;line-height:1.65}.record-stamps,.memo-icon-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.record-stamps{margin-top:13px}.day-visual{display:grid;justify-items:center;gap:4px;min-width:0}.day-visual>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #e7e2d8;border-radius:50%;background:#faf9f5;color:#fff;font-size:11px;font-weight:700}.day-visual>small{margin:0!important;color:#9a9389!important;font-size:7px!important;font-weight:500!important}.day-visual.recorded>span{border-color:#91a982;background:linear-gradient(135deg,#a7bb99,#79956c);box-shadow:0 3px 8px rgba(92,123,80,.18)}.day-visual.empty>span{color:#c9c4bb;background:#fff;border-color:#e7e2da}.day-visual.is-today>span{outline:2px solid #d2b987;outline-offset:2px}.recent-memo{padding:10px 11px 8px}.memo-icon-days{margin-top:8px}.memo-icon-days .day-visual>span{width:31px;height:31px;border:0;background:transparent;font-size:20px}.memo-icon-days .day-visual.empty>span{color:#c9c4bb;font-size:13px}.bowel-legend{margin-top:8px!important;color:#969087!important;font-size:7px!important;text-align:center}.insight-card{margin-top:10px}.insight-card .today-insight{margin-bottom:9px}
@media(max-width:370px){.record-stamps,.memo-icon-days{gap:2px}.day-visual>span{width:25px;height:25px}.memo-icon-days .day-visual>span{width:28px;height:28px;font-size:18px}}

/* v27: 7日分を同じ時間軸へ統合し、統計を記録枠の外へ */
.outside-stats{margin:10px 3px 0}.outside-stats div{border:1px solid #e4e8df;box-shadow:0 3px 9px rgba(89,103,83,.04)}.encouragement-card .encouragement-message p{max-width:100%;text-align:center}.seven-day-overview{display:grid;grid-template-columns:36px repeat(7,minmax(0,1fr));align-items:center;gap:5px 3px;margin-top:12px}.overview-weekday{text-align:center;color:#5e5b56;font-size:10px;font-weight:700}.overview-weekday.is-today{color:#687c5f;text-decoration:underline;text-decoration-color:#c4ab78;text-decoration-thickness:2px;text-underline-offset:3px}.overview-row-label{color:#69645e;font-size:10px;font-weight:700;text-align:left}.overview-stamp,.overview-icon{display:grid;place-items:center;min-width:0;text-align:center}.overview-stamp{height:24px;color:#dedad1;font-size:19px;line-height:1}.overview-stamp.recorded{color:#829c73;text-shadow:0 2px 5px rgba(95,126,80,.18)}.overview-stamp.is-today{filter:drop-shadow(0 0 2px #d5bd8d)}.overview-icon{height:29px;font-size:19px}.overview-icon.empty{color:#d0cbc3;font-size:12px}.encouragement-card>.bowel-legend{margin:8px 0 0 36px!important;color:#969087!important;font-size:7px!important;text-align:center}.insight-card .today-insight{margin:0;padding:11px 12px}.insight-card .today-insight p{font-size:13px;line-height:1.7}.insight-card .insight-actions{margin-top:10px}
@media(max-width:370px){.seven-day-overview{grid-template-columns:32px repeat(7,minmax(0,1fr));gap:4px 1px}.overview-weekday,.overview-row-label{font-size:9px}.overview-icon{font-size:17px}.overview-stamp{font-size:17px}.encouragement-card>.bowel-legend{margin-left:32px!important}}

/* v28: 便通は果物アイコンで明るく区別 */
.bowel-quick button{font-size:20px}.encouragement-card>.bowel-legend{letter-spacing:.02em}

/* v30: 「整える時間。」一般版 */
html[data-brand="totonoeru"]{--green:#b47791;--deep:#8a5870;--pale:#f8eaf0;--cream:#f7eee8;--paper:#fffafd;--line:#eadbe2}
html[data-brand="totonoeru"] body{background:#eee8df}
html[data-brand="totonoeru"] .shell{background:linear-gradient(#fffafd,#f7f1eb)}
html[data-brand="totonoeru"] .calendar-hero{min-height:181px;background:radial-gradient(circle at 84% 15%,#fff 0,#fff5fa 38%,#fffaf2 100%);border-color:#ead8e1;box-shadow:0 10px 28px rgba(117,75,96,.09)}
html[data-brand="totonoeru"] .calendar-hero:after{left:auto;right:-18px;bottom:-42px;width:175px;height:175px;border-radius:50%;clip-path:none;background:#efe5f2;opacity:.7}
html[data-brand="totonoeru"] .calendar-title{width:72%}
html[data-brand="totonoeru"] .brand-sign{display:block;width:auto!important;height:auto!important;max-width:100%;color:#81546b;text-decoration:none}
html[data-brand="totonoeru"] .brand-sign strong{display:block;font:500 18px/1.35 serif;letter-spacing:.12em}
html[data-brand="totonoeru"] .brand-sign small{display:block!important;margin-top:2px;color:#a48695;font:500 7px/1.4 sans-serif;letter-spacing:.08em;white-space:nowrap}
html[data-brand="totonoeru"] .calendar-title p{margin-top:15px;color:#a47a8e}
html[data-brand="totonoeru"] .calendar-title h1{color:#654a57}
.calendar-hero-mark{position:absolute;z-index:1;right:22px;top:29px;display:grid;place-items:center;width:105px;height:105px;border:1px solid #ead4df;border-radius:50%;background:rgba(255,255,255,.82);box-shadow:0 10px 28px rgba(122,76,99,.09)}
.calendar-hero-mark span{color:#b57996;font:400 48px/1 serif;transform:translate(-3px,-2px)}
.calendar-hero-mark i{position:absolute;right:15px;top:18px;color:#d4a3b9;font-size:16px;font-style:normal}

.next-step-card{padding:20px 17px 18px;border-color:#e7d7df;background:linear-gradient(#fff,#fffafc)}
.next-step-card>.eyebrow{text-align:center;margin:0 0 5px;color:#b07a92}
.next-step-card>h2{text-align:center;margin:0 8px 7px;color:#674f5a;font-size:18px}
.next-step-card>.lead{text-align:center;margin:0 0 18px}
.content-group{margin-top:18px}
.content-group:first-of-type{margin-top:0}
.content-group>h3{margin:0 0 8px;color:#8e7480;font-size:10px;letter-spacing:.04em}
.content-links{display:grid;gap:7px}
.content-links a{position:relative;display:grid;gap:3px;padding:12px 34px 11px 13px;border:1px solid #eadce3;border-radius:14px;background:#fff;color:#5f5258;text-decoration:none;box-shadow:0 3px 10px rgba(100,70,85,.035)}
.content-links a b{font:600 13px/1.4 serif}
.content-links a span{color:#96858d;font-size:9px;line-height:1.5}
.content-links a i{position:absolute;right:13px;top:50%;color:#b17b94;font-size:18px;font-style:normal;transform:translateY(-50%)}
.content-links a:hover,.content-links a:focus-visible{border-color:#c995ac;background:#fff8fb;outline:0;transform:translateY(-1px)}
.featured-links{grid-template-columns:1fr 1fr}
.featured-links a{min-height:88px;padding:13px 27px 12px 13px;background:linear-gradient(135deg,#fff7fb,#fffdf8)}
.theme-links{grid-template-columns:1fr 1fr}
.theme-links a:last-child{grid-column:1/-1}
.life-group .content-links a{background:linear-gradient(135deg,#fffaf1,#fff)}
.next-step-card .privacy-note{margin-top:17px;padding-top:12px;border-top:1px solid #f0e5ea;line-height:1.65}
html[data-brand="totonoeru"] .primary{background:linear-gradient(135deg,#c4829d,#9b627f);box-shadow:0 7px 16px rgba(155,98,127,.22)}
html[data-brand="totonoeru"] .metric-tabs button.active,html[data-brand="totonoeru"] .record-metric-tabs button.active,html[data-brand="totonoeru"] .quick-options button.chosen{border-color:#b47791;background:#f8eaf0}
@media(max-width:370px){
  html[data-brand="totonoeru"] .calendar-title{width:76%}
  html[data-brand="totonoeru"] .calendar-title h1{font-size:23px}
  .calendar-hero-mark{right:12px;top:36px;width:86px;height:86px}.calendar-hero-mark span{font-size:40px}
  .featured-links{grid-template-columns:1fr}.featured-links a{min-height:auto}
  .theme-links{grid-template-columns:1fr}.theme-links a:last-child{grid-column:auto}
}
