.tool-selfpay-practice{--sp-gap:16px}.tool-selfpay-practice .sp-app{min-height:420px}.tool-selfpay-practice .sp-muted{color:var(--muted)}.tool-selfpay-practice .sp-small{font-size:.85rem}.tool-selfpay-practice .sp-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tool-selfpay-practice .sp-pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px}.tool-selfpay-practice .sp-empty{color:var(--muted);margin:8px 0;font-style:italic}.tool-selfpay-practice h3{margin:0 0 12px;font-size:1.1rem}.tool-selfpay-practice h4{margin:16px 0 6px;font-size:1rem}.tool-selfpay-practice .sp-gate{max-width:560px;margin:0 auto}.tool-selfpay-practice .sp-gate h2{margin-top:0}.tool-selfpay-practice .sp-facts{padding-left:20px}.tool-selfpay-practice .sp-facts li{margin:6px 0}.tool-selfpay-practice .sp-stack{flex-direction:column;align-items:stretch;gap:10px;display:flex}.tool-selfpay-practice .sp-stack .btn{align-self:flex-start}.tool-selfpay-practice .sp-stack label{flex-direction:column;gap:4px;display:flex}.tool-selfpay-practice .sp-check{align-items:flex-start;gap:8px;flex-direction:row!important;display:flex!important}.tool-selfpay-practice .sp-check input{margin-top:4px}.tool-selfpay-practice details.sp-card summary{cursor:pointer;font-weight:600}.tool-selfpay-practice details.sp-card[open] summary{margin-bottom:12px}.tool-selfpay-practice .sp-shell{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.tool-selfpay-practice .sp-topbar{border-bottom:1px solid var(--border);background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;z-index:5;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px;display:flex;position:sticky;top:0}.tool-selfpay-practice .sp-brand{align-items:center;gap:6px;font-weight:700;display:flex}.tool-selfpay-practice .sp-lock-ico{border:2px solid var(--accent);border-radius:3px;width:12px;height:14px;margin-top:4px;display:inline-block;position:relative}.tool-selfpay-practice .sp-lock-ico:before{content:"";border:2px solid var(--accent);border-bottom:0;border-radius:5px 5px 0 0;width:6px;height:6px;position:absolute;top:-8px;left:1px}.tool-selfpay-practice .sp-topbar nav ul{flex-wrap:wrap;gap:2px;margin:0;padding:0;list-style:none;display:flex}.tool-selfpay-practice .sp-topbar nav a{color:var(--text);border-radius:8px;padding:6px 10px;text-decoration:none;display:block}.tool-selfpay-practice .sp-topbar nav a:hover{background:var(--surface-2)}.tool-selfpay-practice .sp-topbar nav a[aria-current=page]{background:var(--accent-soft);font-weight:600}.tool-selfpay-practice .sp-session{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;font-size:.85rem;display:flex}.tool-selfpay-practice .sp-view{padding:16px}.tool-selfpay-practice .sp-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:12px;display:flex}.tool-selfpay-practice .sp-head h2,.tool-selfpay-practice .sp-head h3{margin:0}.tool-selfpay-practice .sp-title:focus{outline:none}.tool-selfpay-practice .sp-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tool-selfpay-practice .sp-toolbar,.tool-selfpay-practice .sp-inline{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;display:flex}.tool-selfpay-practice .sp-inline label,.tool-selfpay-practice .sp-toolbar label{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.tool-selfpay-practice .btn.sp-sm{padding:3px 9px;font-size:.85rem}.tool-selfpay-practice .sp-row-actions{flex-wrap:wrap;gap:4px;display:flex}.tool-selfpay-practice .sp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 var(--sp-gap);padding:16px}.tool-selfpay-practice .sp-cols{gap:var(--sp-gap);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.tool-selfpay-practice .sp-cols>.sp-card{margin:0 0 var(--sp-gap)}.tool-selfpay-practice .sp-callout{border-radius:var(--radius);background:var(--accent-soft);margin:0 0 var(--sp-gap);padding:10px 14px}.tool-selfpay-practice .sp-callout.sp-warn{background:color-mix(in srgb, var(--warning) 16%, var(--surface));border:1px solid color-mix(in srgb, var(--warning) 45%, transparent)}.tool-selfpay-practice .sp-stats{margin-bottom:var(--sp-gap);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.tool-selfpay-practice .sp-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.tool-selfpay-practice .sp-stat span{color:var(--muted);font-size:.85rem}.tool-selfpay-practice .sp-stat strong{font-variant-numeric:tabular-nums;font-size:1.4rem}.tool-selfpay-practice .sp-stat small{color:var(--muted)}.tool-selfpay-practice .sp-table-wrap{position:relative;overflow-x:auto}.tool-selfpay-practice table{font-size:.95rem}.tool-selfpay-practice th{color:var(--muted);font-size:.85rem;font-weight:600}.tool-selfpay-practice td{vertical-align:top}.tool-selfpay-practice .sp-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tool-selfpay-practice .sp-total th,.tool-selfpay-practice .sp-total td{color:var(--text);border-top:2px solid var(--text);font-weight:700}.tool-selfpay-practice .sp-list{margin:0;padding-left:18px}.tool-selfpay-practice .sp-list li{margin:6px 0}.tool-selfpay-practice .sp-dl{gap:6px;margin:0;display:grid}.tool-selfpay-practice .sp-dl>div{grid-template-columns:minmax(110px,38%) 1fr;gap:8px;display:grid}.tool-selfpay-practice .sp-dl dt{color:var(--muted);font-size:.9rem}.tool-selfpay-practice .sp-dl dd{overflow-wrap:anywhere;margin:0}.tool-selfpay-practice .sp-badge{background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.78rem;display:inline-block}.tool-selfpay-practice .sp-st-paid,.tool-selfpay-practice .sp-st-signed,.tool-selfpay-practice .sp-st-completed,.tool-selfpay-practice .sp-st-active{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, transparent)}.tool-selfpay-practice .sp-st-overdue,.tool-selfpay-practice .sp-st-no-show,.tool-selfpay-practice .sp-st-late-cancel{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.tool-selfpay-practice .sp-st-partial,.tool-selfpay-practice .sp-st-draft,.tool-selfpay-practice .sp-st-waitlist,.tool-selfpay-practice .sp-st-unpaid{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 45%, transparent)}.tool-selfpay-practice .sp-st-void,.tool-selfpay-practice .sp-st-cancelled,.tool-selfpay-practice .sp-st-inactive,.tool-selfpay-practice .sp-st-discharged{color:var(--muted)}.tool-selfpay-practice .sp-week{margin-bottom:var(--sp-gap);grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.tool-selfpay-practice .sp-day{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;min-height:140px;padding:8px;display:flex}.tool-selfpay-practice .sp-day h3{color:var(--muted);margin:0 0 4px;font-size:.85rem}.tool-selfpay-practice .sp-today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tool-selfpay-practice .sp-today h3{color:var(--accent)}.tool-selfpay-practice .sp-chip{text-align:left;font:inherit;border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface-2);color:var(--text);cursor:pointer;overflow-wrap:anywhere;border-radius:6px;padding:4px 6px;font-size:.82rem}.tool-selfpay-practice .sp-chip span{font-weight:600}.tool-selfpay-practice .sp-chip em{color:var(--muted);font-style:normal}.tool-selfpay-practice .sp-chip.sp-st-cancelled{opacity:.7;border-left-color:var(--muted);text-decoration:line-through}.tool-selfpay-practice .sp-chip.sp-st-no-show,.tool-selfpay-practice .sp-chip.sp-st-late-cancel{border-left-color:var(--danger)}.tool-selfpay-practice .sp-chip.sp-st-completed{border-left-color:var(--success)}.tool-selfpay-practice .sp-add{border:1px dashed var(--border);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;align-self:flex-end;margin-top:auto;font-size:1.1rem;line-height:1}.tool-selfpay-practice .sp-add:hover{color:var(--accent);border-color:var(--accent)}@media (width<=760px){.tool-selfpay-practice .sp-week{grid-template-columns:1fr}.tool-selfpay-practice .sp-day{min-height:0}.tool-selfpay-practice .sp-view{padding:12px}}.tool-selfpay-practice .sp-grid2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 14px;display:grid}.tool-selfpay-practice .sp-field{flex-direction:column;gap:4px;margin:0 0 10px;display:flex}.tool-selfpay-practice .sp-grid2 .sp-field{margin:0}.tool-selfpay-practice .sp-full{grid-column:1/-1}.tool-selfpay-practice textarea{resize:vertical;width:100%;line-height:1.45}.tool-selfpay-practice .sp-note-form textarea{min-height:6em}.tool-selfpay-practice .sp-error{color:var(--danger);min-height:1.2em;margin:8px 0}.tool-selfpay-practice .sp-logo{width:auto;max-height:64px;display:block}.tool-selfpay-practice dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(680px,100vw - 24px);max-height:calc(100vh - 32px);color:var(--text);padding:20px;box-shadow:0 10px 40px #0000004d}.tool-selfpay-practice dialog::backdrop{background:#00000073}.tool-selfpay-practice dialog h2{margin:0 0 12px;font-size:1.25rem}.tool-selfpay-practice .sp-dlg-intro{color:var(--muted);margin-bottom:12px}.tool-selfpay-practice .sp-doc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:860px;margin:0 auto var(--sp-gap);padding:28px}.tool-selfpay-practice .sp-letterhead{border-bottom:2px solid var(--text);align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:12px;display:flex}.tool-selfpay-practice .sp-doc-title{margin:0 0 8px;font-size:1.3rem}.tool-selfpay-practice .sp-doc-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:16px;display:grid}.tool-selfpay-practice .sp-doc-meta{gap:2px;margin-bottom:12px;font-size:.95rem;display:grid}.tool-selfpay-practice .sp-signature{border-top:1px solid var(--border);margin-top:20px;padding-top:10px}.tool-selfpay-practice .sp-addendum{border-left:3px solid var(--border);margin:10px 0;padding-left:12px}.tool-selfpay-practice .sp-sigline{margin-top:32px}.tool-selfpay-practice .sp-sign-grid{gap:4px;display:grid}.tool-selfpay-practice .sp-dx{font-family:var(--mono);margin-right:16px;display:inline-block}.tool-selfpay-practice .sp-formfield{grid-template-columns:minmax(160px,40%) 1fr;align-items:end;gap:10px;margin:6px 0;display:grid}.tool-selfpay-practice .sp-fl{font-size:.92rem}.tool-selfpay-practice .sp-blank{border-bottom:1px solid var(--text);min-height:1.6em;display:block}.tool-selfpay-practice .sp-lines-2{min-height:3.2em}.tool-selfpay-practice .sp-lines-3{min-height:4.8em}.tool-selfpay-practice .sp-lines-4{min-height:6.4em}.tool-selfpay-practice .sp-blank.sp-lines-2,.tool-selfpay-practice .sp-blank.sp-lines-3,.tool-selfpay-practice .sp-blank.sp-lines-4{background:repeating-linear-gradient(to bottom, transparent 0, transparent calc(1.6em - 1px), var(--border) calc(1.6em - 1px), var(--border) 1.6em)}@media (width<=560px){.tool-selfpay-practice .sp-doc{padding:16px}.tool-selfpay-practice .sp-formfield{grid-template-columns:1fr}}.tool-selfpay-practice .sp-toast{border-radius:var(--radius);background:var(--text);max-width:min(560px,100vw - 32px);color:var(--bg);box-shadow:var(--shadow);opacity:0;pointer-events:none;z-index:1000;padding:10px 16px;transition:opacity .2s,transform .2s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)translateY(20px)}.tool-selfpay-practice .sp-toast.show{opacity:1;transform:translate(-50%)}.tool-selfpay-practice .sp-toast.error{background:var(--danger);color:#fff}@media (prefers-reduced-motion:reduce){.tool-selfpay-practice .sp-toast{transition:none}}.tool-selfpay-practice .sp-preview ul{columns:2 240px;padding-left:20px}@media print{.tool-selfpay-practice .sp-shell{background:#fff;border:0}.tool-selfpay-practice .sp-view{padding:0}.tool-selfpay-practice .sp-head{display:none}.tool-selfpay-practice .sp-doc{color:#000;background:#fff;border:0;max-width:none;padding:0}.tool-selfpay-practice .sp-card{break-inside:avoid;border:0;padding:0}.tool-selfpay-practice .sp-toast,.tool-selfpay-practice dialog{display:none!important}.tool-selfpay-practice .sp-letterhead,.tool-selfpay-practice .sp-blank{border-bottom-color:#000}.tool-selfpay-practice a{color:#000}.tool-selfpay-practice .sp-badge{border:0;padding:0}}
