:root{--color-bg: #fafbfa;--color-surface: #ffffff;--color-surface-2: #f0f3f0;--color-fg: #11221a;--color-muted: #5a6d61;--color-border: #d9e0db;--color-accent: #0f5132;--color-accent-soft: #e8f0eb;--color-danger: #b3261e;--color-success: #0f5132;--shadow-1: 0 1px 2px rgba(15, 35, 26, .06), 0 4px 12px rgba(15, 35, 26, .04);--radius: 12px;--radius-sm: 8px;--tap: 44px;--font: "Manrope", -apple-system, BlinkMacSystemFont, system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-fg);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:10;padding:env(safe-area-inset-top,0) 1rem 0;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:56px}.brand{display:flex;align-items:center;gap:.625rem;font-weight:600}.brand-mark{display:inline-grid;place-items:center;width:28px;height:28px;background:var(--color-accent);color:#fff;border-radius:6px;font-weight:700;font-size:.875rem}.brand-name{font-size:.9375rem}.brand-meta{font-size:.75rem;color:var(--color-muted);font-variant-numeric:tabular-nums}.app-main{flex:1 1 auto;padding:1rem 1rem calc(80px + env(safe-area-inset-bottom,0));max-width:640px;width:100%;margin:0 auto}.panel{display:flex;flex-direction:column;gap:1rem}.panel.hidden{display:none}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.panel-title{font-size:1.5rem;font-weight:700;margin:.5rem 0;letter-spacing:-.01em}.field{display:flex;flex-direction:column;gap:.375rem;border:0;padding:0;margin:0}.field-label{font-size:.8125rem;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.field-hint{font-size:.8125rem;color:var(--color-muted)}.seg{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.seg-btn{font-family:var(--font);font-size:.9375rem;font-weight:600;padding:.5rem;min-height:40px;border:0;border-radius:6px;background:transparent;color:var(--color-muted);cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.seg-btn.active{background:var(--color-surface);color:var(--color-accent);box-shadow:var(--shadow-1)}.seg-btn:active{transform:scale(.98)}.field-group{display:flex;flex-direction:column;gap:1rem}.field-group[hidden]{display:none}.amount-input{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.amount-input:focus-within{outline:2px solid var(--color-accent);outline-offset:1px}.amount-prefix{padding:0 .25rem 0 .75rem;color:var(--color-muted);font-weight:600;font-size:1.125rem}.amount-input input{border:0;background:transparent;padding-left:.25rem}.amount-input input:focus{outline:0}input,select,textarea{font-family:var(--font);font-size:1rem;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-fg);min-height:var(--tap);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:transparent}textarea{resize:vertical;min-height:88px}.chip-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.chip{font-family:var(--font);font-size:1rem;font-weight:600;padding:.75rem .5rem;min-height:var(--tap);background:var(--color-surface);color:var(--color-fg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.chip.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.chip:active{transform:scale(.97)}.custom-minutes{margin-top:.5rem;display:flex;align-items:center;gap:.5rem}.custom-minutes-label{font-size:.875rem;color:var(--color-muted);flex-shrink:0}.custom-minutes input{flex:1 1 auto}.duration-summary{font-size:.875rem;color:var(--color-muted);margin-top:.25rem;font-variant-numeric:tabular-nums}.duration-summary.has-value{color:var(--color-fg);font-weight:600}.btn-primary,.btn-secondary,.btn-tertiary,.btn-danger{font-family:var(--font);font-size:1rem;font-weight:600;padding:.875rem 1rem;min-height:var(--tap);border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--color-surface);color:var(--color-fg);border-color:var(--color-border)}.btn-tertiary{background:transparent;color:var(--color-accent);border:0;padding:.5rem .75rem;font-size:.9375rem;min-height:36px}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.form-status{font-size:.875rem;min-height:1.25em}.form-status.error{color:var(--color-danger)}.form-status.success{color:var(--color-success)}.muted{color:var(--color-muted)}.client-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.client-block-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap}.client-name{font-weight:700;font-size:1.0625rem}.client-totals{font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-accent)}.pending-item{display:flex;flex-direction:column;gap:.125rem;padding:.5rem 0;border-top:1px solid var(--color-border);font-size:.9375rem}.pending-item-meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.8125rem;color:var(--color-muted);font-variant-numeric:tabular-nums}.pending-empty{font-style:italic;color:var(--color-muted)}.sent-summary{background:var(--color-accent-soft);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:baseline;font-variant-numeric:tabular-nums}.sent-summary-label{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.sent-summary-total{font-size:1.125rem;font-weight:700;color:var(--color-accent)}.sent-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.875rem 1rem;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:.375rem;margin-bottom:.625rem;text-decoration:none;color:inherit}.sent-row:hover{border-color:var(--color-accent)}.sent-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.sent-row-name{font-weight:600;font-size:1rem}.sent-row-amount{font-variant-numeric:tabular-nums;font-weight:700;color:var(--color-accent)}.sent-row-meta{font-size:.8125rem;color:var(--color-muted);display:flex;justify-content:space-between;gap:.5rem;font-variant-numeric:tabular-nums}.sent-row-overdue{color:var(--color-danger);font-weight:600}.meta-block{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.meta-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin:0 0 .5rem}.meta-row{display:flex;justify-content:space-between;gap:.5rem;padding:.25rem 0;font-size:.875rem}.meta-row code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;color:var(--color-muted)}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--color-surface);border-top:1px solid var(--color-border);display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom,0)}.tab{background:transparent;border:0;padding:.625rem .5rem .75rem;font-family:var(--font);font-size:.75rem;font-weight:600;color:var(--color-muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:56px}.tab-icon{font-size:1.25rem;line-height:1}.tab.active{color:var(--color-accent)}.toast{position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom,0));transform:translate(-50%);background:var(--color-fg);color:#fff;padding:.75rem 1rem;border-radius:var(--radius);font-size:.9375rem;box-shadow:var(--shadow-1);z-index:100;max-width:calc(100% - 2rem);text-align:center}.toast.error{background:var(--color-danger)}.signin-overlay{position:fixed;inset:0;z-index:50;background:var(--color-bg);display:grid;place-items:center;padding:1.5rem}.signin-overlay[hidden]{display:none}.signin-card{max-width:420px;width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:2rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.signin-title{font-size:1.5rem;font-weight:700;margin:0;letter-spacing:-.01em}.signin-lede{font-size:.9375rem;color:var(--color-muted);margin:0;line-height:1.5}.gsi-slot{margin-top:.5rem;min-height:48px;display:flex;justify-content:center}.signin-foot{font-size:.8125rem;margin:0}.signin-foot.error{color:var(--color-danger)}.signed-in-as{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.125rem}.signed-in-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.signed-in-email{font-size:1.0625rem;font-weight:600;word-break:break-all}.signed-in-name{font-size:.875rem}@media(min-width:640px){.panel-title{font-size:1.75rem}.chip-row{grid-template-columns:repeat(6,1fr)}}
