 
:root{--green:#245B4A;--green2:#31745F;--ink:#1F2925;--muted:#69756F;--bg:#F5F7F4;--card:#fff;--line:#DEE6E1;--blue:#E9F1FB;--shadow:0 8px 30px rgba(31,41,37,.08)}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit}.app{max-width:1080px;margin:0 auto;padding-bottom:92px}.hero{position:relative;background:linear-gradient(135deg,#245B4A,#387963);color:#fff;padding:26px 18px 22px;border-radius:0 0 28px 28px;box-shadow:var(--shadow)}
.hero-inner{max-width:980px;margin:auto;padding-right:178px}.hero-head{display:block;min-height:84px}.hero-copy{min-width:0}.hero-brand{position:absolute;top:12px;right:14px;display:flex;justify-content:flex-end;align-items:flex-start;z-index:2}.hero-brand img{display:block;max-width:142px;width:100%;height:auto;background:#fff;padding:7px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.45);box-shadow:0 7px 18px rgba(0,0,0,.16)}.eyebrow{font-size:12px;opacity:.8;letter-spacing:.08em}.hero h1{font-size:28px;line-height:1.25;margin:6px 0 5px}.hero p{font-size:14px;opacity:.92;margin:0}.topstats{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.stat{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.17);border-radius:14px;padding:8px 12px;font-size:13px}.stat b{font-size:18px;margin-right:4px}.main{padding:16px}.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 4px 18px rgba(31,41,37,.04);margin-bottom:14px}.search{display:flex;gap:8px}.search input{flex:1;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font-size:16px;background:#FBFCFB;outline:none}.search input:focus{border-color:#7AA895;box-shadow:0 0 0 3px #E5F0EB}.chips{display:flex;gap:8px;overflow:auto;padding:4px 1px 2px;scrollbar-width:none}.chip{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;cursor:pointer;color:#42504A}.chip.active{background:var(--green);border-color:var(--green);color:#fff}.section-title{display:flex;justify-content:space-between;align-items:center;margin:7px 2px 10px}.section-title h2{font-size:16px;margin:0}.count{font-size:13px;color:var(--muted)}.pref-title{font-weight:700;font-size:14px;margin-bottom:8px}.pref-note{font-size:12px;color:var(--muted);margin:7px 2px 0}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:0 4px 14px rgba(31,41,37,.04);cursor:pointer;position:relative}.card:active{transform:scale(.995)}.cardtop{display:flex;justify-content:space-between;gap:10px}.badges{display:flex;gap:5px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.district{background:#EFF4F1;color:#3F5B4F}.dementia{background:var(--blue);color:#345B8A}.fav{border:0;background:transparent;font-size:23px;line-height:1;color:#AAB2AE;cursor:pointer;padding:0}.fav.on{color:#D89A2B}.card h3{font-size:17px;line-height:1.45;margin:10px 0 6px}.activity{font-size:13px;color:#52605A;margin-bottom:11px;min-height:38px}.meta{display:grid;grid-template-columns:24px 1fr;gap:5px 6px;font-size:13px;line-height:1.45;color:#3E4B46}.meta .i{color:#7A8882}.statusrow{display:flex;align-items:center;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid #EEF2F0;font-size:12px;color:var(--muted)}.statusdot{width:8px;height:8px;border-radius:50%;background:#BEC7C2}.statusdot.candidate{background:#5C8CD7}.statusdot.planned{background:#D69A32}.statusdot.done{background:#4B9A67}.statusdot.skip{background:#A0A6A3}.empty{text-align:center;padding:42px 12px;color:var(--muted)}
.nav{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;justify-content:center;z-index:20}.navin{width:min(100%,680px);display:grid;grid-template-columns:repeat(3,1fr)}.navbtn{border:0;background:transparent;padding:10px 4px 9px;color:#6C7772;font-size:11px;cursor:pointer}.navbtn span{display:block;font-size:22px;line-height:1.1;margin-bottom:2px}.navbtn.active{color:var(--green);font-weight:700}.modalwrap{display:none;position:fixed;inset:0;background:rgba(20,29,25,.38);z-index:50;align-items:flex-end;justify-content:center}.modalwrap.open{display:flex}.modal{background:#fff;width:min(100%,720px);max-height:91vh;overflow:auto;border-radius:24px 24px 0 0;padding:20px 18px 28px;box-shadow:0 -15px 40px rgba(0,0,0,.18)}.handle{width:42px;height:4px;border-radius:3px;background:#D6DDD9;margin:-8px auto 13px}.modal h2{font-size:21px;margin:9px 0 5px}.modal .subtitle{font-size:13px;color:var(--muted);margin-bottom:14px}.detailgrid{display:grid;grid-template-columns:92px 1fr;gap:10px 8px;border-top:1px solid var(--line);padding-top:14px;font-size:14px;line-height:1.5}.label{color:var(--muted)}.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.btn{border:1px solid var(--line);border-radius:13px;padding:11px 8px;text-align:center;text-decoration:none;background:#fff;font-weight:700;font-size:13px;cursor:pointer}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.disabled{opacity:.45;pointer-events:none}.noteBox{margin-top:14px;padding:12px;background:#F4F7F5;border-radius:13px;font-size:13px;line-height:1.6}.manage{margin-top:15px;border-top:1px solid var(--line);padding-top:14px}.manage label{display:block;font-size:13px;font-weight:700;margin:8px 0 6px}.manage select,.manage textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px;font-size:14px;background:#fff}.manage textarea{min-height:80px;resize:vertical}.small{font-size:12px;color:var(--muted);line-height:1.5}.source{font-size:12px;color:#467563;word-break:break-all}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbtn{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;font-size:13px;cursor:pointer}.disclaimer{font-size:12px;color:var(--muted);line-height:1.6}.install{display:none;background:#EFF7F2;border:1px solid #CEE3D5;border-radius:14px;padding:12px;margin-bottom:14px;align-items:center;justify-content:space-between;gap:10px}.install.show{display:flex}.install button{background:var(--green);border:0;color:#fff;border-radius:10px;padding:8px 11px;font-weight:700}.view{display:none}.view.active{display:block}@media(max-width:720px){.hero-inner{padding-right:132px}.hero-head{display:block;min-height:92px}.hero-brand{top:10px;right:8px;justify-content:flex-end}.hero-brand img{max-width:118px;padding:6px 8px;border-radius:10px}.cards{grid-template-columns:1fr}.hero h1{font-size:24px;line-height:1.3}.hero p{font-size:13px}.main{padding:13px}.card{padding:14px}.activity{min-height:auto}.actions{grid-template-columns:1fr 1fr}.actions .sourcebtn{grid-column:1/-1}}@media(max-width:430px){.hero-inner{padding-right:104px}.hero-brand{top:9px;right:6px}.hero-brand img{max-width:92px;padding:5px 7px}.hero h1{font-size:22px}.hero p{font-size:12px}.stat{padding:7px 9px}.stat b{font-size:17px}}

.cardlinks{display:flex;gap:7px;margin-top:11px;flex-wrap:wrap}.miniBtn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:#F8FAF9;text-decoration:none;font-size:12px;font-weight:700;color:var(--green)}.miniBtn.disabled{opacity:.45;pointer-events:none}.detailgrid a{color:var(--green);font-weight:600}.source{display:inline-block;max-width:100%;overflow-wrap:anywhere;word-break:break-word;text-decoration:underline}


/* v13: list / weekly / monthly calendar */
.display-panel{padding:12px 14px}.display-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.display-switch{display:inline-grid;grid-template-columns:repeat(3,1fr);background:#EFF4F1;border:1px solid var(--line);border-radius:12px;padding:3px;min-width:214px}.display-btn{border:0;background:transparent;color:#52605A;border-radius:9px;padding:8px 13px;font-size:13px;font-weight:700;cursor:pointer}.display-btn.active{background:var(--green);color:#fff;box-shadow:0 2px 7px rgba(31,41,37,.12)}
.calendar-mode{margin-top:2px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 10px}.calendar-nav{display:flex;align-items:center;gap:8px}.cal-nav-btn,.today-btn{border:1px solid var(--line);background:#fff;border-radius:11px;min-height:38px;padding:7px 12px;font-weight:700;color:var(--green);cursor:pointer}.cal-nav-btn{font-size:22px;line-height:1;width:42px}.period-label{font-size:18px;font-weight:800;min-width:180px;text-align:center}.calendar-note{background:#FFF8E8;border:1px solid #F0DCA8;border-radius:13px;padding:10px 12px;font-size:12px;color:#6E5B2F;line-height:1.55;margin-bottom:9px}.calendar-legend{display:flex;gap:6px 12px;flex-wrap:wrap;font-size:11px;color:#5D6963;background:#fff;border:1px solid var(--line);border-radius:13px;padding:9px 11px;margin-bottom:10px}
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week-day{background:#fff;border:1px solid var(--line);border-radius:15px;padding:9px;min-height:190px}.week-day.today,.month-cell.today{border-color:#69A38A;box-shadow:inset 0 0 0 1px #69A38A}.week-day.selected,.month-cell.selected{background:#F1F7F4}.week-head{font-size:12px;color:var(--muted);font-weight:700;margin-bottom:6px}.week-date{font-size:19px;font-weight:800;color:var(--ink)}.week-events{display:flex;flex-direction:column;gap:5px;margin-top:8px}.week-event{border:0;text-align:left;background:#F5F8F6;border-radius:9px;padding:7px;font-size:11px;line-height:1.35;color:#33423B;cursor:pointer}.week-event.dementia-event{background:#E9F1FB;color:#345B8A}.week-event-time{font-weight:800;margin-right:4px}.no-events{font-size:11px;color:#98A19D;margin-top:11px}
.month-wrap{overflow-x:auto}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(86px,1fr));gap:5px;min-width:650px}.month-weekday{text-align:center;font-size:12px;font-weight:800;color:#66736D;padding:5px 0}.month-cell{background:#fff;border:1px solid var(--line);border-radius:11px;min-height:88px;padding:6px;cursor:pointer;position:relative}.month-cell.outside{opacity:.45}.month-date{font-size:12px;font-weight:800;margin-bottom:5px}.month-markers{display:flex;gap:3px;flex-wrap:wrap;align-items:center}.cal-marker{border:0;background:#EFF4F1;color:#2F5D4B;border-radius:7px;padding:3px 5px;min-width:24px;font-size:11px;line-height:1.15;cursor:pointer}.cal-marker.dementia-event{background:#E9F1FB;color:#345B8A;font-weight:800}.more-marker{font-size:10px;color:#6C7772;padding:2px 3px}
.day-events-panel,.undated-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px;margin-top:12px}.day-events-title,.undated-title{font-size:15px;font-weight:800;margin-bottom:9px}.day-event-list{display:flex;flex-direction:column;gap:7px}.day-event-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #E7ECE9;background:#FBFCFB;border-radius:12px;padding:9px;cursor:pointer}.day-event-symbol{font-size:20px;text-align:center}.day-event-name{font-size:13px;font-weight:800;line-height:1.35}.day-event-sub{font-size:11px;color:var(--muted);margin-top:2px}.day-event-time{font-size:12px;font-weight:700;color:#52605A;white-space:nowrap}.undated-items{display:flex;gap:7px;flex-wrap:wrap}.undated-item{border:1px solid var(--line);background:#F8FAF9;border-radius:10px;padding:7px 9px;font-size:12px;color:#43514B;cursor:pointer}.calendar-empty{background:#fff;border:1px dashed var(--line);border-radius:14px;padding:30px 12px;text-align:center;color:var(--muted);font-size:13px}
@media(max-width:720px){.display-head{align-items:stretch;flex-direction:column;gap:8px}.display-switch{width:100%;min-width:0}.display-btn{padding:9px 8px}.calendar-toolbar{align-items:center}.period-label{font-size:16px;min-width:128px}.calendar-legend{gap:5px 9px}.week-grid{grid-template-columns:1fr;gap:7px}.week-day{min-height:auto;padding:10px}.week-events{margin-top:6px}.month-grid{grid-template-columns:repeat(7,minmax(49px,1fr));min-width:0;gap:3px}.month-cell{min-height:66px;padding:4px;border-radius:8px}.month-date{font-size:11px;margin-bottom:3px}.cal-marker{font-size:10px;padding:2px 3px;min-width:20px}.month-markers{gap:2px}.month-weekday{font-size:10px}.day-event-row{grid-template-columns:32px minmax(0,1fr);}.day-event-time{grid-column:2;justify-self:start}.day-event-symbol{font-size:18px}}

/* v14 mobile/PWA reliability */
.display-btn,.cal-nav-btn,.today-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.display-switch{position:relative;z-index:3}
