/* Compact shared workflow: keep controls readable, allow scrolling when needed. */
/* Navigation remains a link; disclosure remains native summary for keyboard access. */
.shared-main a:not(.brand),body header a:not(.brand),details>summary{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #afc4d6;border-radius:14px;background:#e7f0f8;color:#30445a;font:inherit;font-weight:650;text-decoration:none;box-shadow:0 2px 0 #cddce8;cursor:pointer;overflow-wrap:anywhere;max-width:100%}
details>summary{display:flex;width:100%;justify-content:flex-start;background:#eee5fa;border-color:#cbb9dd;box-shadow:0 2px 0 #ded0eb;list-style:none}details>summary::-webkit-details-marker{display:none}details[open]>summary{margin-bottom:12px;background:#e3d5f2}
.shared-main a:not(.brand):hover,body header a:not(.brand):hover{background:#d6e7f4;border-color:#7899b5}details>summary:hover{background:#e3d5f2}details>summary:after{content:'展開';margin-left:auto;font-size:12px;font-weight:500;white-space:nowrap}details[open]>summary:after{content:'收起'}
.shared-main a:not(.brand):active,body header a:not(.brand):active,details>summary:active{box-shadow:none;transform:translateY(1px)}.shared-main a:focus-visible,body header a:focus-visible,details>summary:focus-visible{outline:3px solid #365f86;outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}body header a.brand{border-radius:12px;padding:6px 10px;border:1px solid #dbe5ed;background:#fffefa;text-decoration:none}
body header{padding:12px 20px;min-height:60px}header .mark{width:36px;height:36px}header small{display:none}
.shared-main{max-width:960px;padding:12px 16px 100px;margin:auto}.shared-hero{padding:16px 20px;margin-bottom:12px}.shared-hero h1{font-size:clamp(22px,4vw,30px);margin:0}.shared-hero p{margin:6px 0}.shared-hero .eyebrow,.cloud-faces,.step-dot{display:none}
.shared-card{padding:18px;margin:12px 0}.shared-card h2{font-size:20px;margin:0 0 12px}.shared-card h3{margin:8px 0}.shared-card p{margin:8px 0;line-height:1.5}.shared-main footer{font-size:12px;padding:12px}
button,.primary,.quiet,input,select{min-height:44px}.shared-card input{padding:10px;margin:6px 0 12px}.account-line{gap:12px;flex-wrap:wrap}.scope-note{font-size:13px;line-height:1.5}
details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:#365f86;gap:8px}details>summary:before{content:'＋'}details[open]>summary:before{content:'−'}details>summary:focus-visible{outline:3px solid #7ca9cc;outline-offset:3px}
.shared-main>p:empty{display:none}#connection{font-size:12px;margin:4px 0}#ledger-status{padding:10px;margin:8px 0}
.flow-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;justify-content:center;gap:6px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fffefaf5;border-top:1px solid #dbe5ed;box-shadow:0 -3px 12px #30445a0d}.flow-nav a{flex:1;max-width:180px;min-height:46px;display:flex;align-items:center;justify-content:center;color:#30445a;border-radius:14px;text-decoration:none;background:#edf3f8;font-weight:650}.flow-nav a[aria-current=page]{background:#ebddfa;color:#443660}
#cash-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px}#cash-fields label{font-size:14px}#cash-fields input{width:100%;box-sizing:border-box;margin-bottom:0}#cash-total{font-size:19px;font-weight:700}#cash-saved{font-size:14px}
#shared-books{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}#shared-books button{margin:0;text-align:left}#shared-detail{scroll-margin-top:16px}.ledger-next-actions{display:none!important}
#bill-list .shared-card{padding:16px}#bill-list form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}#bill-list form label{flex:1;min-width:170px}#bill-list form input{margin-bottom:0}#bill-list form button{margin:0}
#settle-members{display:flex;gap:8px;flex-wrap:wrap;padding:0;list-style:none}#settle-members li{padding:6px 12px;border-radius:12px;background:#e5f2e9}#settle-bills p{font-size:14px}.shared-grid{gap:12px}
@media(max-width:520px){#cash-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.shared-main{padding:8px 12px 100px}.shared-card{padding:14px}.shared-hero{padding:12px 14px}header .brand{font-size:18px}header{gap:8px}.shared-grid{grid-template-columns:1fr}}
