.menu-section{margin-top:1.6rem}
.page-heading{margin-bottom:.3rem}
.page-heading h1{margin:0;font-size:1.45rem;line-height:1.2}
.page-heading .muted{margin:.12rem 0 0;font-size:.9rem;line-height:1.3}
.product-search-header{display:flex;justify-content:space-between;align-items:center}.product-search-header h2{margin:0}.product-search-header button{width:auto}.product-search-results{display:grid;gap:.4rem;margin-top:1rem;max-height:50vh;overflow:auto}.product-search-result{text-align:left;border:1px solid #c4b5fd;border-radius:.4rem;padding:.65rem;background:#fff;color:#312e81;cursor:pointer}.product-search-result:hover{background:#eef2ff}#product-search-dialog{width:min(720px,90vw);border:0;border-radius:.8rem;box-shadow:0 12px 32px #312e8180;padding:1.25rem}#product-search-dialog::backdrop{background:#0f172a88}#product-search-dialog form{display:flex;gap:.75rem;align-items:end;margin-top:1rem}#product-search-dialog label{flex:1;font-weight:700;color:#3730a3}@media(max-width:700px){#product-search-dialog form{align-items:stretch;flex-direction:column}}
.csv-import h2{margin-top:0}.csv-import form{display:flex;align-items:end;gap:1rem;margin-top:1rem}.csv-import label{flex:1;font-weight:700;color:#3730a3}@media(max-width:700px){.csv-import form{align-items:stretch;flex-direction:column}}
.menu-section h2{margin:0;color:#3730a3}
.menu-section .muted{margin:.35rem 0 0}
.menu-section .menu-grid{margin-top:.7rem;gap:.85rem}
/* トップメニューを光沢と陰影のある立体的なカプセルボタンとして表示する。 */
.menu-section .menu-grid a{--menu-light:#60a5fa;--menu-main:#2563eb;--menu-dark:#1d4ed8;--menu-shadow:#1d4ed866;display:flex;min-height:86px;align-items:flex-start;justify-content:center;flex-direction:column;padding:.72rem 4.7rem .72rem 1.45rem;border:2px solid #ffffff52;border-radius:999px;background:linear-gradient(180deg,var(--menu-light) 0%,var(--menu-main) 52%,var(--menu-dark) 100%);box-shadow:inset 0 1px 1px #ffffff42,inset 0 -3px 0 #0000001c,0 9px 15px var(--menu-shadow);isolation:isolate;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.menu-grid a::before{position:absolute;z-index:0;top:5px;right:13%;left:13%;height:35%;border-radius:999px;content:"";background:linear-gradient(180deg,#ffffff2e,#ffffff03)}
.menu-grid a::after{position:absolute;z-index:1;right:1rem;top:50%;display:grid;width:2.3rem;height:2.3rem;place-items:center;transform:translateY(-50%);border:2px solid #ffffffcc;border-radius:50%;color:#fff;font-size:1.75rem;font-weight:300;line-height:1;content:"›";text-shadow:0 1px 2px #00000035}
.menu-grid a:hover{transform:translateY(-4px) scale(1.015);box-shadow:inset 0 1px 1px #ffffff52,inset 0 -3px 0 #0000001c,0 17px 24px var(--menu-shadow);filter:saturate(1.04)}
.menu-grid a:focus-visible{outline:4px solid #fbbf24;outline-offset:4px}
.menu-grid strong{position:relative;z-index:1;font-size:1.1rem;letter-spacing:.04em;text-shadow:0 2px 3px #00000030}
.menu-grid span{position:relative;z-index:1;margin-top:.22rem;font-size:.82rem;color:#ffffffeb;text-shadow:0 1px 2px #0000002e}
.menu-grid a:nth-child(6n + 1){--menu-light:#fbbf24;--menu-main:#f59e0b;--menu-dark:#ea580c;--menu-shadow:#ea580c66}
.menu-grid a:nth-child(6n + 2){--menu-light:#818cf8;--menu-main:#4f46e5;--menu-dark:#3730a3;--menu-shadow:#4338ca66}
.menu-grid a:nth-child(6n + 3){--menu-light:#5eead4;--menu-main:#14b8a6;--menu-dark:#0f766e;--menu-shadow:#0f766e66}
.menu-grid a:nth-child(6n + 4){--menu-light:#f472b6;--menu-main:#be185d;--menu-dark:#831843;--menu-shadow:#9d174d66}
.menu-grid a:nth-child(6n + 5){--menu-light:#38bdf8;--menu-main:#0284c7;--menu-dark:#0369a1;--menu-shadow:#0369a166}
.menu-grid a:nth-child(6n){--menu-light:#a3e635;--menu-main:#65a30d;--menu-dark:#3f6212;--menu-shadow:#4d7c0f66}
@media(max-width:700px){.menu-grid a{min-height:78px;padding:.6rem 4rem .6rem 1.2rem}.menu-grid a::after{right:.8rem;width:2.05rem;height:2.05rem;font-size:1.55rem}}
.backup-form{display:flex;align-items:end;gap:1rem;margin-top:1rem}.backup-form label{font-weight:700;color:#3730a3;flex:1}.restore-confirm{margin-top:1.25rem;padding:1rem;border:2px solid #f59e0b;border-radius:.6rem;background:#fffbeb}.restore-confirm h3{margin-top:0}.restore-confirm ul{padding-left:1.25rem;columns:2}.restore-confirm label{display:block;max-width:260px;font-weight:700;color:#3730a3}.inline-form{display:inline}.link-button{color:#be123c;border:0;background:transparent;text-decoration:underline;padding:0;cursor:pointer}@media(max-width:700px){.backup-form{align-items:stretch;flex-direction:column}.restore-confirm ul{columns:1}}
