:root{--bg:#f6f4ef;--text:#1f2933;--muted:#697386;--accent:#2f6f4e;--accent2:#78a988;--light:#e8f3ec;--line:#e6e2d9;--warn:#fff7dd;--bad:#fff0f0}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.appHeader{color:#fff;z-index:5;background:linear-gradient(135deg,#245b3e,#78a988);padding:22px 16px;position:sticky;top:0}.appHeader h1{margin:0;font-size:1.25rem}.appHeader p{margin:5px 0 0;font-size:.9rem}main{max-width:960px;margin:0 auto 86px;padding:14px}.hero{background:linear-gradient(135deg,#fff,#e8f3ec);border-radius:22px;margin-bottom:12px;padding:18px;box-shadow:0 2px 14px #0001}.hero h2{margin:0 0 4px}.searchRow{gap:8px;margin-bottom:10px;display:flex}input,button,select{font:inherit}input,select{background:#fff;border:1px solid #ddd;border-radius:14px;width:100%;padding:12px}.tabs{gap:8px;padding-bottom:10px;display:flex;overflow:auto}.tabs button,.replace button{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:999px;padding:9px 13px;font-weight:750}.tabs button.active{background:var(--accent);color:#fff}.card,.section,.top{background:#fff;border-radius:20px;margin-bottom:12px;overflow:hidden;box-shadow:0 2px 14px #0001}.image{background:radial-gradient(circle at 30% 30%,#fff 0,#dfeee3 38%,#f9e1c6 100%);justify-content:center;align-items:center;height:128px;font-size:3.2rem;display:flex}.content,.section{padding:14px}.titleLine{justify-content:space-between;align-items:start;gap:8px;display:flex}h2{margin:0 0 7px;font-size:1.08rem}h3{color:var(--accent);align-items:center;gap:6px;margin:0 0 10px;display:flex}.small{color:var(--muted);font-size:.9rem}.statusOk,.okPill{color:#166534;background:#e8f8ef;border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:800}.statusWarn,.warnPill{color:#92400e;background:#fff7dd;border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:800}.meta{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.meta span{background:var(--light);color:var(--accent);border-radius:999px;padding:5px 9px;font-size:.8rem;font-weight:800}.primary,.secondary,.back{border:0;border-radius:14px;align-items:center;gap:6px;margin:4px 4px 4px 0;padding:12px 15px;font-weight:850;display:inline-flex}.primary{background:var(--accent);color:#fff}.secondary,.back{background:var(--light);color:var(--accent)}.twoCols{grid-template-columns:1fr 1fr;gap:10px;display:grid}.person{background:var(--light);border-radius:14px;margin-top:10px;padding:12px}.priceBox{background:#f8fafc;border-radius:14px;margin-top:10px;padding:12px}.toggle{margin-top:12px;display:block}.notice{background:var(--warn);border-left:4px solid #e1a400;border-radius:12px;margin-top:10px;padding:11px}.editItem{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr 132px;align-items:center;gap:8px;padding:10px 0;display:grid}.amountBtns{grid-template-columns:32px 1fr 32px;gap:4px;display:grid}.amountBtns button{background:var(--light);color:var(--accent);border:0;border-radius:8px;font-weight:900}.editItem input[type=number]{border-radius:10px;width:64px;padding:8px}.replace{margin-top:6px}.replace button{color:var(--accent);margin:2px;padding:6px 9px;font-size:.8rem}.step{border-bottom:1px solid var(--line);grid-template-columns:32px 1fr;gap:10px;padding:12px 0;display:grid}.stepNo{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:29px;height:29px;font-weight:900;display:flex}.check label{border-bottom:1px solid var(--line);padding:10px 0;display:block}.day{background:#fff;border-radius:16px;margin-bottom:10px;padding:12px;box-shadow:0 2px 10px #0001}.addRow{gap:8px;display:flex}.remove{color:#9b1c1c;background:#fff0f0;border:0;border-radius:10px;margin-left:8px;padding:6px 9px}.warning{color:#b45309}.bottomNav{border-top:1px solid var(--line);z-index:10;background:#fff;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottomNav button{background:var(--light);color:var(--accent);border:0;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-size:.82rem;font-weight:900;display:flex}@media (width>=700px){.grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}}@media print{.bottomNav,.back,.primary,.secondary,.tabs,.searchRow{display:none!important}body{background:#fff}.card,.section,.top{box-shadow:none;border:1px solid #ddd}}
