@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif;font-weight:400;line-height:1.45}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#0f172a;background:#f8fafc}#root{width:100%}.app{--app-font:"Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "Yu Gothic UI", sans-serif;--accent:#1677ff;--accent-dark:#085bd8;--accent-soft:#eaf3ff;--accent-border:#b9d7ff;color:#111827;max-width:440px;min-height:100vh;font-family:var(--app-font);font-feature-settings:"palt";letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(circle at 20% 0,#1677ff14,#0000 30%),linear-gradient(#fff 0%,#fbfdff 100%);margin:0 auto;padding:0 14px 92px}.theme-green{--accent:#0f9f55;--accent-dark:#04763e;--accent-soft:#ecfdf4;--accent-border:#b7ebc7}.theme-orange{--accent:#ff7a00;--accent-dark:#e05f00;--accent-soft:#fff7ed;--accent-border:#fed7aa}.theme-violet{--accent:#7434d8;--accent-dark:#5f22c5;--accent-soft:#f4efff;--accent-border:#d8c7ff}.appHeader{z-index:8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;margin:0 -14px;padding:10px 20px 12px;position:sticky;top:0}.titleBar{justify-content:space-between;align-items:center;display:flex}.titleBar h1{text-align:center;letter-spacing:0;flex:1;margin:0;font-size:1.02rem;font-weight:700}.headerActions{align-items:center;gap:6px;display:flex}.refreshButton{color:#4b5563;background:0 0;border:0;width:38px;height:38px;font-size:2rem;line-height:1}.logoutButton{color:#334155;background:#fff;border:1px solid #d6deea;border-radius:999px;min-width:74px;height:32px;font-size:.72rem;font-weight:700}.loginApp{place-items:center;padding:28px 18px;display:grid}.loginCard{background:radial-gradient(circle at 18% 0,#1677ff24,#0000 38%),#fffffff0;border:1px solid #cfe0f5;border-radius:18px;gap:18px;width:100%;padding:24px 18px;display:grid;box-shadow:0 22px 70px #0f172a1f}.loginCard h1{color:#0f172a;text-align:center;margin:0;font-size:1.35rem}.loginCard p{color:#475569;text-align:center;margin:0}.loginError{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca;border-radius:10px;padding:12px;font-size:.9rem;font-weight:700}.apiBanner{color:#15803d;background:#f0fdf4;border:1px solid #b9e6c6;border-radius:8px;align-items:center;min-height:54px;margin:12px 0 14px;padding:0 16px;font-size:.98rem;font-weight:700;display:flex}.apiBanner:before{content:"✓";border:2px solid;border-radius:50%;place-items:center;width:24px;height:24px;margin-right:10px;font-size:.85rem;display:inline-grid}.apiError{color:#b91c1c;background:#fff1f2;border-color:#fecaca}.apiError:before{content:"!"}.content{gap:14px;display:grid}.card,.statCard{background:#ffffffdb;border:1px solid #dbe3ef;border-radius:8px;box-shadow:0 8px 24px #0f172a0b}.card{padding:14px;overflow:hidden}.accentCard{border-color:var(--accent-border);background:linear-gradient(180deg, #fff 0%, var(--accent-soft) 160%)}.card h2{color:var(--accent);align-items:center;gap:10px;margin:0 0 14px;font-size:1.05rem;font-weight:700;display:flex}.photoIcon{border:2px solid color-mix(in srgb, var(--accent) 42%, #fff);background-color:#eef2f7;background-position:50%;background-size:cover;border-radius:50%;flex:0 0 32px;width:32px;height:32px;display:inline-block;box-shadow:0 3px 10px #0f172a1f}.cardTitleRow{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.cardTitleRow h2{margin:0}.cardTitleRow button{color:#1677ff;background:0 0;border:0;font-weight:700}.cardHint{color:#475569;margin:-4px 0 12px;font-size:.86rem;font-weight:700;line-height:1.6}.statRow{grid-template-columns:1fr 1fr;gap:12px;display:grid}.statCard{min-height:138px;padding:18px 16px}.statCard span{margin-bottom:12px;font-weight:700;display:block}.statCard strong{color:#1677ff;font-size:2.8rem;line-height:.95;display:block}.statCard small{margin-left:3px;font-size:1rem}.statCard button{color:#1677ff;background:0 0;border:0;margin-top:18px;font-weight:700}.statCard.danger strong,.statCard.danger button{color:#ff1f2f}.infoRow,.tableRow,.tableHead{border-top:1px solid #e5eaf1;align-items:center;gap:8px;min-height:42px;display:grid}.infoRow>*,.tableRow>*,.tableHead>*,.todoItem>*,dl>*{min-width:0}.infoRow{grid-template-columns:minmax(74px,1fr) minmax(86px,1.1fr) auto}.infoRow span{overflow-wrap:anywhere}.infoRow strong,.tableRow strong,.todoItem strong,.recipeItem strong{font-weight:700}.tableHead{color:#4b5563;grid-template-columns:minmax(72px,1.1fr) minmax(44px,.75fr) minmax(76px,1fr) minmax(42px,.55fr) 34px;font-size:.78rem;font-weight:700}.tableRow{grid-template-columns:minmax(72px,1.1fr) minmax(44px,.75fr) minmax(76px,1fr) minmax(42px,.55fr) 34px;font-size:.86rem}.tableRow.three{grid-template-columns:1.4fr 1fr .5fr}.tableRow.four,.logTable .tableHead{grid-template-columns:minmax(42px,.55fr) minmax(58px,.75fr) minmax(92px,1.1fr) minmax(54px,.8fr);font-size:.76rem}.emptyRow{color:#64748b;text-align:center;padding:18px 0 6px;font-weight:700}.deadlineBadge,.logStatus{color:#fff;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;min-width:68px;min-height:26px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.deadline-urgent,.logStatus.failed{background:linear-gradient(#ff4b55,#ee1d2f)}.deadline-soon,.logStatus.queued{background:linear-gradient(#ffb21a,#f59e0b)}.deadline-safe,.logStatus.sent{background:linear-gradient(#10b15c,#078b45)}.ingredientList{gap:10px;display:grid}.ingredientItem{border-top:1px solid #e5eaf1;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 8px;display:grid}.ingredientItem.status-used,.ingredientItem.status-discarded{opacity:.78}.ingredientMain strong{overflow-wrap:anywhere;margin-bottom:8px;display:block}.ingredientMain dl{grid-template-columns:48px minmax(0,1fr);gap:4px 8px;margin:0;font-size:.82rem;display:grid}.ingredientMain dt{color:#64748b;font-weight:700}.ingredientMain dd{color:#111827;overflow-wrap:anywhere;margin:0}.ingredientActions{align-content:start;justify-items:end;gap:7px;display:grid}.ingredientStatus{color:#fff;white-space:nowrap;border-radius:999px;align-items:center;min-height:24px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.ingredientStatus.status-active{background:linear-gradient(#10b15c,#078b45)}.ingredientStatus.status-used{background:linear-gradient(#64748b,#475569)}.ingredientStatus.status-discarded{background:linear-gradient(#ef4444,#dc2626)}.useButton,.discardButton,.reactivateButton{color:#fff;border-radius:7px;min-width:58px;height:32px;font-size:.78rem;font-weight:700}.useButton{background:linear-gradient(#10b15c,#078b45);border:1px solid #86efac}.discardButton{background:linear-gradient(#ef4444,#dc2626);border:1px solid #fecaca}.reactivateButton{background:linear-gradient(#3b82f6,#2563eb);border:1px solid #bfdbfe}.useButton.wide,.discardButton.wide,.reactivateButton.wide{width:100%}.stack{gap:12px;display:grid}.stack label{color:#111827;gap:7px;font-size:.9rem;font-weight:700;display:grid}.fieldHint{color:#64748b;font-size:.78rem;font-weight:700}input,select,button{font:inherit}input,select{color:#111827;background:#fff;border:1px solid #cfd8e3;border-radius:7px;outline:none;width:100%;min-width:0;max-width:100%;height:44px;padding:0 12px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent)}.primaryButton,.ghostButton{cursor:pointer;border-radius:7px;height:46px;font-weight:700}.primaryButton{color:#fff;background:linear-gradient(180deg, var(--accent), var(--accent-dark));border:0}.primaryButton:disabled,.ghostButton:disabled,.switch:disabled{cursor:not-allowed;opacity:.62;filter:grayscale(.16)}.ghostButton,.iconButton{color:#111827;background:#fff;border:1px solid #cfd8e3}.iconButton{border-radius:7px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.segmented{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.segmented button{background:#fff;border:1px solid #cfd8e3;border-radius:999px;height:42px;font-weight:700}.segmented .selected{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.miniTabs{background:#f8fafc;border:1px solid #d8e0eb;border-radius:999px;gap:6px;padding:4px;display:inline-flex}.miniTabs button{color:#475569;background:0 0;border:0;border-radius:999px;min-height:32px;padding:0 12px;font-weight:800}.miniTabs .selected{color:#fff;background:var(--accent);box-shadow:0 8px 16px #0f172a1f}.twoCol{grid-template-columns:1fr}.twoCol label{min-width:0}input[type=date],input[type=datetime-local],input[type=time]{min-width:0;max-width:100%;font-size:.92rem;display:block}.dateTimeFields{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:10px;display:grid}.todoEditForm{grid-template-columns:1fr}.todoEditForm input[type=datetime-local]{min-width:0}.todoList,.recipeList,.tableList{gap:6px;display:grid}.doneTodoList{opacity:.86}.todoItem{border:1px solid #e1e7ef;border-radius:8px;grid-template-columns:1fr auto;gap:12px;padding:12px 8px;display:grid}.doneTodo strong{color:#64748b;text-decoration:line-through}.todoActions,.todoItem>div:last-child{justify-items:end;gap:8px;display:grid}dl{grid-template-columns:82px minmax(0,1fr);gap:5px 10px;margin:10px 0 0;display:grid}dd{overflow-wrap:anywhere}.completeButton{color:#047857;background:#ecfdf5;border:1px solid #86efac;border-radius:7px;min-width:54px;height:32px;font-size:.82rem;font-weight:700}dt,dd{margin:0}dt{font-weight:700}.recipeItem{border:1px solid var(--accent-border);background:#fffaf5;border-radius:8px;padding:12px;position:relative}.timePill{border:1px solid var(--accent-border);color:var(--accent);border-radius:7px;padding:3px 8px;font-size:1.05rem;font-weight:700;position:absolute;top:10px;right:10px}.checkLine{align-items:center;grid-template-columns:none!important;gap:10px!important;display:flex!important}.checkLine input{accent-color:#1677ff;width:22px;height:22px}.unitInput{grid-template-columns:1fr 48px;display:grid}.unitInput input{border-radius:7px 0 0 7px}.unitInput span{background:#fff;border:1px solid #cfd8e3;border-left:0;border-radius:0 7px 7px 0;place-items:center;font-weight:700;display:grid}.noticeGroup{border:0;min-width:0;margin:0;padding:0}.noticeGroup legend{color:#111827;margin-bottom:8px;font-size:.9rem;font-weight:700}.chipGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.noticeChip{color:#334155;background:#fff;border:1px solid #cfd8e3;border-radius:999px;min-width:0;height:42px;font-weight:700}.noticeChip.selected{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.buttonGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.buttonGrid .wide{grid-column:1/-1}.statusPill{border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:700}.statusOk{color:#15803d;background:#dcfce7}.statusWarn{color:#b45309;background:#fef3c7}.toggleRow{justify-content:space-between;align-items:center;margin-top:16px;font-weight:700;display:flex}.switch{color:#fff;background:#94a3b8;border:0;border-radius:999px;align-items:center;gap:8px;width:76px;height:38px;padding:4px 5px 4px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.switch.on{background:linear-gradient(#16a34a,#059669)}.switch i{background:#fff;border-radius:50%;width:28px;height:28px;margin-left:auto}.modalBackdrop{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a61;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.feedbackModal{border:1px solid color-mix(in srgb, var(--accent) 24%, #d6deea);background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 38%), #fff;border-radius:18px;gap:14px;width:min(340px,100%);padding:22px;display:grid;box-shadow:0 22px 60px #0f172a3d}.feedbackModal h2{color:var(--accent-dark);margin:0;font-size:1.18rem}.feedbackModal p{color:#334155;margin:0;line-height:1.7}.bottomTabs{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-top:1px solid #e5eaf1;grid-template-columns:repeat(5,1fr);width:min(440px,100%);padding:8px 8px 20px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottomTabs button{color:#475569;background:0 0;border:0;place-items:center;gap:4px;min-width:0;font-size:.72rem;font-weight:700;display:grid}.bottomTabs .photoIcon{filter:saturate(.72);opacity:.78;border-color:#d5dde8;flex-basis:30px;width:30px;height:30px}.bottomTabs .active{color:var(--accent)}.bottomTabs .active .photoIcon{border-color:var(--accent);filter:saturate(1.08);opacity:1}@media (width>=760px){body{background:#f8fafc}.app{border:1px solid #e5e7eb;border-radius:34px;min-height:calc(100vh - 48px);margin-top:24px;margin-bottom:24px;overflow:hidden;box-shadow:0 24px 70px #0f172a29}.bottomTabs{width:calc(100% + 28px);margin:16px -14px -92px;position:sticky;left:auto;transform:none}}@media (width<=340px){.app{padding-inline:10px}.statRow,.twoCol{grid-template-columns:1fr}.tableHead{display:none}.tableRow,.tableRow.four{grid-template-columns:1fr auto;padding:8px 0}.deadlineBadge{min-width:68px;font-size:.7rem}}
