/* Shared INDEX menu presentation for the PC and app entries. */
.index-view-switch{box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin:0 0 10px;padding:7px 10px;border:1px solid #536a3f;border-radius:4px;background:linear-gradient(90deg,#647c4d,#7d9561);color:#fffef7;text-decoration:none;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer;text-align:left}
.index-view-switch[hidden]{display:none}
.index-view-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border:1px solid #fffef766;border-radius:3px;font-size:13px;font-weight:900}
.index-view-state{flex:1;min-width:0}
.index-view-action{white-space:nowrap;font-size:11px}
:root{--index-petal:url('/sakura/assets/icons/sakura-petal.png?v=20261012');--index-menu-title:linear-gradient(90deg,#5f3b2d,#765240)}
.menu-section-title::before,.menu-panel-title::before{content:"";width:24px;height:24px;flex:0 0 24px;border-radius:0;background:var(--index-petal) center/contain no-repeat;box-shadow:none;transform:none}
.report-section .menu-card::before,.record-section .menu-card::before,.planned-section .menu-card::before{width:16px;height:16px;border-radius:0;background:var(--index-petal) center/contain no-repeat;transform:none}
details.menu-section{display:block}
summary.menu-section-title{cursor:pointer;list-style:none}
summary.menu-section-title::-webkit-details-marker{display:none}
summary.menu-section-title::after{content:"＋";margin-left:auto;color:#fff7e8;font-size:16px;line-height:1}
details[open]>summary.menu-section-title::after{content:"−"}
.index-work-sections .tree-menu{gap:9px}
.index-work-sections .tree-group-block{display:block;overflow:hidden}
.index-work-sections summary.tree-row.group-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:7px;min-height:33px;margin:0;padding:7px 10px;border:0;border-bottom:1px solid #442c22;border-radius:0;color:#fff7e8;background:var(--index-menu-title);font-size:13px;font-weight:900;letter-spacing:.05em;cursor:pointer;list-style:none}
.index-work-sections summary::-webkit-details-marker{display:none}
.index-work-sections summary.tree-row::after{content:"＋";font-size:16px;line-height:1;color:#fff7e8}
.index-work-sections details[open]>summary.tree-row::after{content:"−"}
.index-work-sections .tree-children{display:flex;flex-direction:column;gap:0;max-height:none;margin:0;padding:0;border:0;border-radius:0;opacity:1;transform:none;overflow:visible;background:#fffaf2}
.index-work-sections .tree-children::before,.index-work-sections .tree-row.depth-1::before,.index-work-sections .tree-row.depth-2::before{display:none}
.index-work-sections .tree-row.depth-1,.index-work-sections .tree-row.depth-2{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:4px;min-height:36px;margin:0;padding:2px 7px;border:0;border-bottom:1px solid #ead9ce;border-radius:0;background:#fffdf8;font-size:13px}
.index-work-sections .tree-row .tree-label{grid-column:auto;margin:0;padding:0;font-size:13px;line-height:1.2}
.index-work-sections .tree-row .tree-label-main{font-size:13px;font-weight:800}
.index-work-sections .tree-code,.menu-list .menu-code{width:16px;height:16px;min-width:0;margin:0;padding:0;border:0;border-radius:0;font-size:0;background:var(--index-petal) center/contain no-repeat;box-shadow:none}
.index-work-sections summary .tree-code{width:24px;height:24px}
.index-work-sections .tree-row.tree-link::after{content:"›";color:#886c5e;font-size:17px}
.index-work-sections .tree-row.is-disabled{opacity:.55}
.index-work-sections .tree-row:last-child{border-bottom:0}
summary.menu-section-title:focus-visible,.index-work-sections summary:focus-visible{outline:2px solid #d89aaa;outline-offset:-2px}
/* One heading and row geometry; keep desktop column layout independent. */
.index-work-sections .tree-group-block,details.menu-section,.system-menu-stack>details.menu-panel{box-sizing:border-box;border:1px solid #d3c0b3;border-radius:3px;overflow:hidden;background:#fffdf8;box-shadow:none}
.index-work-sections summary.tree-row.group-row,details.menu-section>summary.menu-section-title,.system-menu-stack>details>summary.menu-panel-title{box-sizing:border-box;position:relative;display:flex;align-items:center;gap:7px;height:39px;min-height:39px;margin:0;padding:7px 42px 7px 10px;border:0;border-bottom:1px solid #442c22;color:#fff7e8;background:var(--index-menu-title);font-size:13px;font-weight:900;letter-spacing:.05em;line-height:1.2;list-style:none;cursor:pointer}
.index-work-sections summary.tree-row.group-row::after,details.menu-section>summary.menu-section-title::after,.system-menu-stack>details>summary.menu-panel-title::after{content:"＋";box-sizing:border-box;position:absolute;right:10px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:20px;height:20px;margin:0;border:1px solid #fff7e859;border-radius:3px;color:#fff7e8;font-size:14px;font-weight:800;line-height:1}
.index-work-sections details[open]>summary.tree-row.group-row::after,details.menu-section[open]>summary.menu-section-title::after,.system-menu-stack>details[open]>summary.menu-panel-title::after{content:"−"}
.system-menu-stack>details>summary::-webkit-details-marker{display:none}
.index-work-sections summary .tree-code{flex:0 0 24px}
details.menu-section>summary.menu-section-title small,.system-menu-stack>details>summary.menu-panel-title small{margin-left:auto;font-size:9px;font-weight:600;color:#f0d8cc}
.index-work-sections .tree-row.depth-1,.index-work-sections .tree-row.depth-2,.report-section .menu-card,.record-section .menu-card,.planned-section .menu-card,.system-menu-stack .menu-item{box-sizing:border-box;display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:4px;min-height:36px;margin:0;padding:2px 7px;border:0;border-bottom:1px solid #ead9ce;border-radius:0;background:#fffdf8;box-shadow:none;color:#36261f;line-height:1.2}
.index-work-sections .tree-label-main,.report-section .menu-copy strong,.record-section .menu-copy strong,.planned-section .menu-copy strong,.system-menu-stack .menu-item-title{margin:0;padding:0;font-size:13px;font-weight:800;line-height:1.2}
.system-menu-stack .menu-panel-body{padding:0}
.system-menu-stack .menu-list{gap:0}
.system-menu-stack .menu-item:last-child{border-bottom:0}
/* Enlarge the artwork inside its existing slot so labels stay aligned. */
.index-work-sections .tree-row.depth-1 .tree-code,.index-work-sections .tree-row.depth-2 .tree-code{grid-column:1;grid-row:1;width:16px;min-width:0;margin:0;font-size:0;background:var(--index-petal) center/125% 125% no-repeat}
.index-work-sections .tree-row.depth-1 .tree-label,.index-work-sections .tree-row.depth-2 .tree-label{grid-column:2;grid-row:1;justify-self:stretch;text-align:left}
.index-work-sections .tree-row.depth-1.tree-link::after,.index-work-sections .tree-row.depth-2.tree-link::after{grid-column:3;grid-row:1;justify-self:end}
.menu-section-title::before,.menu-panel-title::before,.index-work-sections .tree-code,.menu-list .menu-code,.report-section .menu-card::before,.record-section .menu-card::before,.planned-section .menu-card::before{background-size:125% 125%}

/* Initial settings uses the full cherry blossom instead of the generic petal. */
.record-section .menu-card.initial-settings::before{content:"🌸";background:none;font-size:16px;line-height:16px;}
.index-work-sections a[href*="/pages/defaults.html"] .tree-code{background:none;font-size:16px;line-height:16px;}

/* Standalone cashbook entry, immediately above the database section. */
#homeView .cashbook-section{border:1px solid #af5d22;border-radius:4px;overflow:hidden}
#homeView a.cashbook-entry{display:flex;align-items:center;gap:7px;box-sizing:border-box;width:100%;min-height:42px;padding:8px 12px;color:#fffaf2;background:linear-gradient(90deg,#bf651f,#dc8b36);text-decoration:none;font:inherit;font-size:13px;font-weight:900;line-height:1.3;touch-action:manipulation}
#homeView a.cashbook-entry:hover{background:linear-gradient(90deg,#ac5619,#cf7b28)}
#homeView a.cashbook-entry:focus-visible{outline:2px solid #fff4d6;outline-offset:-4px}
.cashbook-entry-icon{width:24px;height:24px;flex:none;background:var(--index-petal) center/125% 125% no-repeat}
.cashbook-entry-arrow{width:8px;height:8px;flex:none;margin-left:auto;margin-right:4px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}