:root{--color-primary: #0b6b4d;--color-primary-hover: #08543c;--color-success-bg: #e2f0e8;--color-ink: #15171a;--color-muted: #5b5e66;--color-page-bg: #f6f4ee;--color-border: #e3e0d6;--color-warning-text: #9a4a06;--color-warning-bg: #fceeda;--color-danger-text: #a8261b;--color-danger-bg: #fbe6e3;--font-heading: "Bricolage Grotesque", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius-control: 12px;--radius-card: 16px;--radius-hero: 20px;--touch-target: 44px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--color-page-bg);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-heading);font-weight:700}.field{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;font-weight:600;color:var(--color-ink);text-align:left}.field input,.field select,.field textarea{font-family:var(--font-body);font-size:1rem;font-weight:400;padding:.75rem .875rem;min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-control);background:#fff;color:var(--color-ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--touch-target);padding:.75rem 1.25rem;border-radius:var(--radius-control);font-family:var(--font-body);font-size:1rem;font-weight:600;border:1px solid transparent;cursor:pointer;text-decoration:none}.button:disabled{opacity:.6;cursor:not-allowed}.button--primary{background:var(--color-primary);color:#fff}.button--primary:hover:not(:disabled){background:var(--color-primary-hover)}.button--secondary{background:#fff;color:var(--color-ink);border-color:var(--color-border)}.button--danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.button--block{width:100%}.icon{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.link-button{background:none;border:none;color:var(--color-primary);font-family:var(--font-body);font-size:.9375rem;font-weight:600;cursor:pointer;padding:.5rem}.card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-card);padding:1.25rem}.banner{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:var(--radius-control);font-size:.9375rem}.banner--success{background:var(--color-success-bg);color:var(--color-primary-hover)}.banner--danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.banner--warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge{display:inline-flex;align-items:center;padding:.1875rem .625rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge--success{background:var(--color-success-bg);color:var(--color-primary-hover)}.mono{font-family:var(--font-mono)}.money-row{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem}.money-total{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-heading);font-weight:700;font-size:1.125rem}.page{max-width:480px;margin:0 auto;padding:1.25rem 1.25rem calc(2rem + 72px);display:flex;flex-direction:column;gap:1rem}@media(min-width:860px){.page{max-width:560px;margin:2.5rem auto;padding:2rem 2.5rem 2.5rem;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-hero);box-shadow:0 1px 3px #15171a0a,0 16px 40px #15171a0f}}.page-header{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.page-header h1{flex-grow:1;margin:0;font-size:1.375rem}.back-link{display:flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-control);color:var(--color-ink);text-decoration:none}.stack{display:flex;flex-direction:column;gap:1rem}.muted{color:var(--color-muted)}.hint{color:var(--color-muted);font-weight:400;font-size:.8125rem}.field--color input[type=color]{padding:.25rem;height:var(--touch-target);width:100%;cursor:pointer}
