.muted { @apply m-0 mb-4 text-center leading-relaxed text-muted; } .field { @apply mb-3.5 block; } .field > span { @apply mb-2 mt-2.5 block text-sm font-semibold; } .input { @apply h-12 w-full rounded-xl border px-3.5 py-2.5 text-base text-ink outline-none transition; background: var(--panel); border-color: rgba(74, 103, 150, 0.34); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82); } select.input { @apply pr-[42px]; appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: linear-gradient(45deg, transparent 50%, #365fa8 50%), linear-gradient(135deg, #365fa8 50%, transparent 50%); background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; } input[type='file'].input { @apply h-auto min-h-12 px-2.5 py-2 text-sm leading-[1.4]; } input[type='file'].input::file-selector-button { @apply mr-2.5 h-8 cursor-pointer rounded-full border px-3 font-bold; background: #eef4ff; border-color: #9db8ea; color: #1f4ea0; } input[type='file'].input::file-selector-button:hover { background: #dfeaff; border-color: #2f5fd8; } .textarea { @apply h-auto min-h-28 resize-y; } .input:focus { border-color: rgba(43, 102, 217, 0.6); background-color: #fbfdff; box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.10), 0 8px 18px rgba(37, 99, 235, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.95); } .input-readonly { @apply bg-slate-100 text-slate-600; } .input:disabled { @apply cursor-not-allowed border-slate-300 bg-slate-200 text-slate-400; } .password-wrap { @apply relative; } .password-wrap .input { @apply pr-11; } .password-toggle { @apply absolute right-2 top-1/2 grid cursor-pointer place-items-center border-0 bg-transparent text-blue-700 transition; transform: translateY(-50%); } .eye-btn { @apply absolute bottom-2.5 right-2.5 grid h-8 w-8 cursor-pointer place-items-center border-0 bg-transparent text-slate-700 transition; } .password-toggle:hover, .eye-btn:hover { color: var(--primary); transform: translateY(-1px) scale(1.04); } .btn { @apply inline-flex h-9 cursor-pointer items-center justify-center gap-1.5 rounded-full border border-transparent px-4 text-[15px] font-bold no-underline transition; } .topbar-actions .btn, .user-chip, .side-link, .mobile-tab { @apply relative overflow-hidden; } .topbar-actions .btn::before, .user-chip::before, .side-link::before, .mobile-tab::before { content: ''; @apply absolute left-1/2 top-1/2 h-[110px] w-[110px] rounded-full opacity-0; background: radial-gradient(circle, rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0.08) 42%, transparent 72%); transform: translate(-50%, -50%) scale(0.68); pointer-events: none; transition: opacity var(--dur-fast) var(--ease-smooth), transform var(--dur-medium) var(--ease-out-soft); } .topbar-actions .btn:hover::before, .user-chip:hover::before, .side-link:hover::before, .mobile-tab:hover::before { opacity: 0; } .btn:hover:not(:disabled) { transform: translateY(-1px); } .btn:active:not(:disabled) { transform: translateY(0) scale(0.985); } .btn-icon { @apply shrink-0; } .btn.full { @apply my-2.5 h-12 w-full text-lg; } .btn-primary { @apply border-blue-700/30 bg-blue-600 text-white; box-shadow: 0 10px 22px rgba(37, 99, 235, 0.20); } .btn-primary:hover { @apply bg-blue-700; box-shadow: 0 12px 26px rgba(37, 99, 235, 0.22); } .btn-secondary { @apply bg-panel text-brand-strong; border-color: rgba(37, 99, 235, 0.20); box-shadow: 0 6px 14px rgba(13, 31, 68, 0.04); } .btn-secondary:hover { background: #f4f8ff; border-color: rgba(37, 99, 235, 0.34); } .btn-danger { @apply bg-white/80 text-danger; border-color: rgba(217, 45, 87, 0.28); } .btn-danger:hover { background: rgba(255, 241, 242, 0.96); border-color: rgba(217, 45, 87, 0.38); } .btn:disabled { @apply cursor-not-allowed border-slate-300 bg-slate-200 text-slate-400; } .or { @apply my-2.5 text-center text-slate-700; } .field-help { @apply mt-2 text-[13px] leading-normal text-slate-500; } .check-line-compact { @apply mb-0; } .auth-support-row { @apply -mt-0.5 mb-3 flex items-center justify-between gap-2.5; } .auth-link-btn { @apply cursor-pointer border-0 bg-transparent p-0 text-[13px] font-bold text-blue-700 transition; } .auth-link-btn:hover { text-decoration: underline; transform: translateX(2px); } .auth-link-btn:disabled { @apply cursor-not-allowed text-slate-400 no-underline; }