:root{
  --bg:#f2f7f6;--card:#fff;--border:#d3e2df;--text:#16312d;--muted:#60746f;
  --accent:#0b6b62;--accent-dark:#084f49;--soft:#e8f5f2;--warning:#9b5b00;
  --danger:#a52b2b;--shadow:0 12px 30px rgba(20,57,50,.09)
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Noto Sans JP","Yu Gothic",sans-serif;font-size:17px;line-height:1.65}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
[hidden]{display:none!important}
.ipad-header{position:sticky;top:0;z-index:30;min-height:72px;padding:10px max(20px,env(safe-area-inset-right)) 10px max(20px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--border)}
.ipad-brand{display:flex;align-items:center;gap:12px}.ipad-brand strong,.ipad-brand small{display:block}.ipad-brand strong{font-size:20px}.ipad-brand small{font-size:14px;color:var(--muted)}
.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--accent);color:#fff;font-weight:900}
.header-actions{display:flex;gap:10px}.button{min-height:48px;padding:10px 18px;border-radius:13px;border:1px solid transparent;font-weight:800;cursor:pointer}.button:disabled{opacity:.48;cursor:not-allowed}.primary{background:var(--accent);color:#fff}.primary:hover{background:var(--accent-dark)}.secondary{background:#eef7f5;color:#0b544d;border-color:#bed8d3}.danger{background:#fff0f0;color:var(--danger);border-color:#e5aaaa}.full{width:100%}
.login-shell{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:30px}.login-card{width:min(680px,100%);background:#fff;border:1px solid var(--border);border-radius:25px;padding:40px;box-shadow:var(--shadow)}.login-card h1{margin:.35rem 0;font-size:34px;line-height:1.35}.eyebrow{margin:0;color:var(--accent);font-size:13px;font-weight:900;letter-spacing:.12em}.login-form{display:grid;gap:12px;margin-top:26px}.code-row{display:grid;grid-template-columns:1fr auto;gap:10px}.code-row input,.date-control input,.dialog-body textarea,.dialog-body select,.comment-box textarea,.task-control select{min-height:50px;padding:10px 13px;border:1px solid #bcd2ce;border-radius:12px;background:#fff}.help{font-size:14px;color:var(--muted)}
.ipad-app{max-width:1500px;margin:auto;padding:24px 24px 70px}.ipad-topbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.ipad-topbar h1{margin:.2rem 0;font-size:34px;line-height:1.25}.ipad-topbar p{margin:.1rem 0;color:var(--muted)}.date-control{display:grid;gap:5px;min-width:210px;font-weight:800}.demo-banner{display:flex;gap:12px;padding:12px 16px;margin-bottom:16px;border:1px solid #edc575;border-radius:13px;background:#fff6e5;color:#784800}
.summary-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.summary-card{min-height:100px;text-align:left;padding:15px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);color:var(--text);cursor:pointer}.summary-card span{display:block;color:var(--muted);font-size:14px}.summary-card strong{display:block;margin-top:2px;color:var(--accent);font-size:31px}.summary-card.alert strong{color:var(--danger)}
.ipad-tabs{position:sticky;top:72px;z-index:20;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:8px;margin-bottom:16px;background:rgba(242,247,246,.95);backdrop-filter:blur(12px)}.tab-button{min-height:54px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text);font-weight:800;cursor:pointer}.tab-button.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.tab-panel{display:none}.tab-panel.active{display:block}.two-column{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:16px}.panel-card{background:#fff;border:1px solid var(--border);border-radius:21px;padding:18px;box-shadow:var(--shadow);min-width:0}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}.panel-heading h2{margin:0;font-size:24px}.panel-heading p{margin:2px 0;color:var(--muted)}.text-link{color:var(--accent);font-weight:800}.visit-list,.task-list,.priority-list{display:grid;gap:11px}.visit-item,.task-item,.priority-item{border:1px solid var(--border);border-radius:16px;padding:14px;background:#fbfdfc}.visit-item{display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:14px;align-items:center}.visit-time{font-size:19px;font-weight:900;color:var(--accent)}.visit-main strong,.task-main h3{font-size:19px}.visit-main p,.task-main p{margin:3px 0;color:var(--muted)}.task-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px}.task-main h3{margin:0 0 4px}.task-detail{margin-top:8px!important;color:var(--text)!important;white-space:pre-wrap}.task-actions{display:flex;flex-wrap:wrap;gap:8px;align-content:start;justify-content:end}.task-control{display:grid;gap:7px;min-width:190px}.status-pill,.importance-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:4px 10px;border-radius:999px;background:var(--soft);color:var(--accent);font-size:13px;font-weight:900}.status-pill.warning,.importance-pill.high{background:#fff0d7;color:#8c5300}.status-pill.danger,.importance-pill.urgent{background:#ffe8e8;color:#a42323}.priority-item{border-left:5px solid var(--warning)}.priority-item.danger{border-left-color:var(--danger)}.empty-box{padding:30px;border:1px dashed #bdd2ce;border-radius:15px;text-align:center;color:var(--muted)}
.ipad-dialog{border:0;padding:0;background:transparent;width:min(920px,94vw);max-height:94vh}.ipad-dialog::backdrop{background:rgba(12,36,32,.64)}.dialog-panel{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 24px 85px rgba(0,0,0,.3)}.dialog-panel>header{display:flex;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--border)}.dialog-panel h2{margin:.1rem 0}.dialog-panel header p{margin:.1rem 0;color:var(--muted)}.dialog-close{width:48px;height:48px;border:0;background:transparent;font-size:31px;cursor:pointer}.dialog-body{max-height:59vh;overflow:auto;padding:20px 22px;display:grid;gap:16px}.dialog-body fieldset{border:1px solid var(--border);border-radius:15px;padding:15px}.dialog-body legend{font-weight:900;padding:0 7px}.dialog-body label,.comment-box{display:grid;gap:6px;font-weight:800}.staff-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.staff-check{display:flex!important;align-items:center;gap:10px;min-height:54px;padding:10px 12px;border:1px solid var(--border);border-radius:13px;font-weight:700!important}.staff-check input{width:24px;height:24px}.dialog-panel>footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--border)}.comment-box{padding:0 22px 16px}.detail-block{border:1px solid var(--border);border-radius:15px;padding:14px}.detail-block h3{margin:0 0 8px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.record-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #e5eeec}.internal-block{background:#eef7ff;border-color:#a9cce1}.family-block{background:#effbf7;border-color:#a5d5c6}
.loading-overlay{position:fixed;inset:0;z-index:100;background:rgba(255,255,255,.74);display:grid;place-items:center;align-content:center;gap:12px}.spinner{width:45px;height:45px;border:4px solid #c6d9d5;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;right:24px;bottom:24px;z-index:120;max-width:min(500px,calc(100vw - 48px));padding:14px 19px;border-radius:13px;background:#174b44;color:#fff;box-shadow:var(--shadow)}.toast.error{background:#a42525}
@media(max-width:1050px){.summary-strip{grid-template-columns:repeat(3,1fr)}.two-column{grid-template-columns:1fr}.ipad-tabs{grid-template-columns:repeat(3,1fr)}.task-item{grid-template-columns:1fr}.task-actions{justify-content:start}.span-wide{grid-column:auto}}
@media(max-width:720px){body{font-size:16px}.ipad-header{padding:9px 12px}.ipad-brand small{display:none}.header-actions .button{padding:9px 12px}.login-shell{padding:18px}.login-card{padding:25px}.login-card h1,.ipad-topbar h1{font-size:27px}.ipad-app{padding:18px 12px 55px}.ipad-topbar{display:grid}.date-control{min-width:0}.summary-strip{grid-template-columns:1fr 1fr}.ipad-tabs{top:64px;grid-template-columns:repeat(2,1fr)}.visit-item{grid-template-columns:1fr}.staff-check-list{grid-template-columns:1fr}.dialog-panel>footer{display:grid;grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}}

/* STEP HOMECARE-12: UI/UX横断ブラッシュアップ */
.status-pill,
.importance-pill {
  min-height: 36px;
  font-size: 14px;
}
.tab-button { font-size: 16px; }
.task-main p,
.visit-main p,
.help { font-size: 15px; }
@media(max-width:720px) {
  body { font-size: 17px; }
  .button { min-height: 50px; }
}
