/* 共通：画面全体・タブ・ボタン・入力欄など */
html{background:var(--bg)}
body{font-family:-apple-system,BlinkMacSystemFont,sans-serif;margin:0;padding:0;background:transparent;color:var(--text);-webkit-user-select:none}
body::before{content:"";position:fixed;left:0;right:0;top:0;bottom:0;z-index:-1;background:var(--page-bg);pointer-events:none}
.tab-bar{display:flex;background:var(--tab-bg);border-top:1px solid var(--border);position:fixed;left:0;right:0;bottom:0;z-index:100;padding-bottom:env(safe-area-inset-bottom)}
.tab-btn{flex:1;padding:8px 0 6px;text-align:center;background:none;border:none;font-size:.78rem;font-weight:bold;color:var(--sub);cursor:pointer}
.tab-btn svg{display:block;width:26px;height:26px;margin:0 auto 3px;fill:currentColor}
.tab-btn.active{color:var(--primary)}
.container{padding:calc(12px + env(safe-area-inset-top)) 16px calc(64px + env(safe-area-inset-bottom));max-width:600px;margin:0 auto}
.tab-content{display:none}
.tab-content.active{display:block}
.card{background:var(--card-bg);border-radius:16px;border:1px solid var(--border);padding:16px;margin-bottom:16px;box-shadow:0 2px 8px rgba(30,60,120,.05)}
.card-title{font-weight:bold;font-size:1.1rem;margin-bottom:12px}
label{font-size:.95rem;color:var(--sub);display:block;margin-top:10px}
input,textarea{width:100%;padding:12px;margin-top:4px;border:1px solid var(--input-border);border-radius:8px;box-sizing:border-box;font-size:1.1rem;font-family:inherit;background:var(--input-bg);color:var(--text)}
::placeholder{color:var(--sub);opacity:1}
input[type=date],input[type=month]{-webkit-appearance:none;appearance:none;display:block;width:100%;min-width:0;max-width:100%;min-height:48px;background:var(--date-bg);color:var(--text);text-align:center}
input[type=date]::-webkit-date-and-time-value,input[type=month]::-webkit-date-and-time-value{text-align:center;min-height:1.2em}
.row{display:flex;gap:8px}
.row>div{flex:1}
.btn{width:100%;background:var(--tint);color:var(--btn-text);border:none;padding:14px;border-radius:14px;font-size:1.05rem;font-weight:bold;margin-top:20px;cursor:pointer}
.btn-sub{background:var(--card-bg);border:1px solid var(--input-border);color:var(--btn-text);margin-top:10px}
.btn-danger{background:#ff3b30;color:#fff;border:none;margin-top:10px}
.status-msg{margin-top:10px;text-align:center;font-weight:bold;color:#34c759;min-height:24px}
.seg{display:flex;gap:8px}
.seg button{flex:1;padding:12px 4px;border-radius:12px;border:none;background:var(--tint);color:var(--btn-text);font-size:1rem;font-weight:bold;cursor:pointer}
.seg button.on{background:var(--primary);color:var(--on-primary)}
.note{font-size:.9rem;color:var(--sub);margin:6px 0 0}
.bp-high{color:var(--high);font-weight:bold}
.bp-low{color:var(--low);font-weight:bold}
.sat-color{color:var(--sat)}
.sun-color{color:var(--sun)}
.month-nav{display:flex;gap:8px;align-items:center}
.month-nav input{margin-top:0;flex:1;min-width:0}
.mnav{flex:none;width:52px;height:48px;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:1.7rem;font-weight:bold;padding:0;cursor:pointer}
.cell{background:var(--card-bg);border:1px solid var(--input-border);border-radius:14px;padding:6px 4px 2px;text-align:center}
.cell:focus-within{border-color:var(--primary)}
.cell span{display:block;font-size:.75rem;color:var(--sub)}
.cell input{border:none;background:transparent;text-align:center;font-size:1.6rem;font-weight:bold;padding:0;margin:0;height:36px;border-radius:0}
.cell input:focus{outline:none}
