:root{--brand-700:#715727;--brand-800:#5c4720;--brand-100:#fbeed3;--accent:#eca318;--bg:#f5f0e4;--card:#fff;--ink:#2e2618;--sub:#5f5440;--line:#e8e0cd;--danger:#b0413d;--warn:#8a6011;--shadow:0 4px 16px #5a461e14}*{box-sizing:border-box}html,body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#ded5bf;margin:0;padding:0;font-family:Zen Kaku Gothic New,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,sans-serif}button{cursor:pointer;color:var(--ink);font-family:inherit}.phone{background:var(--bg);flex-direction:column;max-width:430px;min-height:100dvh;margin:0 auto;display:flex;position:relative;box-shadow:0 0 40px #503c142e}.app-header{background:var(--card);border-bottom:1px solid var(--line);z-index:10;align-items:baseline;gap:10px;padding:14px 20px;display:flex;position:sticky;top:0}.app-header-brand{letter-spacing:.05em;font-size:17px;font-weight:800}.app-header-sub{color:var(--sub);font-size:13px}.app-main{flex:1;padding-bottom:104px}.hero{background:linear-gradient(180deg, #f5f0e400 72%, var(--bg) 100%), url(/hero-illust.jpg) top center / 100% auto no-repeat;padding:28px 24px 80px}.hero-brand{letter-spacing:.12em;color:var(--brand-700);margin:0;font-size:14px;font-weight:700}.hero-title{letter-spacing:.02em;margin:4px 0 10px;font-size:29px;font-weight:800}.hero-lead{color:var(--sub);margin:0;font-size:15px;font-weight:600;line-height:1.7}.home-screen{margin-top:-10px}.screen{flex-direction:column;gap:26px;padding:20px;display:flex}.section-title{letter-spacing:.02em;margin:0 0 14px;font-size:19px;font-weight:800}.screen>.section-title{margin:0 0 -12px}.section-note{color:var(--sub);margin:-6px 0 -12px;font-size:14px;line-height:1.6}.icon-tile{background:var(--brand-100);width:48px;height:48px;color:var(--brand-700);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.resident-card{background:var(--card);box-shadow:var(--shadow);border-radius:20px;align-items:center;gap:16px;padding:20px;display:flex}.resident-card-text{flex-direction:column;gap:2px;display:flex}.resident-card-name{font-size:21px;font-weight:800}.resident-card-meta{color:var(--sub);font-size:14px}.task-card{background:var(--card);box-shadow:var(--shadow);text-align:left;border:none;border-radius:20px;align-items:flex-start;gap:16px;width:100%;padding:20px 18px;display:flex}.task-content{flex-direction:column;gap:7px;padding-top:2px;display:flex}.task-card-title{font-size:17px;font-weight:700;line-height:1.5}.task-card-body{color:var(--sub);font-size:14px;line-height:1.7}.task-card-action{color:var(--brand-700);margin-top:2px;font-size:15px;font-weight:700}.visit-time{color:var(--brand-700);letter-spacing:.02em;font-size:30px;font-weight:800}.zero-state{background:var(--brand-100);color:var(--brand-800);text-align:center;border-radius:20px;padding:22px 16px;font-size:15px;font-weight:600;line-height:1.8}.zero-state-icon{color:var(--brand-700);justify-content:center;margin-bottom:8px;display:flex}.quick-actions{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.quick-action{background:var(--card);box-shadow:var(--shadow);border:none;border-radius:16px;align-items:center;gap:10px;padding:18px 16px;font-size:15px;font-weight:700;display:flex}.quick-action svg{color:var(--brand-700);flex-shrink:0}.card-list{flex-direction:column;gap:14px;display:flex}.notice-card,.doc-card{background:var(--card);box-shadow:var(--shadow);text-align:left;border:none;border-radius:20px;width:100%;padding:19px 18px}.notice-head{align-items:center;gap:8px;display:flex}.notice-date{color:var(--sub);margin-left:auto;font-size:13px}.notice-title{margin-top:8px;font-size:16px;font-weight:700;line-height:1.5;display:block}.notice-body{color:var(--sub);margin-top:8px;font-size:14px;line-height:1.7;display:block}.badge{white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}.badge-event{color:#8a5c06;background:#f9e3b8}.badge-info{background:var(--brand-100);color:var(--brand-800)}.badge-important,.badge-todo{color:var(--danger);background:#f6e1df}.badge-done{color:#4f5c0d;background:#edf2c8}.badge-pending{color:var(--warn);background:#f3ead0}.badge-option{color:#5c4391;background:#eae4f2}.option-card{background:var(--card);box-shadow:var(--shadow);border-radius:20px;padding:19px 18px}.option-card-head{color:var(--brand-700);align-items:center;gap:8px;display:flex}.option-card-head-icon{color:var(--brand-700);display:flex}.option-card-title{color:var(--ink);font-size:15px;font-weight:700}.option-card-body{color:var(--sub);margin:8px 0 10px;font-size:14px;line-height:1.7}.usual-card{background:var(--card);box-shadow:var(--shadow);border:none;border-left:5px solid var(--brand-700);text-align:left;border-radius:20px;flex-direction:column;gap:6px;width:100%;padding:20px 18px;display:flex}.usual-card-label{color:var(--brand-700);font-size:14px;font-weight:700}.usual-card-value{font-size:19px;font-weight:800}.calendar-card{background:var(--card);box-shadow:var(--shadow);border-radius:20px;padding:20px 18px}.calendar-month{text-align:center;margin-bottom:12px;font-size:17px;font-weight:800}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-weekday{color:var(--sub);text-align:center;padding:4px 0;font-size:12px;font-weight:600}.calendar-day{aspect-ratio:1;background:0 0;border:none;border-radius:50%;font-size:15px;font-weight:600}.calendar-day:disabled{color:#b3a98f;cursor:default;font-weight:400}.calendar-day.is-today{outline:2px solid var(--brand-700);outline-offset:-2px}.calendar-day.is-selected{background:var(--brand-700);color:#fff;font-weight:800}.slot-card{background:var(--card);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:16px;padding:20px 18px;display:flex}.slot-title{margin:0;font-size:17px;font-weight:800}.slot-hint{color:var(--sub);margin:0;font-size:14px;line-height:1.6}.slot-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.slot{border:1.5px solid var(--line);background:var(--card);border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;font-size:16px;font-weight:800;display:flex}.slot-status{color:var(--sub);font-size:12px;font-weight:500}.slot:disabled{background:var(--bg);color:#968b72;cursor:default}.slot:disabled .slot-status{color:#968b72}.slot.is-selected{border-color:var(--brand-700);background:var(--brand-100);color:var(--brand-800)}.slot.is-selected .slot-status{color:var(--brand-800)}.meal-toggle{align-items:flex-start;gap:10px;font-size:15px;line-height:1.5;display:flex}.meal-toggle input{width:22px;height:22px;accent-color:var(--brand-700);margin-top:2px}.meal-toggle small{color:var(--sub);margin-top:2px;font-size:13px;display:block}.summary-line{text-align:center;background:var(--brand-100);color:var(--brand-800);border-radius:12px;margin:0;padding:10px;font-size:15px;font-weight:700}.button-primary{background:var(--brand-700);color:#fff;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px;font-size:16px;font-weight:700;display:inline-flex}.button-primary:disabled{cursor:default;background:#c2b8a3}.button-secondary{background:var(--card);color:var(--brand-800);border:1.5px solid var(--brand-700);border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:15px;font-weight:700;display:inline-flex}.button-cancel{background:var(--card);color:var(--danger);border:1.5px solid var(--danger);border-radius:14px;width:100%;padding:15px;font-size:16px;font-weight:700}.button-small{width:auto;margin-top:10px;padding:9px 14px;font-size:14px}.form-card{background:var(--card);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:20px;padding:20px 18px;display:flex}.segment{background:var(--bg);border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segment-item{color:var(--sub);background:0 0;border:none;border-radius:11px;padding:10px;font-size:16px;font-weight:700}.segment-item.is-selected{background:var(--card);color:var(--brand-800);box-shadow:0 1px 4px #5a461e1f}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:14px;font-weight:700}.field input,.field textarea{border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:12px;font-family:inherit;font-size:16px}.field-note{color:var(--sub);text-align:center;margin:0;font-size:13px}.meal-checks{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.meal-check{border:1.5px solid var(--line);text-align:center;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:15px;font-weight:700;display:flex}.meal-check input{accent-color:var(--brand-700);width:18px;height:18px}.meal-check.is-selected{border-color:var(--brand-700);background:var(--brand-100);color:var(--brand-800)}.doc-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.doc-title{font-size:15px;font-weight:700;line-height:1.5}.doc-note{color:var(--sub);margin-top:6px;font-size:13px}.invoice-amount{color:var(--brand-800);letter-spacing:.01em;margin-top:8px;font-size:26px;font-weight:800}.invoice-actions{gap:8px;display:flex}.complete-card{background:var(--card);box-shadow:var(--shadow);text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:16px;margin-top:24px;padding:38px 24px;display:flex}.complete-icon{background:var(--brand-100);width:64px;height:64px;color:var(--brand-700);border-radius:50%;justify-content:center;align-items:center;display:flex}.complete-title{margin:0;font-size:20px;font-weight:800}.complete-body{margin:0;font-size:16px;line-height:1.8}.complete-note{color:var(--sub);margin:0;font-size:13px;line-height:1.7}.help-footer{text-align:center;flex-direction:column;gap:10px;padding:14px 20px 30px;display:flex}.help-footer-text{color:var(--sub);margin:0;font-size:14px}.help-footer-button{background:var(--card);border:1.5px solid var(--brand-700);color:var(--brand-800);border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.tab-bar{background:var(--card);border-top:1px solid var(--line);width:100%;max-width:430px;padding:10px 8px calc(10px + env(safe-area-inset-bottom));z-index:20;grid-template-columns:repeat(5,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{color:var(--sub);background:0 0;border:none;border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:7px 0 6px;display:flex}.tab.is-active{color:var(--brand-800);background:var(--brand-100);font-weight:700}.tab-icon{display:flex}.tab-label{font-size:12px}.status-line{color:var(--warn);background:#f3ead0;border-radius:10px;margin:0;padding:9px 14px;font-size:14px;font-weight:700}.status-line.is-confirmed{color:#4f5c0d;background:#edf2c8}.complete-icon.is-waiting{color:var(--warn);background:#f3ead0}.undo-banner{background:var(--card);border:1.5px dashed var(--line);color:var(--sub);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;font-size:14px;display:flex}.undo-banner-button{color:var(--brand-700);white-space:nowrap;background:0 0;border:none;font-size:14px;font-weight:700;text-decoration:underline}.badge-tsushin{color:#3d5577;background:#e7ebf3}.paper-card{background:var(--card);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:18px;padding:24px 20px;display:flex}.paper-head{border-bottom:2px solid var(--ink);flex-direction:column;gap:4px;padding-bottom:12px;display:flex}.paper-title{font-size:19px;font-weight:800}.paper-meta{color:var(--sub);font-size:13px}.paper-lines{flex-direction:column;display:flex}.paper-line{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 2px;font-size:15px;display:flex}.paper-line.is-minus{color:var(--brand-700);font-weight:700}.paper-line.is-total{border-bottom:none;padding-top:14px;font-size:17px;font-weight:800}.paper-note{color:var(--sub);margin:0;font-size:13px;line-height:1.7}.survey-form{flex-direction:column;gap:12px;margin-top:12px;display:flex}.survey-form .field-label{margin:0;font-size:14px;font-weight:700}.survey-textarea{border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:12px;font-family:inherit;font-size:16px}
