.sk-field{display:flex;flex-direction:column;gap:var(--space-2)}
.sk-field__label{font:var(--type-label);color:var(--text-strong);display:flex;align-items:center;gap:var(--space-2)}
.sk-field__req{color:var(--pink-600);font-weight:var(--fw-black)}
.sk-field__hint{font:var(--type-body-sm);color:var(--text-muted)}
.sk-field__error{font:var(--type-body-sm);font-weight:var(--fw-bold);color:var(--status-danger);display:flex;align-items:center;gap:var(--space-1)}

/* ── Input / Textarea ───────────────────────────────────────── */
.sk-input{width:100%;height:var(--control-h-md);padding:0 var(--space-4);font:var(--type-body-md);color:var(--text-strong);background:var(--grey-0);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-input);transition:box-shadow var(--dur-fast) var(--ease-snap),border-color var(--dur-fast) linear}
.sk-input::placeholder{color:var(--text-disabled)}
.sk-input:hover:not(:disabled){box-shadow:var(--shadow-hard-xs)}
.sk-input:focus{outline:none;border-color:var(--blue-700);box-shadow:var(--focus-shadow)}
.sk-input--sm{height:var(--control-h-sm);font:var(--type-body-sm);padding:0 var(--space-3)}
.sk-input--lg{height:var(--control-h-lg);font:var(--type-body-lg);padding:0 var(--space-5)}
.sk-input--textarea{height:auto;min-height:112px;padding:var(--space-3) var(--space-4);line-height:var(--lh-normal);resize:vertical}
.sk-input--invalid{border-color:var(--status-danger)}
.sk-input--invalid:focus{box-shadow:0 0 0 4px var(--red-100)}
.sk-input:disabled{background:var(--grey-100);border-color:var(--grey-300);color:var(--text-disabled);cursor:not-allowed}
.sk-input-wrap{position:relative;display:flex;align-items:center}
.sk-input-wrap .sk-icon{position:absolute;left:var(--space-4);color:var(--text-muted);pointer-events:none}
.sk-input-wrap--icon .sk-input{padding-left:var(--space-10)}

/* ── Select ─────────────────────────────────────────────────── */
.sk-select-wrap{position:relative;display:block}
.sk-select{width:100%;height:var(--control-h-md);padding:0 var(--space-10) 0 var(--space-4);font:var(--type-body-md);color:var(--text-strong);background:var(--grey-0);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-input);appearance:none;cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-snap)}
.sk-select:hover:not(:disabled){box-shadow:var(--shadow-hard-xs)}
.sk-select:focus{outline:none;border-color:var(--blue-700);box-shadow:var(--focus-shadow)}
.sk-select--sm{height:var(--control-h-sm);font:var(--type-body-sm)}
.sk-select--lg{height:var(--control-h-lg);font:var(--type-body-lg)}
.sk-select:disabled{background:var(--grey-100);border-color:var(--grey-300);color:var(--text-disabled);cursor:not-allowed}
.sk-select-wrap__caret{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--ink);pointer-events:none}

/* ── Checkbox ───────────────────────────────────────────────── */
.sk-check{display:inline-flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;font:var(--type-body-md);color:var(--text-body);min-height:var(--hit-min);padding:var(--space-3) 0}
.sk-check input{position:absolute;opacity:0;width:0;height:0}
.sk-check__box{flex:none;width:24px;height:24px;border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-xs);background:var(--grey-0);display:grid;place-items:center;transition:var(--transition-control);margin-top:-1px}
.sk-check:hover .sk-check__box{box-shadow:var(--shadow-hard-xs)}
.sk-check__box svg{width:16px;height:16px;stroke:var(--grey-0);stroke-width:3.5;fill:none;opacity:0;transform:scale(.5);transition:opacity var(--dur-fast) linear,transform var(--dur-fast) var(--ease-overshoot)}
.sk-check input:checked+.sk-check__box{background:var(--blue-700);border-color:var(--blue-700)}
.sk-check input:checked+.sk-check__box svg{opacity:1;transform:scale(1)}
.sk-check input:indeterminate+.sk-check__box{background:var(--blue-700);border-color:var(--blue-700)}
.sk-check input:focus-visible+.sk-check__box{box-shadow:var(--focus-shadow)}
.sk-check__dash{width:12px;height:3px;background:var(--grey-0);border-radius:2px;display:none}
.sk-check input:indeterminate~.sk-check__box .sk-check__dash,.sk-check input:indeterminate+.sk-check__box .sk-check__dash{display:block}
.sk-check--disabled{color:var(--text-disabled);cursor:not-allowed}
.sk-check--disabled .sk-check__box{background:var(--grey-100);border-color:var(--grey-300);box-shadow:none}

/* ── Radio ──────────────────────────────────────────────────── */
.sk-radio{display:inline-flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;font:var(--type-body-md);color:var(--text-body);min-height:var(--hit-min);padding:var(--space-3) 0}
.sk-radio input{position:absolute;opacity:0;width:0;height:0}
.sk-radio__dot{flex:none;width:24px;height:24px;border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-circle);background:var(--grey-0);display:grid;place-items:center;transition:var(--transition-control)}
.sk-radio:hover .sk-radio__dot{box-shadow:var(--shadow-hard-xs)}
.sk-radio__dot::after{content:"";width:12px;height:12px;border-radius:var(--radius-circle);background:var(--grey-0);transform:scale(0);transition:transform var(--dur-fast) var(--ease-overshoot)}
.sk-radio input:checked+.sk-radio__dot{background:var(--pink-500);border-color:var(--pink-500)}
.sk-radio input:checked+.sk-radio__dot::after{transform:scale(1)}
.sk-radio input:focus-visible+.sk-radio__dot{box-shadow:var(--focus-shadow)}
.sk-radio--disabled{color:var(--text-disabled);cursor:not-allowed}
.sk-radio--disabled .sk-radio__dot{background:var(--grey-100);border-color:var(--grey-300);box-shadow:none}

/* ── Switch ─────────────────────────────────────────────────── */
.sk-switch{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;font:var(--type-body-md);color:var(--text-body);min-height:var(--hit-min)}
.sk-switch input{position:absolute;opacity:0;width:0;height:0}
.sk-switch__track{flex:none;width:52px;height:30px;border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-pill);background:var(--grey-200);position:relative;transition:background-color var(--dur-base) var(--ease-snap),box-shadow var(--dur-fast) var(--ease-snap)}
.sk-switch__track::after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:var(--radius-circle);background:var(--grey-0);border:var(--border-w) solid var(--border-strong);transition:transform var(--dur-base) var(--ease-overshoot)}
.sk-switch input:checked+.sk-switch__track{background:var(--cyan-400)}
.sk-switch input:checked+.sk-switch__track::after{transform:translateX(22px)}
.sk-switch input:focus-visible+.sk-switch__track{box-shadow:var(--focus-shadow)}
.sk-switch--disabled{color:var(--text-disabled);cursor:not-allowed}
.sk-switch--disabled .sk-switch__track{background:var(--grey-100);border-color:var(--grey-300)}
