/* Shared control chrome follows the workspace's theme tokens. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.rd-native[hidden]{display:none!important}
.rd-ui{position:relative;max-width:100%;min-width:0}
.rd-popover{position:fixed;z-index:500;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 36px #0002;animation:rd-appear .12s ease}
.rd-popover button,.rd-popover input{font:inherit}
.rd-popover button{cursor:pointer}
.rd-ui button:focus-visible,.rd-popover button:focus-visible,.rd-popover input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.rd-ui button:disabled,.rd-popover button:disabled{cursor:not-allowed;opacity:.4}
.rd-field-error{font-size:11px!important;line-height:1.6!important;font-weight:500;color:var(--text)!important;margin:5px 0 0!important;padding-left:9px;border-left:2px solid var(--text)}
[aria-invalid="true"]:not(.rd-native){border-color:var(--text)!important;box-shadow:0 0 0 1px var(--text)}
input[type="checkbox"],input[type="radio"]{appearance:none!important;-webkit-appearance:none!important;position:relative;display:inline-grid!important;place-content:center;flex:0 0 16px;width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;margin:0 7px 0 0;vertical-align:middle;border:1px solid var(--border)!important;border-radius:4px!important;background:var(--surface)!important;cursor:pointer;transition:background .12s,border-color .12s}
input[type="radio"]{border-radius:50%!important}
input[type="checkbox"]:checked,input[type="radio"]:checked,input[type="checkbox"]:indeterminate{border-color:var(--accent)!important;background:var(--accent)!important}
input[type="checkbox"]:checked:after{content:'';width:7px;height:4px;border-left:1.5px solid var(--accent-text);border-bottom:1.5px solid var(--accent-text);transform:translateY(-1px) rotate(-45deg)}
input[type="checkbox"]:indeterminate:after{content:'';width:7px;border-bottom:1.5px solid var(--accent-text)}
input[type="radio"]:checked:after{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent-text)}
input[type="checkbox"]:focus-visible,input[type="radio"]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
input[type="checkbox"]:disabled,input[type="radio"]:disabled{opacity:.4;cursor:not-allowed}
input[type="number"]{appearance:textfield;-moz-appearance:textfield}
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
.rd-number input{padding-right:65px!important;width:100%}
.rd-number-actions{position:absolute;inset:0 5px 0 auto;display:flex;align-items:center;gap:2px}
.rd-number-actions button{height:25px;width:25px;border:0;border-radius:5px;background:var(--surface-2);color:var(--muted-strong);font-size:15px;line-height:1;display:grid;place-items:center}
.rd-number-actions button:hover:not(:disabled){color:var(--text);background:var(--surface-3)}
.rd-search{display:flex;align-items:center;position:relative;width:100%;min-width:0}
.rd-search>input[type="search"]{display:block;width:100%;min-width:0;padding-right:34px!important}
.rd-search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:25px;height:25px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}
.rd-search-clear[hidden]{display:none!important}
.rd-search-clear:hover:not(:disabled){background:var(--surface-2);color:var(--text)}
.rd-search-clear svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.search-field>.rd-search,.search-input>.rd-search{flex:1;width:auto}
.search-field>.rd-search>.input{border:0;outline:0;box-shadow:none;background:transparent;padding:9px 34px 9px 0;width:100%;font-size:10px;min-height:34px}
.rd-file{margin-bottom:17px}.rd-file-button{width:100%;min-height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px;border:1px dashed var(--border);border-radius:9px;background:var(--surface-2);color:var(--text);font-size:11px;overflow-wrap:anywhere}
.rd-file-button:before{content:'↑';width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--border);border-radius:6px;font-size:17px;margin-bottom:3px}
.rd-file-button small{font-size:10px;color:var(--muted)}.rd-file-button:hover,.rd-file.is-dragging .rd-file-button{border-color:var(--accent);background:var(--accent-soft)}
.rd-tooltip{position:fixed;z-index:800;pointer-events:none;max-width:min(290px,calc(100vw - 24px));padding:7px 10px;border-radius:6px;background:var(--text);color:var(--surface);font-size:10px;line-height:1.6;box-shadow:0 4px 18px #0002;overflow-wrap:anywhere;animation:rd-appear .1s ease}
/* Hide scrollbar chrome without changing overflow or scroll interaction. */
*{scrollbar-width:none;-ms-overflow-style:none}
*::-webkit-scrollbar{display:none;width:0;height:0}
@keyframes rd-appear{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.rd-popover,.rd-tooltip{animation:none}}

/* Keep touch layouts at their intended scale, including nested scroll areas.
   Zero specificity preserves picker surfaces that need touch-action:none. */
@media(max-width:760px),(any-pointer:coarse){
 :where(html,body,body *){touch-action:pan-x pan-y}
 /* iOS focuses small text fields by zooming the page. Include fields created
    inside popovers and the login form, not just the standard .input class. */
 input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,select,[contenteditable="true"]{font-size:16px!important}
 input::placeholder,textarea::placeholder{font-size:inherit!important}
}
