:root{--ink: #1c2b22;--ink-soft: #5a6b5f;--pasture: #2e6b46;--pasture-deep: #1f4a31;--field: #f4f5ef;--card: #ffffff;--line: #e0e2d6;--butter: #e9a13b;--butter-soft: #fdf3e2;--alert: #c4483c}*{box-sizing:border-box;margin:0}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--field);color:var(--ink)}h1,h2,h3{font-family:ui-rounded,Hiragino Maru Gothic ProN,Quicksand,ui-sans-serif,sans-serif;letter-spacing:-.01em}.app{min-height:100vh;display:flex;flex-direction:column}.top{background:var(--pasture-deep);color:#f2f6ee;padding:14px 20px;display:flex;align-items:center;justify-content:space-between}.top .farm{font-weight:700;font-size:17px}.top .right{display:flex;align-items:center;gap:10px}.top .mode{font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:#ffffff24;padding:4px 10px;border-radius:99px}.top .logout{background:none;border:none;color:#bcd3c2;font-size:12px;cursor:pointer;text-decoration:underline}.farm-switch{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:8px;padding:6px 10px;font-size:15px;font-weight:700}.farm-switch option{color:var(--ink)}.nav{display:flex;gap:2px;background:var(--pasture-deep);padding:0 12px}.nav.nav-scroll{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.nav.nav-scroll::-webkit-scrollbar{display:none}.nav.nav-scroll button{flex-shrink:0;white-space:nowrap}.nav button{flex:1;max-width:140px;border:0;cursor:pointer;padding:10px 8px;background:transparent;color:#bcd3c2;font-size:13px;font-weight:600;border-radius:8px 8px 0 0}.nav button.on{background:var(--field);color:var(--pasture-deep)}.main{flex:1;padding:20px;max-width:960px;width:100%;margin:0 auto}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:14px}.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.stat .lbl{font-size:12px;color:var(--ink-soft);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.stat .val{font-size:26px;font-weight:800;margin-top:4px}.stat .sub{font-size:12px;color:var(--ink-soft);margin-top:2px}.ledger{background:var(--pasture);color:#f2f6ee;border-radius:16px;padding:20px 22px;margin-bottom:16px}.ledger .day{font-size:12px;opacity:.85;text-transform:uppercase;letter-spacing:.08em}.ledger .profit{font-size:40px;font-weight:800;line-height:1.1;margin:6px 0 2px}.ledger .profit.neg{color:#ffd9d4}.ledger .flow{display:flex;gap:24px;margin-top:12px;font-size:13px;flex-wrap:wrap}.ledger .flow b{display:block;font-size:17px}.btn{background:var(--pasture);color:#fff;border:0;border-radius:10px;padding:10px 16px;font-weight:700;font-size:14px;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:transparent;color:var(--pasture);border:1.5px solid var(--pasture)}.btn.small{padding:6px 12px;font-size:13px}.btn.block{width:100%;padding:13px}input,select{width:100%;padding:9px 11px;border:1.5px solid var(--line);border-radius:9px;font-size:14px;background:#fff;color:var(--ink);font-family:inherit}input:focus,select:focus{outline:2px solid var(--pasture);outline-offset:1px}input[type=checkbox]{width:auto}.field{margin-bottom:12px}.field label{display:block;font-size:12px;font-weight:700;color:var(--ink-soft);margin-bottom:5px}.row{display:flex;gap:10px}.row>*{flex:1}.pillrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.pill{border:1.5px solid var(--line);background:#fff;color:var(--ink-soft);border-radius:99px;padding:7px 15px;font-size:13px;font-weight:700;cursor:pointer}.pill.on{background:var(--pasture);border-color:var(--pasture);color:#fff}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{text-align:left;color:var(--ink-soft);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;padding:6px 8px;border-bottom:1.5px solid var(--line)}.tbl td{padding:8px;border-bottom:1px solid var(--line)}.tag{font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px;background:var(--butter-soft);color:#8a5a10}.tag.green{background:#e4efe6;color:var(--pasture-deep)}.tag.red{background:#f9e3e0;color:var(--alert)}.barwrap{display:flex;align-items:flex-end;gap:6px;height:110px;margin-top:10px}.barcol{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.bar{width:100%;border-radius:5px 5px 0 0;background:var(--pasture);min-height:3px}.bar.amber{background:var(--butter)}.barlbl{font-size:10px;color:var(--ink-soft)}.setup-wrap{max-width:480px;margin:40px auto;padding:0 20px}.modecard{border:2px solid var(--line);border-radius:14px;padding:16px;cursor:pointer;margin-bottom:10px;background:#fff}.modecard.on{border-color:var(--pasture);background:#f0f6f1}.modecard b{display:block;margin-bottom:3px}.modecard span{font-size:13px;color:var(--ink-soft)}.empty{text-align:center;color:var(--ink-soft);padding:30px 10px;font-size:14px}.error{color:var(--alert);font-size:13px;margin-bottom:10px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;padding:10px 20px;border-radius:99px;font-size:14px;font-weight:600;z-index:50}@media (max-width: 640px){.ledger .profit{font-size:32px}}.card{box-shadow:0 1px 3px #1c2b220f,0 1px 2px #1c2b220a;transition:box-shadow .15s ease}.card:hover{box-shadow:0 2px 8px #1c2b2217,0 1px 3px #1c2b220d}.btn{transition:transform .08s ease,filter .12s ease}.btn:hover{filter:brightness(1.06)}.btn:active{transform:scale(.98)}input,select{transition:border-color .12s ease,box-shadow .12s ease}input:focus,select:focus{outline:none;border-color:var(--pasture);box-shadow:0 0 0 3px #2e6b461f}.tbl tbody tr{transition:background .1s ease}.tbl tbody tr:hover{background:#2e6b4609}.chart{display:flex;align-items:flex-end;gap:6px;height:140px;padding-top:28px}.chart .barwrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative;cursor:default}.chart .bar{width:100%;background:var(--pasture);border-radius:6px 6px 0 0;min-height:3px;transition:filter .1s ease}.chart .barwrap:hover .bar{filter:brightness(1.18)}.chart .barlabel{font-size:11px;color:var(--ink-soft);margin-top:5px}.chart .tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--ink);color:#fff;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.5;white-space:nowrap;z-index:20;box-shadow:0 4px 12px #00000038;pointer-events:none}.chart .barwrap:hover .tooltip{display:block}.chart .tooltip b{font-weight:700}.chart .tooltip .neg{color:#ffb0a6}.chart .tooltip .pos{color:#b9e6c4}.trendline{width:100%;height:60px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c2b2273;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:var(--card);border-radius:14px;padding:20px;width:100%;max-width:520px;max-height:88vh;overflow-y:auto;box-shadow:0 12px 40px #00000040}.muted{font-size:12px;color:var(--ink-soft)}.danger-text{color:var(--alert)}.flexrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.permgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin:10px 0}.permgrid label{display:flex;align-items:center;gap:6px;font-size:13px;background:var(--field);border-radius:8px;padding:6px 8px;cursor:pointer}
