:root{color:#102f5f;background:#f7f4ee;font-family:Noto Sans JP,Hiragino Sans,Yu Gothic UI,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{min-width:320px;min-height:100vh;background:#f7f4ee}body{margin:0;-webkit-font-smoothing:antialiased}button,input,select,textarea{color:inherit;font:inherit}button,select,input[type=date]{min-height:48px}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7ba5d1;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh;background:#f7f4ee}.topbar{min-height:70px;padding:10px clamp(20px,4vw,44px);display:flex;align-items:center;gap:24px;border-bottom:1px solid #b9c5d2;background:#f1efe9}.brand{color:#0c2b59;font-size:25px;font-weight:800;text-decoration:none;letter-spacing:.02em}.staff-select,.slot-select{position:relative;display:inline-flex;align-items:center;gap:8px;border:1px solid #a7b7c8;border-radius:7px;background:#f8f6f1}.staff-select{padding-left:14px}.staff-select select,.slot-select select{min-height:46px;padding:0 38px 0 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font-weight:700;cursor:pointer}.staff-select>svg:last-child,.slot-select>svg{position:absolute;right:12px;pointer-events:none}.sharing-status{margin-left:auto;display:flex;align-items:center;gap:7px;color:#21466e;font-weight:700}.sharing-status svg{color:#4b923b}.sharing-status.local{color:#6c7e92}.sharing-status.local svg{color:#6c7e92}.boot-state{width:min(100% - 40px,680px);margin:18vh auto 0;padding:32px;border:1px solid #b9c5d2;border-radius:14px;background:#fffdfa;box-shadow:0 18px 55px #0f233b1f}.boot-state h1{font-size:clamp(28px,5vw,40px)}.boot-state p:last-child{margin:18px 0 0;color:#60748a;font-weight:650;line-height:1.7}.record-page{width:min(100% - 80px,1320px);margin:0 auto;padding:38px 0 80px}.resident-section{display:flex;align-items:center;justify-content:space-between;gap:30px}.eyebrow{margin:0 0 8px;font-weight:750}h1{margin:0;font-size:clamp(32px,4vw,42px);line-height:1.2;letter-spacing:.02em}h1 small{margin-left:18px;font-size:17px;font-weight:700}.resident-switch,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border:1px solid #9fb1c4;border-radius:7px;background:#f8f6f1;font-weight:750}.date-controls{margin-top:24px;padding-bottom:34px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #b5c1cd}.date-picker{position:relative;min-height:48px;padding:0 4px;display:inline-flex;align-items:center;font-weight:750;white-space:nowrap}.date-picker input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.date-picker:has(input:focus-visible){outline:3px solid #7ba5d1;outline-offset:2px;border-radius:5px}.icon-button{width:48px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid #9fb1c4;border-radius:7px;background:#f8f6f1}.slot-select select{min-width:174px;padding-left:14px}.record-list{display:grid}.record-row{width:100%;min-height:112px;padding:20px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,auto) 28px;align-items:center;gap:20px;border:0;border-bottom:1px solid #b5c1cd;background:transparent;text-align:left}.record-row:hover{background:#f1efe9}.record-name{display:flex;align-items:center;gap:24px;font-size:23px;font-weight:800}.record-summary{color:#748397;font-size:18px;font-weight:650;text-align:right}.record-summary.saved{color:#335c86}.dialog-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;padding:24px;display:grid;place-items:center;overflow-y:auto;background:#10213757}.record-dialog{width:min(100%,626px);max-height:calc(100vh - 48px);overflow-y:auto;border:1px solid #cad2db;border-radius:14px;background:#fffdfa;box-shadow:0 18px 55px #0f233b3d}@media(min-width:701px){.record-dialog{transform:translateY(58px)}}.dialog-header{padding:28px 32px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.dialog-header h2{margin:0 0 8px;font-size:29px;line-height:1.2}.dialog-header p{margin:0;color:#6a7c91;font-size:16px;font-weight:650}.close-button{min-height:58px;flex-direction:column;gap:0;border:0;background:transparent}.close-button span{font-size:12px;font-weight:700}.dialog-body{padding:8px 32px 22px;display:grid;gap:22px}.choice-fieldset{min-width:0;margin:0;padding:0;border:0}.choice-fieldset legend,.field-label{width:100%;margin-bottom:9px;display:block;font-size:17px;font-weight:800}.field-label span{color:#738196;font-size:13px;font-weight:650}.choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #2c5482;border-radius:7px;overflow:hidden}.choice-button{min-height:76px;padding:8px 4px;border:0;border-right:1px solid #2c5482;background:#fffdfa;font-size:17px;font-weight:800}.choice-button:last-child{border-right:0}.choice-button.selected{color:#fff;background:#0753b6}.choice-content{display:inline-flex;align-items:center;justify-content:center}.choice-button.selected .choice-content{flex-direction:column;gap:2px}.choice-fieldset:has(.choice-button:nth-child(6)) .choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-fieldset:has(.choice-button:nth-child(6)) .choice-button:nth-child(3n){border-right:0}.choice-fieldset:has(.choice-button:nth-child(6)) .choice-button:nth-child(-n+3){border-bottom:1px solid #2c5482}.field-label input,.field-label textarea{width:100%;margin-top:9px;padding:12px 14px;border:1px solid #9fb1c4;border-radius:7px;background:#fffdfa;font-weight:600}.field-label input{min-height:50px}.field-label textarea{resize:vertical}.note-field{display:grid}.note-toggle{width:100%;min-height:48px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border:1px solid #9fb1c4;border-radius:7px;background:#fffdfa;font-weight:750;text-align:left}.note-toggle>span{display:inline-flex;align-items:center;gap:8px}.note-toggle small{color:#6f7f92;font-size:13px}.note-field .field-label{margin:10px 0 0}.dialog-footer{padding:0 32px 28px;display:grid;gap:10px}.primary-button{width:100%;min-height:60px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:7px;color:#fff;background:#0753b6;font-size:20px;font-weight:800}.primary-button:disabled{cursor:not-allowed;opacity:.55}.dialog-footer .secondary-button{width:100%;min-height:54px;background:#fffdfa}.share-note{margin:8px 0 0;display:flex;align-items:center;justify-content:center;gap:6px;color:#6c7e92;font-size:14px;font-weight:650;text-align:center}.resident-dialog{width:min(100%,540px)}.resident-dialog-body{padding:8px 32px 24px;display:grid;gap:12px}.resident-option{width:100%;min-height:82px;padding:14px 16px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid #a7b7c8;border-radius:9px;background:#fffdfa;text-align:left}.resident-option:hover{background:#f1efe9}.resident-option.selected{border-color:#2c649d;background:#edf4fb}.resident-option-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#315f8c;background:#e3edf7}.resident-option-copy{min-width:0;display:grid;gap:4px}.resident-option-copy strong{font-size:19px}.resident-option-copy span{color:#6a7c91;font-size:14px;font-weight:700}.resident-current{display:inline-flex;align-items:center;gap:5px;color:#2d628f;font-size:14px;font-weight:800}.resident-current svg{color:#4b923b}.resident-dialog-footer{padding-top:0}@media(max-width:700px){.topbar{min-height:auto;padding:12px 18px;flex-wrap:wrap;gap:10px 14px}.brand{font-size:22px}.staff-select{order:3;width:100%}.staff-select select{width:100%}.record-page{width:100%;padding:28px 0 50px}.resident-section,.date-controls{margin-inline:20px}.resident-section{align-items:flex-start}h1{font-size:30px}h1 small{margin:6px 0 0;display:block;font-size:15px}.resident-switch{min-width:52px;padding:0 14px;font-size:0}.resident-switch svg{width:24px;height:24px}.date-controls{padding-bottom:24px;display:grid;grid-template-columns:1fr 48px minmax(150px,1.2fr) 48px}.date-picker,.slot-select,.slot-select select{width:100%;min-width:0}.record-row{min-height:106px;padding:18px 20px;grid-template-columns:minmax(130px,1fr) minmax(105px,auto) 24px;gap:10px}.record-name{gap:15px;font-size:21px}.record-summary{max-width:140px;font-size:15px}.dialog-backdrop{padding:0;place-items:end center}.record-dialog{width:100%;max-height:94dvh;border-radius:16px 16px 0 0}.dialog-header{padding:22px 20px 14px}.dialog-header h2{font-size:25px}.dialog-body{padding:8px 20px 20px}.dialog-footer{padding:0 20px max(24px,env(safe-area-inset-bottom))}.resident-dialog-body{padding:8px 20px 20px}.resident-option{min-height:78px;padding:12px;grid-template-columns:44px minmax(0,1fr) auto;gap:11px}.resident-option-icon{width:44px;height:44px}.resident-current{font-size:13px}.choice-button{min-height:67px;font-size:15px}}@media(max-width:440px){.sharing-status{font-size:14px}.date-controls{grid-template-columns:48px 1fr 48px}.date-picker{grid-column:1 / -1;grid-row:1}.record-row{grid-template-columns:minmax(120px,1fr) minmax(92px,auto) 20px}.record-name svg{width:26px}}@media(prefers-reduced-motion:no-preference){.record-row,.choice-button,.primary-button{transition:background-color .15s ease,color .15s ease}}
