:root{--ink:#193039;--sub:#64757b;--accent:#0a7055;--accent2:#e0f4ea;--line:#dfe8e6;--bg:#f4f7f6;--white:#fff;--bad:#a72931;--badbg:#ffe9e8;--r:17px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.46;cursor:not-allowed}button:focus-visible,input:focus-visible{outline:3px solid #69bca6;outline-offset:2px}.wrap{max-width:850px;margin:auto;padding:0 16px 110px}.top{background:#173b3e;color:#fff;padding:19px max(16px,calc((100% - 818px)/2));display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{font-size:21px;font-weight:800;letter-spacing:-.6px}.brand small{display:block;font-weight:400;font-size:12px;opacity:.8;letter-spacing:0}.top .right{display:flex;gap:8px;align-items:center}.top button{border:1px solid #568078;border-radius:12px;padding:8px 10px;background:transparent;color:white;font-size:13px}.chip{display:inline-block;border-radius:99px;background:#e4f1ef;color:#42645a;padding:5px 10px;font-size:12px;font-weight:700}.chip.demo{background:#ffefc5;color:#7a5700}.chip.active{background:#dcf7e8;color:#136340}.chip.closed{background:#e9eef0;color:#52666f}.head{padding:25px 0 12px}.head h1{margin:0;font-size:26px;line-height:1.12;letter-spacing:-.8px}.head p{margin:8px 0 0;color:var(--sub);line-height:1.45}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:19px;margin:12px 0;box-shadow:0 3px 12px #15382b09}.card h2,.card h3{margin:0 0 13px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tile{border:1px solid var(--line);background:#fff;border-radius:15px;padding:17px 12px;text-align:left;display:flex;flex-direction:column;gap:9px;min-height:116px}.tile:hover{border-color:#69ad99;background:#f6fffb}.tile b{font-size:16px}.tile span{font-size:12px;color:var(--sub)}.tile .ic{font-size:29px;line-height:1}.stat{background:#eff5f2;border-radius:13px;padding:13px 8px;text-align:center}.stat strong{display:block;font-size:25px;font-variant-numeric:tabular-nums}.stat span{color:var(--sub);font-size:11px}.muted{color:var(--sub)}.small{font-size:13px}.tiny{font-size:11px}.big{font-size:22px}.label{display:block;font-size:14px;font-weight:700;margin:15px 0 7px}.field{width:100%;border:1px solid #c9d8d5;border-radius:12px;background:#fff;padding:13px;font-size:17px;min-height:49px;color:var(--ink)}.field::placeholder{color:#91a2a3}.row{display:flex;align-items:center;gap:10px}.spread{justify-content:space-between}.grow{flex:1}.btn{border:0;background:var(--accent);color:#fff;border-radius:13px;font-weight:750;padding:14px 17px;min-height:49px}.btn.secondary{background:#e7f0ed;color:#205546}.btn.gray{background:#f0f3f2;color:#264246}.btn.danger{background:var(--bad);color:white}.btn.outline{border:1px solid #bed4ce;color:#1d5946;background:white}.btn.full{width:100%;margin-top:13px}.hint{font-size:13px;line-height:1.5;color:var(--sub);margin:9px 0}.warning{background:#fff4db;border:1px solid #edcf89;border-radius:13px;padding:13px;color:#7c5800;font-size:13px}.error{background:var(--badbg);border:1px solid #f1b5b7;border-radius:13px;padding:12px 13px;color:var(--bad);font-size:14px}.success{background:#e4f7e8;border:1px solid #a0d9b1;border-radius:13px;padding:12px 13px;color:#1f6237;font-size:14px}.menu{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;box-shadow:0 -3px 16px #09261e0a;padding:7px 6px max(8px,env(safe-area-inset-bottom));z-index:4}.menu-inner{display:grid;grid-template-columns:repeat(4,1fr);width:min(850px,100%);gap:2px}.nav{border:0;border-radius:11px;background:transparent;padding:9px 3px;font-size:11px;color:var(--sub);font-weight:650}.nav span{display:block;font-size:22px;margin-bottom:4px}.nav.selected{background:#e3f3ec;color:#12593d}.lineitem{padding:12px 0;border-bottom:1px solid var(--line)}.lineitem:last-child{border-bottom:0}.lineitem b{font-size:14px}.lineitem .meta{font-size:12px;color:var(--sub);margin-top:4px;line-height:1.45}.rightalign{text-align:right}.kv{display:grid;grid-template-columns:100px 1fr;gap:9px;font-size:14px;margin:8px 0}.kv b{word-break:break-word}.num{font-variant-numeric:tabular-nums}.auth{max-width:470px;margin:40px auto}.auth h1{margin:0 0 8px}.divider{height:1px;background:var(--line);margin:18px 0}.overlay{position:fixed;inset:0;background:#102524a6;z-index:10;display:flex;align-items:center;justify-content:center;padding:14px}.modal{width:min(500px,100%);background:white;border-radius:20px;padding:18px;max-height:92dvh;overflow-y:auto}.scanner{width:100%;min-height:240px;background:#0c2220;border-radius:12px;overflow:hidden}.scanner video{max-width:100%}#toasts{position:fixed;left:12px;right:12px;top:12px;z-index:30;pointer-events:none}#toasts>div{background:#183d3a;color:#fff;border-radius:12px;padding:15px;max-width:560px;margin:0 auto 8px;box-shadow:0 9px 28px #0003;pointer-events:auto}.loading{text-align:center;padding:80px 20px;color:#52666f}.pair{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.listButton{width:100%;border:none;background:transparent;text-align:left;padding:0;color:inherit}.empty{border:1px dashed #b8cbc5;background:#fafdfb;border-radius:15px;padding:27px 20px;text-align:center;color:var(--sub)}.pillcount{border-radius:50px;padding:3px 7px;background:#e8efed;font-size:12px}.toggle{display:flex;gap:10px;flex-wrap:wrap}.footnote{margin:28px 0 10px;color:#7b8a8c;font-size:12px;text-align:center}@media(max-width:410px){.card{padding:15px}.grid3{gap:5px}.stat{padding:12px 4px}.stat strong{font-size:22px}.grid{gap:8px}.tile{padding:13px 10px}.kv{grid-template-columns:85px 1fr}}
