:root{color:#18313d;background:#f3f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{border:0;cursor:pointer}.authShell{align-items:center;background:linear-gradient(180deg,#e8f5faf5,#f7fbfdfa),#f3f8fb;display:flex;min-height:100vh;padding:24px}.authPanel{background:#fffffff5;border:1px solid #d8e8ef;border-radius:8px;box-shadow:0 20px 70px #225b701f;display:grid;gap:24px;margin:0 auto;max-width:520px;padding:32px;width:100%}.eyebrow{color:#1f7a96;font-size:.8rem;font-weight:700;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}.brandHeader{align-items:center;display:flex;gap:14px}.medicalMark{background:#147fa0;border-radius:8px;box-shadow:inset 0 0 0 6px #e6f5f9;display:inline-block;flex:0 0 auto;height:54px;position:relative;width:54px}.medicalMark:before,.medicalMark:after{background:#fff;border-radius:2px;content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.medicalMark:before{height:28px;width:8px}.medicalMark:after{height:8px;width:28px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.08;margin-bottom:0}h2{font-size:1.25rem;margin-bottom:0}h3{font-size:1rem;margin-bottom:6px}.modeTabs{background:#e7f3f7;border-radius:8px;display:grid;gap:4px;grid-template-columns:1fr 1fr;padding:4px}.modeTabs button{background:transparent;border-radius:6px;color:#496673;min-height:44px}.modeTabs button.active{background:#fff;color:#18313d;font-weight:700}.formStack,.recordForm{display:grid;gap:18px}label{color:#294a57;display:grid;font-size:.92rem;font-weight:700;gap:8px}input,textarea{background:#fff;border:1px solid #c9dce5;border-radius:8px;color:#18313d;min-height:46px;padding:10px 12px;width:100%}input:focus,textarea:focus{border-color:#147fa0;box-shadow:0 0 0 3px #147fa024;outline:none}textarea{min-height:92px;resize:vertical}.primaryButton{align-items:center;background:#147fa0;border-radius:8px;color:#fff;display:inline-flex;font-weight:800;justify-content:center;min-height:46px;padding:0 18px}.message{background:#fff4d7;border:1px solid #eed38c;border-radius:8px;color:#684f11;margin-bottom:0;padding:12px}.authOptions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.rememberRow{align-items:center;display:flex;flex:1 1 210px;gap:8px;min-height:38px}.rememberRow input{accent-color:#147fa0;min-height:auto;width:18px}.textButton{background:transparent;color:#147fa0;font-weight:800;min-height:38px;padding:0;text-decoration:underline;text-underline-offset:3px}.appShell{display:grid;gap:24px;margin:0 auto;max-width:1180px;padding:28px}.appShell.wide{max-width:1440px}.appShell.wide .topBar h1{font-size:clamp(1.4rem,3vw,2.6rem);line-height:1.02}.demoTitle{align-items:baseline;display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-start;justify-self:start;text-align:left}.standardText{color:#234d5e;font-size:.58em;font-weight:900;white-space:nowrap}.standardText a{color:#147fa0;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.topBar{align-items:start;display:flex;gap:24px;justify-content:space-between}.topBar .brandHeader{flex:1 1 auto;min-width:0}.topBar .brandHeader>div{display:grid;gap:8px;justify-items:start;width:100%}.topBar .eyebrow{justify-self:start}.languagePanel{display:grid;flex:0 0 auto;gap:4px;grid-template-columns:repeat(5,26px);justify-content:end;padding-top:4px}.topRightTools{align-items:start;display:flex;flex:0 0 auto;gap:10px;justify-content:flex-end}.flagButton{align-items:center;background:#fff;border:1px solid #c9dce5;border-radius:5px;display:inline-flex;height:24px;justify-content:center;padding:0;width:26px}.flagButton img{border-radius:2px;display:block;height:14px;object-fit:cover;width:20px}.flagButton.active{border-color:#147fa0;box-shadow:0 0 0 2px #147fa02e}.accountBlock{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.accountBlock span{color:#55717d;font-size:.92rem}.accountBlock button,.recordItem button{background:#e7f3f7;border-radius:8px;color:#234d5e;min-height:38px;padding:0 14px}.metricsBand,.sheetToolbar{background:#123f52;border-radius:8px;color:#fff;display:grid;gap:1px;grid-template-columns:.75fr .75fr .75fr 1.75fr;overflow:hidden}.secondaryButton{align-items:center;background:#fff;border:1px solid #c9dce5;border-radius:8px;color:#123f52;display:inline-flex;font-weight:900;justify-content:center;min-height:44px;padding:0 16px;width:100%}.toolbarAction{align-content:center;display:block!important}.actionTable{background:#ffffff0f;border:1px solid rgba(255,255,255,.18);border-radius:8px;display:grid;gap:0;grid-template-columns:minmax(130px,1fr) minmax(170px,1.25fr);overflow:hidden}.actionColumn{background:#ffffff14;display:grid;gap:0;padding:0}.toolbarAction .secondaryButton{border-radius:4px;font-size:.68rem;min-height:22px;padding:0 6px}.qrCard{align-items:center;background:#fff;border:1px solid #c9dce5;border-radius:8px;display:inline-flex;padding:6px}.qrCard img{display:block;height:58px;width:58px}.dialogBackdrop{align-items:center;background:#0a1b236b;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:50}.printDialog{background:#fff;border:1px solid #c9dce5;border-radius:8px;box-shadow:0 24px 80px #123f5238;max-width:680px;padding:24px}.printDialog h2{margin-bottom:14px}.dialogText{color:#294a57;display:grid;gap:10px}.dialogText p{margin:0}.dialogActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}@media print{@page{size:A4 landscape;margin:8mm}body{background:#fff}.noPrint,.authShell{display:none!important}.appShell{max-width:none;padding:0}.topBar{margin-bottom:8px}.medicalMark{height:34px;width:34px}.appShell.wide .topBar h1{font-size:1.4rem}.sheetToolbar{grid-template-columns:repeat(3,1fr);margin-bottom:8px}.sheetToolbar label,.sheetToolbar>div{min-height:44px;padding:8px 10px}.sheetScroller{border:0;overflow:visible;padding:0}.timelineHeader,.timelineList{min-width:0}.timelineHeader,.dayRow{grid-template-columns:32px minmax(390px,1fr) 48px 86px repeat(4,38px) 260px}.timelineHeader{font-size:.62rem;padding:6px}.dayRow{break-inside:avoid;column-gap:4px;min-height:28px;padding:4px 6px}.dateBadge,.sleepTotal,.activityInput,.scoreSelect{min-height:24px}.sleepSlot{min-height:18px}.moodChoice{min-height:14px;font-size:.72rem}}.metricsBand div,.sheetToolbar>div,.sheetToolbar label{background:#ffffff0f;display:grid;gap:8px;min-height:96px;padding:20px}.metricsBand span,.sheetToolbar span,.sheetToolbar label{color:#c8e3ed;font-size:.86rem;font-weight:700}.metricsBand strong,.sheetToolbar strong{font-size:1.65rem}.sheetToolbar input{max-width:220px}.workArea{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(320px,.85fr) minmax(360px,1.15fr)}.recordForm,.historyPanel{background:#fff;border:1px solid #d8e8ef;border-radius:8px;padding:22px}.formHeader,.sectionHeader{align-items:center;display:flex;gap:16px;justify-content:space-between}.fieldGrid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.checkPanel{display:grid;gap:10px;grid-template-columns:1fr 1fr}.checkRow{align-items:center;background:#f1f8fb;border:1px solid #d5e8f0;border-radius:8px;display:flex;gap:10px;min-height:52px;padding:0 14px}.checkRow input{accent-color:#147fa0;min-height:auto;width:18px}.sectionHeader span{color:#637b86;font-weight:700}.emptyState{color:#637b86;margin:22px 0 0}.recordList{display:grid;gap:12px;margin-top:18px}.recordItem{align-items:start;background:#f8fcfd;border:1px solid #dcebf1;border-radius:8px;display:grid;gap:16px;grid-template-columns:1fr auto;padding:16px}.recordItem p{color:#5c7480;margin-bottom:6px}.recordNote{background:#fff;border-left:3px solid #147fa0;color:#344f5b!important;margin-top:10px;padding:8px 10px}.sheetScroller{background:#fff;border:1px solid #d8e8ef;border-radius:8px;overflow:auto;padding:18px;-webkit-user-select:none;user-select:none}.timelineHeader{align-items:end;background:#eef8fb;border:1px solid #d5e8f0;border-radius:8px;color:#294a57;display:grid;font-size:.86rem;font-weight:800;column-gap:8px;row-gap:14px;grid-template-columns:38px minmax(560px,1fr) 54px 112px repeat(4,46px) 504px;min-width:1420px;padding:12px}.hourLabels{display:grid;gap:3px;grid-template-columns:repeat(25,1fr);margin-top:8px}.hourLabels span{color:#5d7480;font-size:.72rem;text-align:center}.timelineList{display:grid;gap:10px;margin-top:12px;min-width:1420px}.dayRow{align-items:center;background:#fbfdfe;border:1px solid #dcebf1;border-radius:8px;display:grid;column-gap:8px;row-gap:14px;grid-template-columns:38px minmax(560px,1fr) 54px 112px repeat(4,46px) 504px;padding:10px 12px}.sleepTotal{align-items:center;background:linear-gradient(180deg,#fff5f8,#f7b8c8);border:2px solid #e27996;border-radius:8px;color:#6f263a;display:flex;font-size:.86rem;font-weight:900;justify-content:center;min-height:46px;box-shadow:0 8px 18px #b7415f29}.dateBadge{align-items:center;background:#fff;border:1px solid #d8e8ef;border-radius:8px;color:#18313d;display:grid;height:54px;justify-items:center}.dateBadge strong{font-size:1rem;line-height:1}.dateBadge span{color:#637b86;font-size:.7rem;font-weight:800}.sleepTrack{background:linear-gradient(90deg,#edf5f8 0 1px,transparent 1px) 0 0 / 4% 100%,linear-gradient(180deg,#e7f1f5,#f8fcfd);border:1px solid #cfe4ec;border-radius:8px;display:grid;gap:0;grid-template-columns:repeat(25,1fr);padding:6px;touch-action:none}.sleepSlot{background:#ffffffb8;border:0;border-right:1px solid rgba(207,228,236,.9);border-radius:0;min-height:32px;padding:0}.sleepSlot:first-child{border-bottom-left-radius:7px;border-top-left-radius:7px}.sleepSlot:last-child{border-bottom-right-radius:7px;border-right:0;border-top-right-radius:7px}.sleepSlot:hover{background:#fff4f7}.sleepSlot.active{background:#f7b8c8;box-shadow:inset 0 -2px #b7415f29}.sleepSlot:focus-visible,.moodChoice:focus-visible,.activityInput:focus{outline:3px solid rgba(20,127,160,.28);outline-offset:2px}.moodPicker{display:grid;gap:0;grid-template-columns:repeat(3,1fr)}.moodChoice{align-items:center;background:#fff;border:1px solid #d5e8f0;border-radius:2px;display:flex;filter:grayscale(.45);font-size:1.05rem;justify-content:center;line-height:1;min-height:22px;min-width:0;opacity:.48;padding:0}.moodChoice:hover{opacity:.8}.moodChoice.active{background:#e4f5fb;border-color:#147fa0;box-shadow:0 0 0 3px #147fa01f;filter:none;opacity:1}.activityInput{border:1px solid #d5e8f0;border-radius:8px;min-height:42px}.scoreSelect{background:#fff;border:1px solid #d5e8f0;border-radius:8px;color:#18313d;font-weight:800;min-height:42px;margin:0;padding:0 4px;text-align:center;width:100%}@media(max-width:820px){.authShell,.appShell{padding:16px}.topBar{align-items:start;display:flex;flex-wrap:wrap}.topBar .brandHeader>div{grid-template-columns:1fr;row-gap:10px}.languagePanel,.accountBlock{justify-content:start}.metricsBand,.sheetToolbar,.workArea,.fieldGrid,.checkPanel,.recordItem{grid-template-columns:1fr}}@media print{@page{size:A4 portrait;margin:5mm}html,body,#root{background:#fff!important;height:auto;min-width:0;width:100%}body{color:#18313d;print-color-adjust:exact;-webkit-print-color-adjust:exact}.noPrint,.authShell,.dialogBackdrop{display:none!important}.appShell,.appShell.wide{display:grid;gap:1.2mm;margin:0;max-width:none;padding:0;width:117%;zoom:.85}.topBar{align-items:center;display:flex;gap:3mm;justify-content:flex-start;margin:0;min-height:8mm}.brandHeader{gap:2mm}.medicalMark{box-shadow:inset 0 0 0 2mm #e6f5f9;height:6.5mm;width:6.5mm}.medicalMark:before{height:4mm;width:1.2mm}.medicalMark:after{height:1.2mm;width:4mm}.eyebrow,.standardText{display:none}.appShell.wide .topBar h1,h1{color:#123f52;font-size:9.5pt;line-height:1.1}.sheetToolbar{border-radius:1.5mm;gap:.3mm;grid-template-columns:32mm 22mm 27mm;margin:0;overflow:hidden;width:81mm}.sheetToolbar label,.sheetToolbar>div{gap:.5mm;min-height:7mm;padding:1mm 1.6mm}.sheetToolbar span,.sheetToolbar label{font-size:6pt}.sheetToolbar strong,.sheetToolbar input{font-size:8pt}.sheetScroller{border:0;border-radius:0;overflow:visible;padding:0}.timelineHeader,.timelineList{min-width:0;width:100%}.timelineList{gap:.25mm;margin-top:.5mm}.timelineHeader,.dayRow{border-radius:1.2mm;column-gap:.55mm;display:grid;grid-template-columns:7mm 80mm 10mm 17mm repeat(4,7.5mm) minmax(0,1fr);padding:.9mm}.timelineHeader{align-items:end;font-size:5.2pt;min-height:7mm}.hourLabels{gap:0;margin-top:.4mm}.hourLabels span{font-size:4.4pt}.dayRow{break-inside:avoid;min-height:3.9mm;row-gap:0}.dateBadge{border-radius:1mm;height:3.9mm}.dateBadge strong{font-size:6pt}.dateBadge span{font-size:4.8pt}.sleepTrack{border-radius:1mm;padding:.45mm}.sleepSlot{min-height:2.6mm}.sleepTotal,.activityInput,.scoreSelect{border-radius:1mm;font-size:4.9pt;min-height:3.9mm}.sleepTotal{border-width:.3mm;box-shadow:none}.moodPicker{height:3.9mm}.moodChoice{border-radius:.5mm;font-size:4.8pt;min-height:1.8mm}.activityInput{padding:0 1mm;text-overflow:ellipsis}}
