@font-face{font-family:Rubik;font-weight:400;font-display:swap;src:url(/fonts/rubik-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-weight:400;font-display:swap;src:url(/fonts/rubik-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-weight:500;font-display:swap;src:url(/fonts/rubik-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-weight:500;font-display:swap;src:url(/fonts/rubik-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-weight:700;font-display:swap;src:url(/fonts/rubik-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-weight:700;font-display:swap;src:url(/fonts/rubik-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--green-900:#14301f;--green-700:#1d4f37;--green-100:#e3f0df;--leaf:#7dba45;--bg:#f6f8f4;--surface:#fff;--text:#1c2321;--muted:#5b6660;--border:#d5ddd6;--radius:12px;color:var(--text);background:var(--bg);font-family:Rubik,system-ui,-apple-system,Segoe UI,sans-serif;font-size:18px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}.shell{max-width:960px;min-height:100vh;margin:0 auto}.topbar{background:var(--green-700);color:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:10px 16px;display:flex}.sync-badge{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#ffffff1f;border:1px solid #ffffff80;border-radius:999px;max-width:60vw;min-height:36px;padding:0 12px;font-size:.85rem;overflow:hidden}.sync-badge.warn{color:#5c4100;background:#fff6db;border-color:#bf8700;font-weight:600}.sync-badge.muted{opacity:.8}.brand{flex-shrink:0;width:auto;height:28px}@media (width<=480px){.brand{height:22px}}.tabs{background:var(--surface);border-bottom:1px solid var(--border);gap:6px;padding:10px 16px;display:flex;overflow-x:auto}.tab{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);white-space:nowrap;border-radius:999px;padding:0 16px}.tab.active{background:var(--green-100);border-color:var(--green-700);color:var(--green-900);font-weight:600}.content{padding:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.hint{color:var(--muted);font-size:.9rem}h1{margin:.2em 0 .6em;font-size:1.5rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.btn{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;padding:0 18px;text-decoration:none;display:inline-flex}.btn.primary{background:var(--green-700);border-color:var(--green-700);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--green-900);border-color:var(--green-900)}.btn.danger{color:#a3261b;border-color:#e6c3bf}.btn:disabled{opacity:.5;cursor:default}.actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.form{gap:14px;display:grid}.row{grid-template-columns:1fr 2fr;gap:12px;display:grid}.field{gap:4px;min-width:0;display:grid}.label{font-size:.95rem;font-weight:600}.req{color:#a3261b}input,textarea,select{font:inherit;border:1px solid var(--border);min-height:48px;color:var(--text);background:#fff;border-radius:10px;width:100%;min-width:0;max-width:100%;padding:8px 12px}input:focus,textarea:focus,select:focus{outline:2px solid var(--green-700);outline-offset:1px}.search{margin:4px 0 12px}.list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.item{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.item-actions{gap:8px;display:flex}.message{background:var(--green-100);border:1px solid var(--green-700);border-radius:10px;padding:10px 14px}.error{color:#a3261b}@media (width<=480px){.row{grid-template-columns:1fr}.tabs{grid-template-columns:repeat(3,1fr);display:grid;overflow-x:visible}.tab{min-height:44px;padding:0 6px}}h2{margin:.8em 0 .4em;font-size:1.15rem}.card+.card,.card.form+.actions{margin-top:12px}.row.even{grid-template-columns:1fr 1fr}.row.three{grid-template-columns:1.2fr .8fr 1fr}.check{align-items:center;gap:10px;display:flex}.check input{width:24px;height:24px;min-height:24px}.message.warn{background:#fff6db;border-color:#bf8700}.message.error-box{color:#7a1c14;background:#fdecea;border-color:#a3261b}.btn.icon{min-width:48px;padding:0;font-size:1.2rem}.btn.small{min-height:40px;padding:0 12px}.item.inactive{opacity:.6}.item-head{justify-content:space-between;align-items:center;display:flex}.right{text-align:right}.add-item{margin-top:12px}.total-bar{border-radius:var(--radius);background:var(--green-700);color:#fff;justify-content:space-between;align-items:center;margin-top:14px;padding:14px 16px;font-size:1.2rem;display:flex}.chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;min-height:40px;padding:0 14px}.chip.active{background:var(--green-100);border-color:var(--green-700);font-weight:600}.clickable{text-align:left;width:100%;font:inherit;color:inherit;display:flex}.clickable:hover{border-color:var(--green-700)}.badge{color:var(--muted);background:#eef1ee;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.badge.issued{color:#7a5600;background:#fff6db}.badge.paid{background:var(--green-100);color:var(--green-900)}.badge.danger{color:#a3261b;background:#fdecea}.plain{padding-left:18px}.total-line{text-align:right;font-size:1.3rem;font-weight:700}.link{color:var(--green-700);font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}@media (width<=480px){.row.three{grid-template-columns:1fr 1fr}.row.three>:first-child{grid-column:1/-1}}.clickable .right{margin-left:auto}.file-btn{justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.file-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.reminder{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.total-line.left{text-align:left;margin:0 0 8px}.meter{background:#e8ece8;border-radius:999px;height:14px;overflow:hidden}.meter-fill{background:var(--green-700);height:100%}.meter-fill.near-25k,.meter-fill.near-100k{background:#bf8700}.meter-fill.over-25k,.meter-fill.over-100k{background:#a3261b}.btn.warn-btn{background:#fff6db;border-color:#bf8700;font-weight:600}.reminders{margin-top:8px}.quick-customer{border:1px dashed var(--green-700);border-radius:var(--radius);background:var(--green-100);gap:12px;padding:14px;display:grid}.quick-customer .actions{margin-top:0}.startup{margin:16px}.secondary-actions{justify-content:flex-end;margin:-4px 0 10px;display:flex}
