.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;transition:background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),transform var(--duration-fast) var(--ease-standard);white-space:nowrap}
.btn:active{transform:scale(0.97)}
.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.btn-sm{height:36px;padding:0 16px;font-size:var(--text-body-s)}
.btn-md{height:44px;padding:0 22px;font-size:var(--text-body)}
.btn-lg{height:56px;padding:0 32px;font-size:var(--text-body-l)}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-primary:active{background:var(--accent-active)}
.btn-secondary{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn-secondary:hover{background:var(--accent-tint)}
.btn-ghost-dark{background:transparent;color:var(--text-primary-dark);border-color:transparent}
.btn-ghost-dark:hover{background:rgba(255,255,255,0.08)}
.btn-ghost-light{background:transparent;color:var(--text-primary-light);border-color:transparent}
.btn-ghost-light:hover{background:rgba(0,0,0,0.06)}
.btn-dark{background:var(--color-black);color:var(--color-white)}
.btn-dark:hover{background:var(--color-near-black)}
.btn:disabled{opacity:0.4;cursor:not-allowed;transform:none}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-pill);border:1px solid var(--border-dark);background:transparent;color:inherit;cursor:pointer;transition:background var(--duration-base) var(--ease-standard)}
.icon-btn:hover{background:rgba(255,255,255,0.08)}
.icon-btn-light{border-color:var(--border-light)}
.icon-btn-light:hover{background:rgba(0,0,0,0.05)}
.field-label{font-family:var(--font-body);font-size:var(--text-body-s);font-weight:500;color:var(--text-secondary-light);margin-bottom:6px;display:block}
.input{width:100%;height:48px;padding:0 16px;font-family:var(--font-body);font-size:var(--text-body);color:var(--text-primary-light);background:var(--bg-light-raised);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}
.input::placeholder{color:var(--text-muted-light)}
.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--color-orange-100)}
.input:disabled{opacity:0.5;cursor:not-allowed}
.input-dark{background:var(--bg-dark-raised);border-color:var(--border-dark);color:var(--text-primary-dark)}
.input-dark::placeholder{color:var(--text-muted-dark)}
.select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236b6255' stroke-width='2'><path d='M4 6l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.checkbox-row,.radio-row{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:var(--text-body-s);color:var(--text-primary-light);cursor:pointer}
.checkbox-box{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border-light);background:var(--bg-light-raised);display:inline-flex;align-items:center;justify-content:center;transition:background var(--duration-fast),border-color var(--duration-fast)}
.checkbox-box.checked{background:var(--accent);border-color:var(--accent)}
.radio-dot{width:20px;height:20px;border-radius:999px;border:1.5px solid var(--border-light);background:var(--bg-light-raised);display:inline-flex;align-items:center;justify-content:center}
.radio-dot.checked{border-color:var(--accent)}
.radio-dot.checked::after{content:"";width:10px;height:10px;border-radius:999px;background:var(--accent)}
.switch{width:44px;height:26px;border-radius:999px;background:var(--border-light);position:relative;cursor:pointer;transition:background var(--duration-base) var(--ease-standard);border:none;flex-shrink:0}
.switch.on{background:var(--accent)}
.switch-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:999px;background:var(--color-white);transition:transform var(--duration-base) var(--ease-standard);box-shadow:var(--shadow-sm)}
.switch.on .switch-knob{transform:translateX(18px)}
.card{background:var(--surface-card-light);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-6)}
.card-dark{background:var(--surface-card-dark);border-color:var(--border-dark);color:var(--text-primary-dark)}
.card-elevated{box-shadow:var(--shadow-md);border-color:transparent}
.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-family:var(--font-body);font-size:var(--text-caption);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}
.badge-orange{background:var(--color-orange-100);color:var(--color-orange-700)}
.badge-dark{background:var(--color-black);color:var(--color-white)}
.badge-outline{background:transparent;border:1px solid var(--border-light);color:var(--text-secondary-light)}
.tag{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-body-s);font-weight:500;background:var(--bg-light-sunken);color:var(--text-primary-light)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-light)}
.tab{font-family:var(--font-body);font-size:var(--text-body-s);font-weight:600;color:var(--text-muted-light);padding:0 4px 14px;border:none;background:none;cursor:pointer;position:relative;transition:color var(--duration-base)}
.tab.active{color:var(--text-primary-light)}
.tab.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}
.dialog-overlay{position:fixed;inset:0;background:rgba(10,10,10,0.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}
.dialog{width:420px;max-width:90vw;background:var(--surface-card-light);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-lg)}
.toast{display:flex;align-items:center;gap:12px;background:var(--color-black);color:var(--color-white);border-radius:var(--radius-md);padding:14px 18px;box-shadow:var(--shadow-lg);font-family:var(--font-body);font-size:var(--text-body-s)}
.tooltip{background:var(--color-black);color:var(--color-white);font-family:var(--font-body);font-size:var(--text-caption);padding:6px 10px;border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}
