/* Standalone practice form; the host supplies its scrolling phone canvas. */
.practice-editor{--editor-purple:#7d63c8;--editor-ink:#51465f;--editor-muted:#8b7d9c;--editor-line:#eee7f7;--editor-surface:#f5f2fc;margin:0;min-width:0;color:var(--editor-ink);font-family:var(--font,inherit);font-weight:400;background:var(--editor-surface)}
.practice-editor,.practice-editor *{box-sizing:border-box}
.practice-editor button,.practice-editor input,.practice-editor textarea{font:inherit}
.practice-editor button{cursor:pointer;-webkit-tap-highlight-color:transparent}
.practice-editor-nav{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:8px;min-height:52px;padding:0 16px;background:var(--editor-surface)}
.practice-editor-nav h2{margin:0;text-align:center;color:var(--editor-purple);font-size:18px;line-height:1.4;font-weight:400;white-space:nowrap}
.practice-editor-nav button{min-width:0;min-height:44px;padding:0;border:0;background:transparent;color:var(--editor-purple);font-size:15px}
.practice-editor-nav .practice-editor-cancel{text-align:left}
.practice-editor-nav .practice-editor-save{text-align:right}
.practice-editor-body{padding:8px 16px 24px;display:flex;flex-direction:column;gap:12px}
.practice-editor-card{min-width:0;margin:0;padding:15px 16px;background:#fff;border-radius:16px}
.practice-editor-label{display:block;margin:0;color:var(--editor-ink);font-size:14px;line-height:1.5;font-weight:400}
.practice-editor-identity textarea{display:block;width:100%;min-height:64px;max-height:180px;resize:vertical;margin:8px 0 0;padding:9px 11px;border:1px solid #e8e0f1;border-radius:9px;background:#fcfbfe;color:var(--editor-ink);font-size:17px;line-height:1.5;overflow-wrap:anywhere}
.practice-editor textarea::placeholder{color:#aa9cb9;opacity:1}
.practice-editor-content-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.practice-editor-content-actions button{display:flex;justify-content:space-between;align-items:center;gap:3px;min-width:0;min-height:44px;padding:0 9px;border:1px solid var(--editor-line);border-radius:9px;background:#faf8fe;color:#8266b3;font-size:14px}
.practice-editor-content-actions button>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.practice-editor-content-actions i{width:4px;height:4px;border-radius:50%;background:#9674c7}
.practice-editor-content-actions svg{width:13px;height:15px;flex-shrink:0;color:#a08aba}
.practice-editor-field-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-width:0}
.practice-editor-hint{color:var(--editor-muted);font-size:12px;line-height:1.5;white-space:nowrap}
.practice-editor-input{display:flex;align-items:center;gap:6px;min-width:0;min-height:46px;margin-top:6px;padding:0 11px;border:1px solid #e8e0f1;border-radius:9px;background:#fcfbfe}
.practice-editor-input input{display:block;width:100%;min-width:0;min-height:44px;padding:5px 0;border:0;background:transparent;outline:0;color:#7859b0;font-size:20px;line-height:1.4;font-variant-numeric:tabular-nums;letter-spacing:0}
.practice-editor-input-large input{font-size:25px}
.practice-editor-unit{flex-shrink:0;color:var(--editor-muted);font-size:12px;line-height:1.5}
.practice-editor-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:7px}
.practice-editor-presets button{min-width:0;min-height:44px;padding:2px;border:0;border-radius:8px;background:#f2ecfa;color:#8464b9;font-size:13px;line-height:1.4;white-space:nowrap}
.practice-editor-divider{height:1px;margin:14px 0;background:var(--editor-line)}
.practice-editor-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.practice-editor-days>div{min-width:0}
.practice-editor-days .practice-editor-label{font-size:13px}
.practice-editor-days input{font-size:18px}
.practice-editor-date-field{margin-top:14px}
.practice-editor-date{display:flex;align-items:center;gap:8px;min-width:0;min-height:46px;margin-top:6px;padding:0 10px;border:1px solid #e8e0f1;border-radius:9px;background:#fcfbfe;color:#8e75af}
.practice-editor-date svg{width:18px;height:18px;flex:0 0 18px}
.practice-editor-date input{display:block;flex:1;min-width:0;width:100%;max-width:100%;min-height:44px;padding:7px 0;border:0;background:transparent;outline:0;color:#725893;font-size:16px;font-variant-numeric:tabular-nums}
.practice-editor-dedication{min-width:0;margin:0;padding:0;border:0}
.practice-editor-dedication legend{float:none;padding:0}
.practice-editor-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.practice-editor-mode{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:44px;padding:7px 5px;border:1px solid #e5ddec;border-radius:9px;background:#fff;color:#8d7b9f;cursor:pointer;font-size:14px;line-height:1.5}
.practice-editor-mode input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.practice-editor-radio{display:grid;place-items:center;width:15px;height:15px;flex:0 0 15px;border:1px solid #c3b5d4;border-radius:50%;background:#fff}
.practice-editor-radio:after{content:"";width:7px;height:7px;border-radius:50%;background:transparent}
.practice-editor-mode:has(input:checked){background:#f2ebfb;border-color:#b7a0d6;color:#7b59b1}
.practice-editor-mode input:checked+.practice-editor-radio{border-color:#8e6cc0}
.practice-editor-mode input:checked+.practice-editor-radio:after{background:#8e6cc0}
.practice-editor-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;margin-top:13px;padding-top:11px;border-top:1px solid var(--editor-line);font-size:14px;line-height:1.5;cursor:pointer}
.practice-editor-toggle>span:first-child{min-width:0}
.practice-editor-switch{position:relative;display:grid;place-items:center;width:46px;min-width:46px;height:44px;flex:0 0 46px}
.practice-editor-switch input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.practice-editor-switch-track{position:relative;width:44px;height:26px;border-radius:14px;background:#ddd5e7;transition:background .16s ease}
.practice-editor-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 3px #58436c22;transition:transform .16s ease}
.practice-editor-switch input:checked+.practice-editor-switch-track{background:#9172c7}
.practice-editor-switch input:checked+.practice-editor-switch-track:after{transform:translateX(18px)}
.practice-editor-error{margin:5px 0 0;color:#b34655;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.practice-editor-form-error{margin:0;padding:11px 13px;border-radius:10px;background:#fff0f2;color:#a74553;font-size:13px;line-height:1.5}
.practice-editor .has-error,.practice-editor textarea[aria-invalid="true"]{border-color:#cf8290}
.practice-editor-input:focus-within,.practice-editor-date:focus-within,.practice-editor textarea:focus{border-color:#a082c8;outline:2px solid #e9e0f5;outline-offset:1px}
.practice-editor button:focus-visible,.practice-editor-mode:has(input:focus-visible),.practice-editor-switch:has(input:focus-visible){outline:2px solid #a082c8;outline-offset:3px}
.practice-editor button:active{background:#ede4f8}
@media(prefers-reduced-motion:reduce){.practice-editor-switch-track,.practice-editor-switch-track:after{transition:none}}

.practice-editor-input.is-readonly,.practice-editor textarea[readonly]{background:#f7f4fa;border-color:#eee8f4;color:#786a86}
.practice-editor-input.is-readonly input{color:#786a86;cursor:default}
.practice-editor textarea[readonly]{resize:none;cursor:default}
.practice-editor-input.is-readonly:focus-within{outline:none;border-color:#e5ddeb}
