:root{color:#24322f;background:#f7f1e6;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#ffffffb8,#fff0),#f7f1e6}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.58}.app{width:min(100%,720px);min-height:100vh;margin:0 auto;padding:16px 14px 92px}.app-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(12px,env(safe-area-inset-top)) 0 12px;background:#f7f1e6f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.eyebrow{margin:0 0 2px;color:#6f6258;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin:0}h1{font-size:1.35rem}h2{font-size:1.08rem}.month-pill,.hero button,.filter-bar button,.item-actions button,.modal-actions button,.inline-form button,.wide-button,.month-switcher button{min-height:42px;border-radius:8px;background:#263b37;color:#fff;font-weight:800;padding:0 14px}.month-pill{background:#fff;color:#263b37;border:1px solid #ded3c1}.screen{display:grid;gap:16px}.sync-status{display:inline-block;margin-top:4px;color:#6f6258;font-size:.78rem;font-weight:800}.login-panel{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-bottom:16px;padding:12px;border:1px solid #ded3c1;border-radius:8px;background:#ffffffd1}.login-panel p,.login-panel small{margin-top:4px;color:#6f6258;font-size:.82rem}.login-panel form{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:8px}.login-panel input{min-height:42px;min-width:0;border:1px solid #d2c6b5;border-radius:8px;background:#fff;color:#24322f;padding:8px 10px}.login-panel button{min-height:42px;border-radius:8px;background:#263b37;color:#fff;font-weight:800;padding:0 12px}.notice{padding:12px;border:1px solid #f0b84f;border-radius:8px;background:#fff8e7;color:#6a4b12;font-weight:800}.hero{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-radius:8px;background:#2f6f73;color:#fff;box-shadow:0 12px 28px #2f6f7333}.hero p{color:#ffffffc7;font-weight:700}.hero strong{display:block;margin-top:4px;font-size:2rem;line-height:1.1}.hero button{flex:0 0 auto;background:#fff;color:#2f6f73}.member-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(96px,1fr);gap:8px;overflow-x:auto;padding-bottom:2px}.member-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:8px;background:#fff;color:#263b37;border:1px solid #ded3c1;font-weight:800}.member-tabs button.selected{background:#263b37;color:#fff}.member-tabs span{width:12px;height:12px;border-radius:50%}.quick-panel,.form-card,.settings-block,.table-card,.total-card{padding:14px;border:1px solid #ded3c1;border-radius:8px;background:#ffffffd1}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title input,.filter-bar input,.filter-bar select,.form-card input,.modal input,.modal select,.modal textarea,.inline-form input,.edit-row input,.edit-row select{min-height:44px;border:1px solid #d2c6b5;border-radius:8px;background:#fff;color:#24322f;padding:8px 10px}.chore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.chore-button{display:flex;flex-direction:column;justify-content:space-between;min-height:84px;padding:12px;border-radius:8px;background:#fff;color:#24322f;border:1px solid #ded3c1;text-align:left;box-shadow:0 6px 18px #2f25180f}.chore-button.tall{min-height:100px}.chore-button span{font-size:1.05rem;font-weight:900}.chore-button strong{margin-top:10px;color:#d96c4a;font-size:1.15rem}.summary-list,.history-list{display:grid;gap:10px}.summary-row,.history-item,.table-row,.edit-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;border-radius:8px;background:#fff;border:1px solid #ded3c1}.summary-row p,.history-item p,.history-item span,.table-row small{color:#70645b;font-size:.86rem}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;font-weight:900}.form-card{display:grid;grid-template-columns:1fr 120px;gap:12px}label{display:grid;gap:6px;color:#554b43;font-size:.85rem;font-weight:800}.filter-bar{display:grid;grid-template-columns:1fr 1.3fr auto;gap:8px}.history-item{grid-template-columns:1fr auto}.history-item h3{margin:4px 0;font-size:1.05rem}.history-item small{display:block;margin-top:6px;color:#6f6258}.parent-comment{color:#2f6f73;font-weight:800}.review-badge{width:fit-content;padding:4px 8px;border-radius:999px;background:#e7f2ee;color:#2f6f73;font-weight:900}.item-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.item-actions .danger{background:#b64949}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:end center;padding:18px;background:#24322f59}.modal{display:grid;gap:12px;width:min(100%,520px);max-height:90vh;overflow-y:auto;padding:18px;border-radius:8px;background:#fffaf2}.modal textarea{min-height:82px;resize:vertical}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions button{background:#e6dccd;color:#24322f}.modal-actions .primary{background:#263b37;color:#fff}.month-switcher{display:grid;grid-template-columns:84px 1fr 84px;align-items:center;gap:8px;text-align:center}.total-card{display:grid;gap:8px}.total-card>strong{font-size:2.2rem;color:#2f6f73}.check-line{display:flex;align-items:center;gap:8px}.check-line input{width:20px;height:20px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:10px;border-radius:8px;background:#fff;border:1px solid #ded3c1}.calendar b,.calendar div{min-height:42px;border-radius:8px;display:grid;place-items:center;position:relative}.calendar b{color:#70645b;font-size:.82rem}.calendar div{background:#f7f1e6}.calendar .muted{background:transparent}.calendar em{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:#d96c4a;color:#fff;font-size:.72rem;font-style:normal;font-weight:900}.table-card{display:grid;gap:8px}.payment-summary{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;color:#6f6258;font-size:.92rem}.payment-summary strong{color:#263b37}.payment-summary .unpaid{color:#b64b3a;font-weight:800}.payment-summary .paid{color:#2f6f73;font-weight:800}.payment-form,.payment-history{display:grid;gap:10px;padding:16px;border:1px solid #ded3c1;border-radius:8px;background:#fffaf2}.payment-form h2,.payment-history h2{margin:0;font-size:1rem}.payment-form label{display:grid;gap:5px;font-weight:800}.payment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid #eee5d8}.payment-row>div{display:grid;gap:2px}.payment-row small{color:#70645b}.empty-state{margin:0;color:#70645b}.table-row{grid-template-columns:1fr auto auto;border:0;background:#f7f1e6}.wide-button{width:100%}.settings-block{display:grid;gap:10px}.inline-form{display:grid;grid-template-columns:1fr auto;gap:8px}.inline-form input[type=number]{width:90px}.edit-row{grid-template-columns:1fr 112px auto}.chore-edit{grid-template-columns:42px 42px 1fr 84px auto}.chore-edit button{min-height:40px;border-radius:8px;background:#e6dccd;color:#24322f;font-weight:900}.chore-edit button:disabled{opacity:.4}.file-import{display:grid;place-items:center;min-height:46px;border-radius:8px;background:#fff;border:1px dashed #b9aa97}.file-import input{display:none}.bottom-nav{position:fixed;left:50%;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);width:min(100%,720px);transform:translate(-50%);padding:8px 10px max(8px,env(safe-area-inset-bottom));background:#fffaf2f5;border-top:1px solid #ded3c1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav button{display:grid;place-items:center;gap:2px;min-height:54px;border-radius:8px;background:transparent;color:#6f6258;font-size:.72rem;font-weight:800}.bottom-nav span{font-size:1.25rem;line-height:1}.bottom-nav button.active{background:#263b37;color:#fff}@media(min-width:680px){.app{padding-top:24px}.chore-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:420px){.app{padding-inline:10px}.hero{align-items:stretch;flex-direction:column}.hero button{width:100%}.section-title,.form-card,.filter-bar,.login-panel,.login-panel form,.inline-form{grid-template-columns:1fr}.chore-edit{grid-template-columns:38px 38px 1fr}.chore-edit input[type=number],.chore-edit label{grid-column:span 3}}
