.section-title[data-v-91085cf5]{margin:0;font-size:1rem}.visit-list[data-v-91085cf5]{margin:0;padding-left:1.1rem}.stripe-mount[data-v-91085cf5]{min-height:48px}:root{--color-page: #f4f5f7;--color-surface: #ffffff;--color-border: #e2e5eb;--color-text: #2a3140;--color-text-muted: #6b7385;--color-text-strong: #121722;--color-accent: #009eb6;--color-danger: #b42318;--color-success: #0f7a45;--radius: 8px;--shadow: 0 1px 2px rgba(18, 23, 34, .06), 0 8px 24px rgba(18, 23, 34, .04);--font: "IBM Plex Sans", "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font);font-size:16px;line-height:1.5;color:var(--color-text);background:var(--color-page);-webkit-font-smoothing:antialiased}#app{min-height:100vh}a{color:var(--color-accent)}button,input,textarea{font:inherit}.shell{max-width:44rem;margin:0 auto;padding:1.5rem 1.25rem 3rem}.shell--wide{max-width:52rem}.brand-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.brand-bar__logo{width:2.5rem;height:2.5rem;object-fit:contain;border-radius:6px;background:var(--color-surface);border:1px solid var(--color-border)}.brand-bar__name{font-size:1.05rem;font-weight:600;color:var(--color-text-strong);letter-spacing:-.01em}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow)}.card__body{padding:1.25rem 1.35rem}.card__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.25rem 1.35rem;border-bottom:1px solid var(--color-border)}.doc-title{margin:0;font-size:1.35rem;font-weight:650;color:var(--color-text-strong);letter-spacing:-.02em}.doc-meta{margin:.35rem 0 0;color:var(--color-text-muted);font-size:.9rem}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:#eef1f5;color:var(--color-text-muted)}.badge--ok{background:#e7f6ee;color:var(--color-success)}.badge--warn{background:#fff4e5;color:#9a5b00}.badge--accent{background:color-mix(in srgb,var(--color-accent) 14%,white);color:var(--color-accent)}.stack{display:flex;flex-direction:column;gap:1rem}.muted{color:var(--color-text-muted)}.center{text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.75rem;padding:.55rem 1.15rem;border:1px solid transparent;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--color-accent);color:#fff}.btn--primary:hover:not(:disabled){filter:brightness(.95)}.btn--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-strong)}.btn--secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-accent) 40%,var(--color-border))}.btn--block{width:100%}.alert{padding:.85rem 1rem;border-radius:var(--radius);border:1px solid var(--color-border);background:#f8f9fb;font-size:.95rem}.alert--error{border-color:color-mix(in srgb,var(--color-danger) 35%,var(--color-border));background:#fef3f2;color:var(--color-danger)}.alert--success{border-color:color-mix(in srgb,var(--color-success) 35%,var(--color-border));background:#edf9f2;color:var(--color-success)}.table-wrap{overflow-x:auto}.doc-table{width:100%;border-collapse:collapse;font-size:.95rem}.doc-table th,.doc-table td{padding:.65rem .5rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}.doc-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.doc-table td.num,.doc-table th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.totals{margin-top:1rem;margin-left:auto;width:min(100%,16rem)}.totals__row{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;font-variant-numeric:tabular-nums}.totals__row--strong{margin-top:.35rem;padding-top:.65rem;border-top:1px solid var(--color-border);font-weight:650;color:var(--color-text-strong)}.notes{margin:0;white-space:pre-wrap;color:var(--color-text-muted);font-size:.95rem}.pay-panel{margin-top:.25rem}.pay-panel__mount{min-height:2rem;margin:.75rem 0 1rem}.loading{padding:3rem 1rem;text-align:center;color:var(--color-text-muted)}.footer-note{margin-top:1.5rem;text-align:center;font-size:.85rem;color:var(--color-text-muted)}@media(max-width:480px){.shell{padding:1rem .85rem 2.5rem}.card__body,.card__header{padding:1rem}}.field{display:flex;flex-direction:column;gap:.35rem}.field__label{font-size:.85rem;font-weight:600;color:var(--color-text-strong)}.field__input{min-height:2.75rem;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.field__input:focus{outline:2px solid color-mix(in srgb,var(--color-accent) 45%,transparent);outline-offset:1px}textarea.field__input{min-height:6rem;resize:vertical}.btn--sm{min-height:2.25rem;padding:.35rem .75rem;font-size:.875rem}.doc-sign-in{margin:1.25rem 0 0;text-align:center;font-size:.9rem}.hub{min-height:100vh;display:grid;grid-template-columns:15rem 1fr;gap:0}.hub__aside{padding:1.25rem 1rem 2rem;border-right:1px solid var(--color-border);background:var(--color-surface);position:sticky;top:0;align-self:start;min-height:100vh}.hub__aside .brand-bar{margin-bottom:.75rem}.hub__greeting{margin:0 0 1rem;font-size:.9rem}.hub__nav{display:flex;flex-direction:column;gap:.25rem}.hub__nav-link{display:block;padding:.55rem .7rem;border-radius:var(--radius);color:var(--color-text);text-decoration:none;font-weight:500}.hub__nav-link:hover{background:var(--color-page)}.hub__nav-link--active{background:color-mix(in srgb,var(--color-accent) 12%,white);color:var(--color-accent);font-weight:600}.hub__logout{margin-top:1.5rem}.hub__main{padding:1.5rem 1.5rem 5rem;max-width:44rem}.hub__bottom{display:none}.hub-page__title{margin:0 0 1rem;font-size:1.45rem;font-weight:650;color:var(--color-text-strong);letter-spacing:-.02em}.hub-page__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.hub-page__header .hub-page__title{margin:0}.hub-card-title{margin:0;font-size:.8rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.hub-stat{margin:0;font-size:1.75rem;font-weight:700;color:var(--color-text-strong);font-variant-numeric:tabular-nums}.hub-section-title{margin:1.5rem 0 .75rem;font-size:1.05rem;font-weight:650;color:var(--color-text-strong)}.hub-back{margin:0 0 .75rem;font-size:.9rem}.hub-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.hub-list__row,.hub-list__static{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;color:inherit}.hub-list__row:hover{border-color:color-mix(in srgb,var(--color-accent) 40%,var(--color-border))}.hub-list__title{font-weight:600;color:var(--color-text-strong)}.hub-list__meta{font-size:.85rem;margin-top:.15rem}.hub-list__right{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;flex-shrink:0}.hub-list__amount{font-weight:650;font-variant-numeric:tabular-nums;color:var(--color-text-strong)}.hub-actions{display:flex;flex-wrap:wrap;gap:.5rem}@media(max-width:720px){.hub{grid-template-columns:1fr}.hub__aside{position:static;min-height:0;border-right:0;border-bottom:1px solid var(--color-border);padding-bottom:1rem}.hub__nav,.hub__logout{display:none}.hub__main{padding:1rem 1rem 5.5rem}.hub__bottom{display:flex;position:fixed;left:0;right:0;bottom:0;gap:.15rem;padding:.4rem .35rem calc(.4rem + env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border);overflow-x:auto;z-index:20}.hub__bottom-link{flex:1 0 auto;text-align:center;padding:.55rem .45rem;font-size:.72rem;font-weight:600;color:var(--color-text-muted);text-decoration:none;border-radius:6px;white-space:nowrap}.hub__bottom-link--active{color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,white)}}
