:root{--bg: #ffffff;--surface: #f6f7f9;--border: #e5e7eb;--text: #1a1d21;--muted: #6b7280;--accent: #16a34a;--accent-soft: #e8f6ed;--danger: #dc2626;--danger-soft: #fdecec;--warn-soft: #fff7e0;--radius: 12px;--nav-h: 64px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}h1{font-size:1.5rem;margin:0 0 .75rem}h2{font-size:1.05rem;margin:1.5rem 0 .5rem}h3{font-size:1rem;margin:1rem 0 .4rem}a{color:var(--accent);text-decoration:none}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:.85rem}.right{text-align:right}.shell{max-width:720px;margin:0 auto;min-height:100dvh;padding-bottom:calc(var(--nav-h) + 24px + env(safe-area-inset-bottom))}header.top{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top))}header.top .brand{font-weight:700;font-size:1.15rem;color:var(--text)}header.top nav{display:flex;gap:4px}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;font-size:1.25rem;color:var(--text);background:none;border:0;cursor:pointer}.icon-btn:active{background:var(--surface)}.badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:.7rem;line-height:18px;text-align:center}main.content{padding:16px}nav.tabs{position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--bg);border-top:1px solid var(--border);display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom)}nav.tabs .inner{display:flex;width:100%;max-width:720px}nav.tabs a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:var(--nav-h);color:var(--muted);font-size:.72rem;gap:2px}nav.tabs a span.i{font-size:1.35rem;line-height:1;filter:grayscale(1);opacity:.7}nav.tabs a.active{color:var(--accent);font-weight:600}nav.tabs a.active span.i{filter:none;opacity:1}.fab{position:fixed;right:max(16px,calc(50% - 344px));bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom));z-index:11;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;font-size:2rem;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #16a34a59}.card{background:var(--surface);border-radius:var(--radius);padding:16px;margin-bottom:12px}.card.plain{background:var(--bg);border:1px solid var(--border)}.balance{text-align:center;padding:22px 16px;background:var(--accent-soft)}.balance .label,.lbl{color:var(--muted);font-size:.9rem}.balance .value{font-size:2.4rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.balance .value.credit{color:var(--text)}.list{list-style:none;margin:0;padding:0}.row{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 0;border-bottom:1px solid var(--border);color:var(--text)}.row:last-child{border-bottom:0}.row .ico{font-size:1.5rem;width:36px;text-align:center;flex:none}.row .grow{flex:1;min-width:0}.row .title,.row .sub{display:block}.row .title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .sub{color:var(--muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .amt{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.row .amt small{display:block;color:var(--muted);font-weight:400;font-size:.8rem}.group-title{margin:20px 0 4px;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;display:flex;justify-content:space-between}.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.75rem;background:var(--surface);color:var(--muted)}.pill.adjusted{background:var(--warn-soft);color:#92620b}.pill.declined{background:var(--danger-soft);color:var(--danger)}.pill.new{background:var(--accent-soft);color:var(--accent)}.pill.reported{background:var(--warn-soft);color:#92620b}.pill.confirmed{background:var(--accent-soft);color:var(--accent)}label{display:block;font-weight:600;font-size:.9rem;margin:14px 0 0}label>input,label>select,label>textarea{margin-top:6px;font-weight:400}input,select,textarea{width:100%;min-height:48px;padding:10px 12px;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);appearance:none}select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}textarea{min-height:80px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;width:24px;min-height:24px;height:24px;padding:0;margin:0;flex:none;accent-color:var(--accent)}.check{display:flex;align-items:center;gap:10px;font-weight:400;min-height:44px;margin:0}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 18px;font:inherit;font-weight:600;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}button:active,.btn:active{filter:brightness(.96)}button:disabled{opacity:.55}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;width:100%;margin-top:18px}button.danger,.btn.danger{color:var(--danger);border-color:#f3c4c4}button.small,.btn.small{min-height:40px;padding:0 12px;font-size:.9rem}button.link{border:0;background:none;color:var(--accent);padding:0 6px;min-height:40px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.actions>*{flex:1}.error{color:var(--danger);background:var(--danger-soft);padding:10px 12px;border-radius:var(--radius);margin:12px 0 0}.notice{background:var(--accent-soft);padding:10px 12px;border-radius:var(--radius);margin:12px 0 0}.amount-input{font-size:2.2rem;font-weight:700;text-align:center;min-height:72px;font-variant-numeric:tabular-nums}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;background:var(--surface);border:1px solid transparent;font-weight:500;color:var(--text);cursor:pointer;font-size:.95rem}.chip.sel{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.seg{display:flex;gap:8px;margin-top:8px}.seg .chip{flex:1;justify-content:center}.login{max-width:360px;margin:0 auto;padding:12vh 24px 24px;text-align:center}.login form{text-align:left}.login .logo{width:72px;height:72px;border-radius:20px;background:var(--accent);color:#fff;font-size:2.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-weight:500}.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:10px 0 10px 16px;border-left:2px solid var(--border);margin-left:6px;position:relative}.timeline li:before{content:"";position:absolute;left:-6px;top:16px;width:10px;height:10px;border-radius:50%;background:var(--border)}.timeline li.adjusted:before{background:#f59e0b}.timeline li.declined:before{background:var(--danger)}.timeline li.comment:before{background:var(--accent)}.bubble{background:var(--surface);border-radius:var(--radius);padding:8px 12px;margin-top:4px;white-space:pre-wrap}.toolbar{display:flex;gap:8px;margin-bottom:8px}.toolbar input{flex:1}.empty{text-align:center;color:var(--muted);padding:32px 0}details.card summary{font-weight:600;cursor:pointer;min-height:28px}.bar-row{display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:center;margin:6px 0;font-size:.9rem}.bar-track{background:var(--surface);border-radius:6px;height:14px;overflow:hidden}.bar-fill{background:var(--accent);height:100%;border-radius:6px}.legend{display:flex;gap:14px;font-size:.8rem;color:var(--muted);margin-top:4px}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}svg text{font-family:inherit}
